無限ノック › SCS 練習問題一覧 › 問題
SCSデータ保護

あるセキュリティチームが、本番環境のS3バケットへのアップロード時に、必ず特定のKMSカスタマー管理キー(CMK)によるSSE-KMS暗号化を強制する仕組みを実装したいと考えています。 要件は以下の通りです。 ・暗号化なし、SSE-S3、または異なるCMKを使用したアップロードをすべて拒否する ・暗号化の強制はバケットレベルで確実に適用する ・アップロード時のリアルタイム制御が必要 最も適切な実装方法はどれですか?

A
S3バケットのデフォルト暗号化設定で特定CMKのSSE-KMSを指定する(デフォルト設定により、ヘッダーなしのアップロードも含めてすべて特定CMKで暗号化される)
デフォルト暗号化設定はリクエストヘッダーで暗号化方式を明示的に指定しない場合に適用されます。他の暗号化方式を指定したリクエストはデフォルト設定を上書きでき、特定CMK強制要件に対し強制力が不足しています。
B
S3バケットポリシーにDeny文を追加し、条件キー「s3:x-amz-server-side-encryption」が「aws:kms」でない場合、または「s3:x-amz-server-side-encryption-aws-kms-key-id」が特定CMKのARNでない場合にs3:PutObjectを拒否する
✓ 正解
バケットポリシーの条件キーを使用したDeny文により、特定CMK以外のすべてのアップロードをリアルタイムで拒否できます。バケットレベルで最も確実な強制が実現でき、外部バケットアクセスの防止にも有効です。
C
AWS Config ルール「s3-bucket-server-side-encryption-enabled」を設定し、非準拠バケットを検出したらAuto Remediationで自動修正する
AWS Configは事後検出ツールで、アップロード後の非準拠状態を検出します。アップロード時のリアルタイム拒否はできず、Auto Remediationは既存設定の修正に使用されます。事前防止には不適切です。
D
SCP(サービスコントロールポリシー)でs3:PutObjectを組織全体で拒否し、暗号化ヘッダーを検証するAPI Gateway経由のアップロードのみを許可する
SCP(サービスコントロールポリシー)はs3:PutObjectを組織全体で拒否する強力な手段ですが、API Gateway経由専用にする構成は過度に複雑で、バケットポリシーと比べ保守性が低下します。

解説

S3バケットポリシーの条件キーを使ったDeny文は、特定CMKによるSSE-KMSを強制する最も確実な方法です。指定CMK以外のすべてのアップロードをリアルタイムで拒否でき、バケットレベルでの強制が可能です。 選択肢Aの「S3バケットのデフォルト暗号化設定」はデフォルト暗号化設定はリクエストヘッダーで暗号化方式を明示的に指定しない場合にのみ適用されます。他の暗号化方式や別CMKを明示したリクエストはデフォルト設定を上書きでき、強制力がありません。 選択肢Cの「AWS Config ルール」はAWS Configは事後検出ツールです。Auto Remediationは既存の非準拠設定の修正に使用され、アップロード時のリアルタイム拒否はできません。 選択肢Dの「SCP(サービスコントロールポリシー)」はSCPでPutObjectを全拒否してAPI Gateway経由のみにする構成は過度に複雑で通常のS3利用を大きく制限します。バケットポリシーの方がシンプルかつ適切です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSCSを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SCS の問題一覧に戻る