Q21 — AWS DVA-C02 第1章
第 21/100 問 | ← 第1章
開発者は、機密性の高いデータを含む10MBのドキュメントを処理するアプリケーションを開発しています。このアプリケーションはAWS KMSを使用してクライアント側暗号化を実行します。必要な手順は何ですか?
- A. Encrypt APIを呼び出し、暗号化する平文データを渡し、KeyIDパラメータでカスタマーマネージドキー(CMK)のARNを参照します。
- B. GenerateRandom APIを呼び出してデータ暗号化キー(DEK)を取得し、その後そのDEKでデータを暗号化します。
- C. GenerateDataKey APIを呼び出して、データ暗号化キーの暗号化済みバージョンを取得し、それを使ってデータを暗号化します。
- D. GenerateDataKey APIを呼び出して、データ暗号化キーの平文バージョンを取得し、それを使ってデータを暗号化します。 ✓
正解: D. GenerateDataKey APIを呼び出して、データ暗号化キーの平文バージョンを取得し、それを使ってデータを暗号化します。
解説
https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html#uploading-objects-using-customer-master-key-cmk-id-client-side-encryption クライアントは、まずAWS KMSにCMKを指定してリクエストを送信し、オブジェクトデータの暗号化に使用可能なCMKを取得します。AWS KMSは、ランダムに生成されたデータ暗号化キー(DEK)の2つのバージョンを返します:#1. オブジェクトデータの暗号化に使用されるDEKの平文バージョン。#2. 同じDEKの暗号化済みバージョン(暗号化Blob)。クライアントは、この暗号化BlobをAmazon S3のオブジェクトメタデータとしてアップロードします。 ※クライアントは、各アップロードオブジェクトごとに一意のDEKを取得します。