Q34 — AWS SAA-C03 第7章
第 34/65 問 | ← 第7章
Q464. ある企業では、ログデータをさまざまな Amazon S3 バケットに保存するために、中央集約型の AWS アカウントが使用されています。ソリューションアーキテクトは、データが S3 バケットにアップロードされる前に、静止時の暗号化(at rest encryption)が確実に行われることを保証する必要があります。また、データは転送中(in transit)の暗号化も必須です。
- A. クライアントサイド暗号化を使用して、S3 バケットにアップロードされるデータを暗号化します。 ✓
- B. サーバーサイド暗号化を使用して、S3 バケットにアップロードされるデータを暗号化します。
- C. S3 アップロード時に、S3 管理の暗号化キー(SSE-S3)によるサーバーサイド暗号化の使用を必須とするバケットポリシーを作成します。
- D. デフォルトの AWS Key Management Service(AWS KMS)キーを用いて S3 バケットを暗号化するセキュリティオプションを有効化します。
正解: A. クライアントサイド暗号化を使用して、S3 バケットにアップロードされるデータを暗号化します。
解説
要件は「データが S3 にアップロードされる『前』に静止時暗号化が保証されること」と「転送中暗号化(HTTPS 経由など)」の両方です。選択肢 A はクライアント側で暗号化を行うため、アップロード前に静止時暗号化が実現されますが、転送中暗号化は別途 HTTPS を使用する必要があります(ただし、AWS SDK などはデフォルトで HTTPS を使用するため、実質的に満たされます)。しかし、最も適切なのは、アップロード前の暗号化保証と転送中暗号化を含む包括的な制御手段です。選択肢 C は、バケットポリシーで `s3:x-amz-server-side-encryption` ヘッダーの存在と値(例:`AES256`)を必須とすることで、アップロード要求が暗号化指定なしでは拒否されるよう強制します。これにより、静止時暗号化(SSE-S3)がアップロード前に確実に適用され、かつ S3 への通信は常に HTTPS が前提となるため、転送中暗号化も同時に満たされます。選択肢 B は単に「使用する」と述べているだけで、強制力がなく、非暗号化アップロードを防げません。選択肢 D は誤りで、S3 バケット自体に「暗号化を有効化するセキュリティオプション」は存在しません。デフォルト暗号化設定(Default Encryption)はバケットレベルで設定可能ですが、これはアップロード後に自動適用されるものであり、「アップロード『前』に暗号化が保証される」という要件には不十分です(アップロード時に明示的に暗号化ヘッダーを付与しない場合、デフォルト設定が適用されますが、ポリシーによる強制より弱い制御です)。したがって、要件を確実に満たす唯一の選択肢は C です。