ある会社は Amazon RDS MySQL データベースのパスワードを EC2 インスタンスの環境変数にハードコードしており、90 日ごとに手動で更新しています。 セキュリティを向上させ、アプリケーションのダウンタイムなしでパスワードを自動ローテーションするための、最もセキュアで運用負荷が低いソリューションはどれですか?
AWS Secrets Manager は RDS・Redshift・DocumentDB の認証情報の自動ローテーションをネイティブサポートしています。ローテーション中は2ユーザーを交互に切り替えるalternating users rotation strategy(新旧ユーザーを並行有効にしつつ段階的に切り替える方式)によりダウンタイムゼロでのローテーションが実現します。アプリケーションは Secrets Manager API から常に最新パスワードを動的取得するため、ハードコードが不要になります。 選択肢A のRDS IAM 認証も有効なアプローチですが既存アプリケーションの接続方式変更が必要です。 選択肢C のSSM Parameter Store は自動ローテーション機能を持たず Lambda 実装が別途必要になります。 選択肢D のS3 格納はシークレット管理の用途には不適切でセキュリティリスクが高いです。