ある企業は本番環境のデータベース接続文字列(ホスト名・ユーザー名・パスワード)を安全に管理したいと考えています。データベースのパスワードは 30 日ごとに自動更新される必要があり、複数の Lambda 関数から参照されます。コスト効率とセキュリティのバランスを最も適切に満たすサービスはどれですか?
- A. RDS の認証情報を Lambda の環境変数に設定し KMS で暗号化する
- B. SSM Parameter Store の標準パラメータ(String 型)にすべての情報を保存する
- C. SSM Parameter Store の SecureString にパスワードを保存し Lambda がパスワード更新を定期実行する
- D. AWS Secrets Manager にデータベース認証情報を保存し自動ローテーションを設定する
解答と解説を見る
正解: D
Secrets Manager はデータベース認証情報の管理に特化しており、RDS/Aurora/Redshift/DocumentDB の自動ローテーションをネイティブにサポートしています。ローテーション時は Lambda が自動トリガーされ、パスワード更新とシークレット値の更新が行われます。コスト(月額 0.40 USD/シークレット)はかかりますが、自動ローテーションの要件を最小運用で実現できます。B の String 型は暗号化なしで機密情報の保存に不適切です。C の Parameter Store は自動ローテーションを持たないため、追加 Lambda 実装が必要で運用負荷が上がります。A の環境変数は更新時に Lambda 関数の再デプロイが必要です。
📚 関連サービスの解説: AWS Secrets Manager