AWS CloudFormation でのシークレットの作成 - AWS Secrets Manager

AWS CloudFormation でのシークレットの作成

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 ライブラリを参照してください。