翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
リソースで AWS Secrets ManagerCloudFormation シークレットを取得する
を使用すると CloudFormation、別の CloudFormation リソースで使用するシークレットを取得できます。一般的なシナリオでは、まず シークレットマネージャーが生成したパスワードを使ってシークレットを作成し、次に、シークレットから、新しいデータベースの認証情報として使用するユーザーネームとパスワードを取得します。でシークレットを作成する方法については CloudFormation、「」を参照してくださいで AWS Secrets Manager シークレットを作成する AWS CloudFormation。
CloudFormation テンプレートでシークレットを取得するには、動的リファレンスを使用します。スタックを作成すると、動的参照はシークレット値を CloudFormation リソースにプルするため、シークレット情報をハードコードする必要はありません。代わりに、シークレットを名前または ARN で参照します。ダイナミックリファレンスは、任意のリソースプロパティ内のシークレットに対し使用できます。リソースメタデータ (AWS::CloudFormation::Init など) 内にあるシークレットに対しては、ダイナミックリファレンスを使用することはできません。これにより、シークレット値がコンソールに表示されてしまうためです。
シークレットに対するダイナミックリファレンスのパターンを、次に示します。
{{resolve:secretsmanager:secret-id:SecretString:json-key:version-stage:version-id}}
- シークレットID
-
シークレット名またはシークレット ARN。 AWS アカウントのシークレットにアクセスするには、シークレット名を使用できます。別の AWS アカウントのシークレットにアクセスするには、シークレットの ARN を使用します。
- json-key (オプション)
-
値を取得するペアのキー名を指定します。を指定しない場合
json-key、 はシークレットテキスト全体 CloudFormation を取得します。このセグメントにはコロン文字 (:) を含めることはできません。 - version-stage (オプション)
-
使用するクエリのバージョン シークレットマネージャーは、ステージングラベルがローテーション処理中にさまざまなバージョンを追跡するために使用されます。
version-stageを使用する場合は、version-idを指定することはできません。version-stageまたはversion-id、を指定しない場合、デフォルトではAWSCURRENTというラベルの付いたバージョンが取得されます。このセグメントにはコロン文字 (:) を含めることはできません。 - version-id (オプション)
-
使用したいシークレットのバージョンの固有識別子を指定します。
version-idを指定した場合は、version-stageを指定しないでください。version-stageまたはversion-idを指定しない場合、次にデフォルトではAWSCURRENTというバージョンが取得されます。このセグメントにはコロン文字 (:) を含めることはできません。
詳細については、「シークレットマネージャーのシークレットを指定するための、ダイナミックレファレンスを使用する」を参照してください。
注記
最終値(\)としてバックスラッシュを使用して動的参照を作成しないでください。これらの参照を解決 CloudFormation できないため、リソースに障害が発生します。