AI作成・独立検証済(有資格者監修なし)SAA-C03 対応
Secrets Manager(Lambdaローテーションの挙動)難易度 標準無料

AWS Secrets ManagerでRDS認証情報の自動ローテーションを有効化した。ローテーションの仕組みとアプリケーション側の設計について正しい記述を2つ選べ

  1. AローテーションLambdaは createSecret/setSecret/testSecret/finishSecret の4ステップで新しい認証情報の生成・設定・検証・確定を行う。RDS/Aurora/Redshift等向けにはAWS提供のローテーションテンプレートがあり、自前でこの4ステップを実装しなくてよい
  2. Bアプリケーションはローテーションのたびに必ず再デプロイし、新しい認証情報をコードへ焼き込み直す必要がある
  3. Cアプリケーションは実行時に GetSecretValue で都度シークレットを取得する設計にしておけば、裏側でローテーションされても再デプロイ無しに新しい認証情報へ追従できる
  4. DSystems Manager Parameter Storeの SecureString パラメータも、Secrets Managerと同じ組み込みのDB向けローテーションLambdaテンプレートをネイティブにサポートする
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済

解説

Secrets Managerのローテーションは、ローテーションLambda関数createSecretsetSecrettestSecretfinishSecret4ステップを実行して、 新しい認証情報の生成・DB側への設定・接続検証・確定(バージョンラベルの切り替え)を行う。 RDS/Aurora/Redshift/DocumentDB向けにはAWSが提供する組み込みのローテーションテンプレートがあり、これをそのまま使える。

アプリケーション側は、認証情報を起動時にキャッシュして固定するのではなく、 実行のたびに(あるいは適切な間隔でキャッシュしつつ)secretsmanager:GetSecretValue を呼び出す設計にしておけば、 裏側でローテーションが行われてもコードの変更・再デプロイ無しに新しい認証情報へ自然に追従できる。

各誤答が違う理由
  • BSecrets Managerを使う利点は、再デプロイ無しでローテーションに追従できる点。アプリが実行時にGetSecretValueを呼ぶ設計にしておけば再デプロイは不要。
  • DParameter Storeにはこの種の組み込みDB向けローテーション機構は無い。ローテーションが必要ならSecrets Managerを使うか、自前でLambda・スケジュールを実装する必要がある。
ひっかけ: 「ローテーションのたびに再デプロイが必要(B)」は、Secrets Managerを使う目的(無停止・無変更でのローテーション)を理解していないと誤答しやすい。 また「Parameter StoreもSecrets Managerと同じ組み込みローテーションテンプレートをネイティブに持つ(D)」も頻出の誤解。 DB向け組み込みローテーションテンプレートはSecrets Manager固有の機能である。
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)
この分野をもっと解いて、得点源に
IAMとセキュリティ設計 を含む問題を分野別に演習できます。
演習する →