SAA-C03:AWS Certified Solutions Architect - Associate セキュアなアーキテクチャの設計 問6
セキュアなアーキテクチャの設計/適切なデータセキュリティ制御の決定RDS への接続認証情報を、アプリのコードや設定ファイルに直接書かずに管理し、定期的に自動でローテーションしたいと考えています。最も適切な仕組みはどれですか。
当サイトのオリジナル問題(SAA-C03:AWS Certified Solutions Architect - Associateの出題範囲「セキュアなアーキテクチャの設計」に対応。実際の試験問題ではありません)
- A認証情報を環境変数に平文で設定する
- B認証情報を S3 バケットに置き、保存時暗号化だけを行う
- CAWS Secrets Manager にシークレットを保存して自動ローテーションを有効にし、アプリは実行時に取得する
- D認証情報をカスタム AMI に焼き込んで配布する
正解:C
解説
AWS Secrets Manager は、データベースの認証情報や API キーなどのシークレットを安全に保管し、RDS などに対しては自動ローテーションを設定できるサービスです。アプリは実行時に API でシークレットを取得するため、コードや設定ファイルに認証情報を直接書かずに済み、定期的なローテーションも自動化できます。
選択肢ごとの解説
- A誤り。環境変数への平文設定は漏えいリスクがあり、自動ローテーションもできません。
- B誤り。S3 に保存して暗号化しても、ローテーションの自動化やアプリへの安全な受け渡しの仕組みは別途必要です。
- C正しい。Secrets Manager にシークレットを保存して自動ローテーションを有効にすれば、コードに書かずに定期ローテーションを自動化できます。
- D誤り。AMI への焼き込みは、認証情報の更新のたびにイメージを作り直す必要があり、ローテーションに不向きです。