Q33 — AWS SAA-C03 第4章

第 33/105 問 | ← 第4章

Q228. ある企業がAWSクラウド上でアプリケーションを構築しています。このアプリケーションは、2つのAWSリージョンに存在するAmazon S3バケットにデータを保存します。企業は、AWS Key Management Service(AWS KMS)のカスタマーマネージドキーを使用して、S3バケットに保存されるすべてのデータを暗号化する必要があります。両方のS3バケット内のデータは、同一のKMSキーで暗号化および復号化されなければなりません。また、データとそのキーは、それぞれの2つのリージョン内に保存される必要があります。これらの要件を満たすうち、運用オーバーヘッドが最も少ない解決策はどれですか?

正解: B. カスタマーマネージドのマルチリージョンKMSキーを作成します。各リージョンにS3バケットを作成します。S3バケット間でレプリケーションを設定します。アプリケーションを、クライアントサイド暗号化でこのKMSキーを使用するように設定します。

解説

正解はDです。要件では「同一のKMSキーで両リージョンのデータを暗号化・復号化する」こと、および「データとキーをそれぞれのリージョンに保存する」ことが明記されています。マルチリージョンKMSキー(選択肢B)は、論理的に同一のキーとして扱われ、各リージョンにプライマリ/レプリカキーが存在し、跨リージョンでの暗号化・復号化が可能ですが、S3のSSE-KMSとの統合では、**S3は自動的に適切なリージョンのKMSキー(プライマリまたはレプリカ)を参照するため、アプリケーション側の追加実装が不要**です。しかし、選択肢Bはクライアントサイド暗号化を指定しており、これはアプリケーションが暗号化・復号化処理を自前で実装する必要があり、運用オーバーヘッドが高くなります。一方、選択肢Dは、各リージョンに個別に作成したカスタマーマネージドKMSキー(※注意:問題文の「same KMS key」は、マルチリージョンKMSキーではなく、論理的に同一のキーを指す意図であり、S3のSSE-KMSでは、レプリケーション先バケットの暗号化設定を別途SSE-KMSで指定することで、レプリケーション時に自動的に対象リージョンのKMSキーが使用されます)を用い、S3のネイティブなSSE-KMS機能を利用するため、暗号化/復号化の管理をAWSに委ねられ、運用オーバーヘッドが最小限になります。選択肢AおよびCはSSE-S3(S3が管理するキー)を用いており、KMSカスタマーマネージドキーの使用という必須要件を満たしません。よって、要件を満たし、かつ運用負荷が最も小さいのはDです。