AWS CloudFormation に AWS Secrets Manager シークレットを作成する
CloudFormation のスタックでは、CloudFormation テンプレート内の
AWS::SecretsManager::Secret
リソースを使うことでシークレットを作成できます。
一般的なシナリオでは、まず Secrets Manager が生成したパスワードを使ってシークレットを作成し、次に、動的な参照を使って、シークレットから、新しいデータベースの認証情報として使用するユーザーネームとパスワードを取得します。以下の例を参照してください。
シークレットにリソースポリシーをアタッチするには、
AWS::SecretsManager::ResourcePolicy
リソースを使用します。
シークレットに Amazon RDS、Amazon Redshift、または Amazon DocumentDB の認証情報が含まれている場合に、シークレットの自動ローテーションをオンにするには、
AWS::SecretsManager::SecretTargetAttachment
リソースを使って、Secrets Manager がシークレットをローテーションするために必要なシークレットに、データベースに関する詳細を追加します。次に、
AWS::SecretsManager::RotationSchedule
リソースを使って自動ローテーションをオンにします。このリソースで、Lambda ローテーション関数とローテーションスケジュールの両方を指定します。Amazon RDS、Amazon Redshift、または Amazon DocumentDB の認証情報を含むシークレットでは、指定された ローテーション関数のテンプレート のいずれかを使用します。
その他のタイプのシークレットでは、独自のローテーション関数を作成し、
AWS::SecretsManager::RotationSchedule
リソースを使って自動ローテーションをオンにします。Secrets Manager では、開始点として使用できる その他のタイプのシークレット を用意しています。
AWS CloudFormation を使用したリソースの作成の詳細については、「AWS CloudFormation ユーザーガイド」の「テンプレートの基礎についての学習」を参照してください。また、AWS Cloud Development Kit (AWS CDK) を使用することもできます 詳細については、AWS Secrets Manager Construct ライブラリを参照してください。
例