SAA-C03:AWS Certified Solutions Architect - Associate セキュアなアーキテクチャの設計 問20
セキュアなアーキテクチャの設計/セキュアなワークロードとアプリケーションの設計複数のチームが S3 バケットを作成・運用しており、誤ったバケットポリシーや ACL によって機密データが誰でも閲覧できる状態で公開されてしまう事故を、アカウント全体で確実に防ぎたいと考えています。最も適切な方法はどれですか。
当サイトのオリジナル問題(SAA-C03:AWS Certified Solutions Architect - Associateの出題範囲「セキュアなアーキテクチャの設計」に対応。実際の試験問題ではありません)
- A各バケットにサーバーアクセスログを有効化し、公開アクセスが発生した後に検知して対処する
- Bすべてのオブジェクトを SSE-KMS で暗号化し、キーポリシーで外部アクセスを拒否する
- C各バケットに CloudFront ディストリビューションを必ず経由させるよう手作業で設定する
- Dアカウントレベルで S3 ブロックパブリックアクセスを有効にし、パブリックを許可するポリシーや ACL の効果を一括で無効化する
正解:D
解説
S3 ブロックパブリックアクセスは、アカウントまたはバケット単位で、パブリックアクセスを付与するバケットポリシーや ACL の効果をブロックする予防的なガードレールです。アカウントレベルで有効にすれば、個々のチームの設定ミスにかかわらず意図しない公開を一括で防げます。ログ取得は事後検知であり予防にはならず、暗号化(保管時)や CloudFront 経由化は公開可否そのものを一元的に制御する手段ではありません。
下線の用語は 用語集 で意味を確認できます。
選択肢ごとの解説
- A誤り。アクセスログは公開が起きた後に気づくための事後的な手段で、公開そのものを予防できません。
- B誤り。SSE-KMS は保管時の暗号化で、バケットを誰でも閲覧できる状態にしてしまう設定ミスそのものを防ぐ仕組みではありません。
- C誤り。手作業での CloudFront 経由化は抜け漏れが生じやすく、アカウント全体で確実に公開を防ぐ方法になりません。
- D正しい。S3 ブロックパブリックアクセスをアカウントレベルで有効にすると、パブリックを許可するポリシーや ACL の効果が一括で無効化され、意図しない公開を予防できます。