

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CloudFormation リソースで AWS Secrets Manager シークレットを取得する
<a name="cfn-example_reference-secret"></a>

を使用すると CloudFormation、別の CloudFormation リソースで使用するシークレットを取得できます。一般的なシナリオでは、まず シークレットマネージャーが生成したパスワードを使ってシークレットを作成し、次に、シークレットから、新しいデータベースの認証情報として使用するユーザーネームとパスワードを取得します。でシークレットを作成する方法については CloudFormation、「」を参照してください[で AWS Secrets Manager シークレットを作成する AWS CloudFormation](cloudformation.md)。

 CloudFormation テンプレートでシークレットを取得するには、*動的リファレンス*を使用します。スタックを作成すると、動的リファレンスはシークレット値を CloudFormation リソースにプルするため、シークレット情報をハードコードする必要はありません。代わりに、シークレットを名前または ARN で参照します。ダイナミックリファレンスは、任意のリソースプロパティ内のシークレットに対し使用できます。リソースメタデータ ([https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-init.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-init.html) など) 内にあるシークレットに対しては、ダイナミックリファレンスを使用することはできません。これにより、シークレット値がコンソールに表示されてしまうためです。

シークレットに対するダイナミックリファレンスのパターンを、次に示します。

```
{{resolve:secretsmanager:secret-id:SecretString:json-key:version-stage:version-id}}
```

**シークレットID**  
シークレット名またはシークレット ARN。 AWS アカウントのシークレットにアクセスするには、シークレット名を使用できます。別の AWS アカウントのシークレットにアクセスするには、シークレットの ARN を使用します。

**json-key** (オプション)  
値を取得するペアのキー名を指定します。を指定しない場合`json-key`、 はシークレットテキスト全体 CloudFormation を取得します。このセグメントにはコロン文字 (`:`) を含めることはできません。

**version-stage** (オプション)  
使用するクエリの[バージョン](whats-in-a-secret.md#term_version) シークレットマネージャーは、ステージングラベルがローテーション処理中にさまざまなバージョンを追跡するために使用されます。`version-stage` を使用する場合は、`version-id` を指定することはできません。`version-stage` または `version-id`、を指定しない場合、デフォルトでは `AWSCURRENT` というラベルの付いたバージョンが取得されます。このセグメントにはコロン文字 (`:`) を含めることはできません。

**version-id** (オプション)  
使用したいシークレットのバージョンの固有識別子を指定します。`version-id` を指定した場合は、`version-stage` を指定しないでください。`version-stage` または `version-id` を指定しない場合、次にデフォルトでは `AWSCURRENT` というバージョンが取得されます。このセグメントにはコロン文字 (`:`) を含めることはできません。

詳細については、「[シークレットマネージャーのシークレットを指定するための、ダイナミックレファレンスを使用する](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#dynamic-references-secretsmanager)」を参照してください。

**注記**  
最終値`(\)`としてバックスラッシュを使用して動的参照を作成しないでください。 CloudFormation はこれらの参照を解決できないため、リソースに障害が発生します。