菊池修治(185)58この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。こんにちは、菊池です。Managerを触ってます。CLIを使って、その構成要素であるバージョン、ステージラベルを色々と操作しながら理解してみたいと思います。シークレットの構成シークレットを構成する要素は、公式ドキュメントに記載の以下の図がわかりやすいでしょう。Guideシークレットはメタデータと、シークレットの値を格納する各バージョンで構成されます。最終利用日タグバージョンIDステージングラベルシークレットの値1つのシークレットには、複数のバージョンを持つことでシークレットの値を使い分けることができます。そのバージョンを管理するための要素が、ステージングラベルです。ステージングラベルに付与するラベルによって、シークレットの複数バージョンを管理します。ステージングラベル:AWSCURRENTデフォルトのバージョンに付与されるラベルです。このラベルが付与されたバージョンのシークレットの値を、通常は利用します。明示的にステージングラベルを指定しなければ、このバージョンが取得されます。ステージングラベル:AWSPREVIOUS1つ前のバージョンに付与されるラベルです。新しいバージョンにAWSCURRENTを付与すると、それまでAWSCURRENTが付与されていたバージョンにAWSPREVIOUSが付与されます。この他にも、任意の文字列のラベルをバージョンに付与することができます。1つのバージョンには最大で20個までのラベルが付与可能です。同時に複数のバージョンに同じラベルを付与することはできません。AWSCURRENTをもつラベルは1つのバージョンのみで、他のバージョンに付与する場合には、それまで付与されていたバージョンからは削除する必要があります。シークレットのバージョンを操作してみる実際にシークレットのバージョンを操作して、その挙動を確認していきます。単純なシークレットをコンソールから登録しました。CLIからシークレットを取得してみます。get-secret-valueコマンドでシークレットの値が取得できます。"arn:aws:secretsmanager:ap-northeast-1:xxxxxxxxxxxx:secret:test-1O5wUG"}{password:version1}が取得できました。ステージングラベル(VersionStages)にAWSCURRENTが設定されています。次に、コンソールからシークレットをversion2に更新します。これで再度取得してみると、{password:version2}が取得できます。"arn:aws:secretsmanager:ap-northeast-1:xxxxxxxxxxxx:secret:test-1O5wUG"}ここで、保存されたバージョンをlist-secret-version-idsコマンドで確認してます。"56301bf3-21f9-4ce5-a42b-dd9667d63151"には、AWSPREVIOUSのラベルが保存されていることがわかります。1つ前のバージョンには、AWSPREVIOUSが付与されて保存されるということです。ラベルを指定せずに新しいバージョンを作成するとAWSCURRENTが指定される続いて、CLIからput-secret-valueで新しいバージョンを作成します。ラベルは指定していませんが、レスポンスにAWSCURRENTのラベルが付与されています。"arn:aws:secretsmanager:ap-northeast-1:xxxxxxxxxxxx:secret:test-1O5wUG"}シークレットの値を取得しても、新しいバージョンが取得できます。"arn:aws:secretsmanager:ap-northeast-1:xxxxxxxxxxxx:secret:test-1O5wUG"}ラベルが空になったバージョンは削除される保存されているバージョンを取得すると、AWSCURRENT、AWSPREVIOUSが1つずつ進んでいます。一方で、1つ前にAWSPREVIOUSが付与されていたバージョン({password:version1})は削除されました。]}ラベルを指定してバージョンを作成するとAWSCURRENTは付与されない続いて、明示的にラベルを指定してバージョンを作成してみます。"NEXT"を付与して作成します。"arn:aws:secretsmanager:ap-northeast-1:xxxxxxxxxxxx:secret:test-1O5wUG"}この場合、シークレットの値を取得しても、AWSCURRENTは変わらずに以前のバージョンが取得できます。"NEXT"を指定して取得すれば、作成したバージョンを取得できます。"arn:aws:secretsmanager:ap-northeast-1:xxxxxxxxxxxx:secret:test-1O5wUG"}バージョンのリストを取得すると、AWSCURRENT、AWSPREVIOUSは変わらないまま、新しいバージョンが保存されたことがわかります。]}ラベルAWSCURRENTを変更するとAWSPREVIOUSも変更されるAWSCURRENTを新しく保存したバージョンに付与してみます。update-secret-version-stageコマンドで、以前のバージョンからAWSCURRENTをremoveし、新しいバージョンにmoveします。"arn:aws:secretsmanager:ap-northeast-1:xxxxxxxxxxxx:secret:test-1O5wUG"}AWSCURRENTの変更と共に、AWSPREVIOUSも1つ前のバージョンに移動しました。AWSPREVIOUSが外されたバージョンは削除されています。以下のように、現在3つのバージョンを保持しています。ラベルVERSION4のバージョンがAWSCURRENTです。]}AWSCURRENTをVERSION5に移動します。"arn:aws:secretsmanager:ap-northeast-1:xxxxxxxxxxxx:secret:test-1O5wUG"}VERSION5がAWSCURRENT、VERSION4がAWSPREVIOUSに変更されました。]}ここからさらに、VERSION6をAWSCURRENTに指定します。"arn:aws:secretsmanager:ap-northeast-1:xxxxxxxxxxxx:secret:test-1O5wUG"}VERSION6がAWSCURRENT、VERSION5がAWSPREVIOUSに変更されました。AWSPREVIOUSが取り外されたバージョンも、ラベルVERSION4が残ってますので削除されずに保持されたままになります。]}バージョン作成時に複数ラベルを同時に指定バージョン作成時に複数のラベルを同時に指定できます。AWSCURRENTとVERSION7を同時に指定して作成します。"arn:aws:secretsmanager:ap-northeast-1:xxxxxxxxxxxx:secret:test-1O5wUG"}VERSION7がAWSCURRENTとして作成されました。以前のバージョン、VERSION4/5も残っています。Managerのシークレットを手動で更新していくことで、その管理の仕組みを理解できました。ステージラベルをうまく使うことで、世代の管理や以前の情報をコントロールしていくことができそうです。実運用上は利用するアプリケーションと管理対象のシステムのパスワード変更などが同期して動作する必要があります。そのため、変更管理には提供されるLambdaを使ったローテーションをベースに使っていくのがよいでしょう。〜ログ収集、監視、分析を触って体感しよう!〜」を開催しますお申し込み受付は終了しました。ありがとうございました。今後セミナーのお知らせを受け取りたい方は、こちらからご登録をお願いします。CAFEのサービスが「LINEアプリ」として利用できるようになりました。これまではLINEのトークから利用する形でしたが、LINEサービス内から利用できるようになりました。これまでより便利に、シームレスにご利用いただけます。Cafe300件のシェア(そこそこ話題の記事)インフラ未経験の私が内定から入社までに読んだ技術書11冊ブログ記事2020年01月16日Yui300インフラ未経験で入社した私がインフラを勉強するために読んだ技術書11冊を感想とともにまとめました。平野重利123Pythonで、標準入力を変換して標準出力に出すCLIプログラムのテンプレートをご紹介します。菊池修治47こんにちは、菊池です。勉強会#1に登壇しました。サーバのみならずネットワーク機器の仮想化も年々進んでいます。スペックに縛られないこととか、展開のしやすさとか初期考慮点が少なくなるのは嬉しいです。武田隆志1098このエントリは、2018年、2019年に公開したAWS全サービスまとめの2020年版です。これまではいくつかに分割して公開していましたが、1エントリにまとめてほしいという要望をもらっていたため、今年は1エントリに集約してみました。CAFEのサービスが「LINEアプリ」として利用できるようになりました。これまではLINEのトークから利用する形でしたが、LINEサービス内から利用できるようになりました。これまでより便利に、シームレスにご利用いただけます。Cafe300件のシェア(そこそこ話題の記事)インフラ未経験の私が内定から入社までに読んだ技術書11冊ブログ記事2020年01月16日Yui300インフラ未経験で入社した私がインフラを勉強するために読んだ技術書11冊を感想とともにまとめました。悠紀235ShifterはWordPress環境をサーバーレスで立ち上げ、静的なサイトを生成することができるサービスです。FAQサイトをサクッと作ってみました。Takumi227こんにちは。DA事業本部の春田です。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。