Q36 — AWS DOP-C02 第1章
第 36/100 問 | ← 第1章
ある企業が、重要な文書を保存するためにAmazon S3バケットを使用しています。同社は、一部のS3バケットが暗号化されていないことに気づきました。現在、同社のIAMユーザーは、暗号化されていない新しいS3バケットを作成できます。同社は新たな要件を導入し、すべてのS3バケットが暗号化されることを義務付けました。 DevOpsエンジニアは、既存および今後作成されるすべてのS3バケットでサーバーサイド暗号化(SSE)を確実に有効化するソリューションを実装する必要があります。S3バケットが作成された時点で、新しいS3バケットには即座に暗号化が有効化される必要があります。デフォルトの暗号化タイプは、256ビットAES(AES-256)である必要があります。
- A. Amazon EventBridgeのスケジュールルールにより定期的に呼び出されるAWS Lambda関数を作成します。このLambda関数を、すべての現在のS3バケットの暗号化ステータスをスキャンし、暗号化設定がないS3バケットに対してAES-256をデフォルト暗号化として設定するようにプログラミングします。
- B. AWS Configマネージドルール「s3-bucket-server-side-encryption-enabled」を設定および有効化します。このルールを、修復アクションとしてAWS Systems Manager Automation runbook「AWS-enable-s3-bucket-encryption」を使用するように構成します。手動で再評価プロセスを実行し、既存のS3バケットが要件を満たすことを保証します。
- C. Amazon EventBridgeのイベントルールにより呼び出されるAWS Lambda関数を作成します。このルールは、新しいS3バケットの作成に一致するイベントパターンで定義します。Lambda関数をEventBridgeイベントを解析し、イベント内のS3バケットの構成を確認し、AES-256をデフォルト暗号化として設定するように記述します。
- D. S3:x-amz-server-side-encryption条件キーの値がAES-256でない場合、s3:CreateBucket操作を拒否するIAMポリシーを構成します。企業のすべてのIAMユーザーに対してIAMグループを作成し、このIAMポリシーをIAMグループに関連付けます。 ✓
正解: D. S3:x-amz-server-side-encryption条件キーの値がAES-256でない場合、s3:CreateBucket操作を拒否するIAMポリシーを構成します。企業のすべてのIAMユーザーに対してIAMグループを作成し、このIAMポリシーをIAMグループに関連付けます。
解説
Amazon S3のサーバーサイド暗号化の強制は、通常IAMポリシーの条件キーを用いて実装されます。IAMポリシー内の条件チェックは、特定の操作を制限するために使用できます。選択肢DのIAMポリシーは、s3:x-amz-server-side-encryption条件キーを用いて、ユーザーがs3:CreateBucketを呼び出す際に暗号化タイプがAES-256であるかを検証し、条件を満たさない場合は要求を直ちに拒否します。これにより、すべての新規バケット作成が指定された暗号化タイプを必須とし、暗号化されていないバケットの生成を根源的に防止します。他の選択肢は、事後的な修復または自動化フローに依存しており、作成時の即時適用が不可能であり、時間的ギャップや実行依存リスクを伴います。AWS公式ドキュメント(AWS IAMポリシー要素リファレンス)でも、このような条件キーをAPIパラメータ制御に使用することが明記されています。