ある企業では、Amazon EC2 インスタンスと Lambda 関数で構成されるアプリケーションが、Amazon RDS for PostgreSQL のパスワードをコード内にハードコードしています。セキュリティ監査でこれが指摘されたため、以下の要件を満たす改善を求められています。 ①認証情報をコードから排除する ②パスワードを 30 日ごとに自動ローテーションする ③ローテーション中もアプリケーションのダウンタイムをゼロにする 最も適切な方法はどれですか?
AWS Secrets Manager は RDS・Redshift・DocumentDB との組み込み自動ローテーションをサポートし、Lambda 関数が自動的にデプロイされます。RDS Proxy は接続プールを維持し、シークレットローテーション中も既存接続を維持するため、ダウンタイムゼロの要件を満たします。 選択肢AのAWS Systems Manager Parameter Store は、SecureString パラメータで認証情報を保存できますが、ネイティブな自動ローテーション機能がありません。 選択肢CのKMS 暗号化設定ファイル は、90 日ごとの手動ローテーションが要求されており、自動ローテーションの要件を満たしません。 選択肢DのIAM データベース認証 もパスワードレスで優れていますが、既存アプリへの変更が必要になり、明示的なローテーション管理が異なります。