Amazon RDS、Amazon DocumentDB、Amazon Redshift のシークレットを自動的にローテーションする - AWS Secrets Manager

Amazon RDS、Amazon DocumentDB、Amazon Redshift のシークレットを自動的にローテーションする

Amazon RDS、Amazon DocumentDB、Amazon Redshift シークレット用に、Secrets Manager が完全なローテーションテンプレートを提供します。その他のタイプのシークレットについては、別の種類のシークレットを自動的にローテーションする を参照してください。

シークレットの自動的なローテーションには、AWS CloudFormation を使用して、AWS::SecretsManager::RotationSchedule を含めながらシークレットを作成するという別の方法もあります。「Automate secret creation in AWS CloudFormation」を参照してください。

ローテーションテンプレートには、シングルユーザーと交代ユーザーという、2 つの ローテーション戦略 が用意されています。また、ローテーション関数のカスタマイズ することも可能です。

開始するには、以下が必要です。

  • データベースまたはサービスに対する認証情報を持つユーザー。

  • ローテーション戦略。「ローテーション戦略」を参照してください。

  • 交代ユーザーのローテーション戦略 を使用する場合は、ローテーション中にシークレットの認証情報を更新するための認証情報を含む、個別のシークレットが必要です。

Amazon RDS、Amazon DocumentDB、または Amazon Redshift のシークレットでローテーションを有効にするには (コンソール)

  1. Secrets Manager のコンソール (https://console.aws.amazon.com/secretsmanager/) を開きます。

  2. [Secrets] (シークレット) ページで、自分のシークレットを選択します。

  3. シークレットの詳細ページで、[Rotation configuration (ローテーション設定)] セクションの [Edit rotation (ローテーションの編集)] を選択します。

  4. [Edit rotation configuration] (ローテーション設定の編集) ダイアログボックスで、次の操作を行います。

    1. [Enable automatic rotation] (自動ローテンションの有効化) を選択します。

    2. [Select rotation interval] (ローテンション間隔の選択) で、ローテーションを開始するまでのシークレットの保持日数を選択します。

      交代ユーザーのローテーション戦略 を使用する場合、1 つ前のバージョンのシークレット内の認証情報が引き続き有効であり、データベースやサービスにアクセスするために使用できます。コンプライアンス要件を満たすために、シークレットをより頻繁にローテーションする必要性が生じることがあります。例えば、認証情報の最大有効期間が 90 日である場合、ローテーション間隔は 44 日に設定することをお勧めします。そうすることで、両方のユーザーの資格情報を、それぞれ 90 日以内に更新することができます。

    3. 次のいずれかを行ってください。

      • シークレットの ローテーション関数のテンプレート に基づいたローテーション関数を、Secrets Manager で自動的に作成させるには、[Create a new Lambda function] (新しい Lambda 関数を作成) をクリックし、新しい関数の名前を入力します。Secrets Manager は、関数名の先頭に「SecretsManager」を追加します。

      • 自分または Secrets Manager により既に作成済みのローテーション関数を使用するには、[Use an existing Lambda function] (既存の Lambda 関数を使用する) をクリックします。ローテーション戦略が同じであれば、別のシークレットに使用したローテーション関数を再利用できます。

    4. [Select which secret will be used to perform the rotation] (ローテーションの実行に使用するシークレットを選択してください) で、以下のいずれかを実行します。

ローテーションに関する一般的な問題の解決方法については、「シークレットの AWS Secrets Manager ローテーションのトラブルシューティング」を参照してください。

AWS SDK と AWS CLI

ローテーションの有効化については、以下を参照してください。