eコマース企業がセキュリティポリシーとして、Amazon RDS のマスターパスワードを 90 日ごとに自動ローテーションすることを定めました。アプリケーションのダウンタイムなしで切り替えを行い、アプリケーションコードを変更せずに常に最新の認証情報を取得できるアーキテクチャが求められます。最も適切な実装はどれですか?
認証情報のマネージドなローテーションを要件とする場合、専用サービスの活用が重要です。 選択肢AのSSM Parameter StoreにはRDS向けのネイティブ自動ローテーション機能がなく、ローテーションには別途カスタムLambda関数の実装が必要で、運用負荷が増します。 選択肢BのAWS Secrets ManagerはRDS向けのマネージドなローテーションLambda関数を内蔵しており、ダブルバッファリング方式(新旧の認証情報を一定期間並行サポート)によりアプリケーションのダウンタイムなしで切り替えられます。アプリはSDK経由で実行時に最新の認証情報を取得するため、コード変更も不要です。 選択肢CのRDS IAMデータベース認証はIAMトークン(有効期間15分)を使用するためパスワード自体が存在せず、90日ごとにIAMロールのポリシーを更新する必要もありません。また対応エンジンが限られており、パスワードを90日ごとにローテーションするという要件の解決策にはなりません。 選択肢DのKMSキーのローテーションはデータ暗号化キーの切り替えであり、アプリケーション認証情報のパスワード管理とは無関係です。