ローカルデータの暗号化に使用できるランダムなデータキーを生成します。
この操作は、ランダムなデータキーを作成し、特定の対称CMKを使用してデータキーを暗号化し、データキーの暗号文を返します。 この操作は、GenerateDataKey操作と同じ目的を果たします。 唯一の違いは、この操作ではデータキーの平文が返されないことです。
この操作の要求で指定したCMKは、データキーの暗号化にのみ使用され、データキーの生成には関与しません。 KMS does not record or store the generated data key.
- この操作は、データキーを使ってすぐにデータを暗号化する必要がない場合に適用されます。 データキーを使用してデータを暗号化する前に、Decrypt操作を呼び出して、データキーの暗号文を復号化する必要があります。
- この動作は、異なる信頼レベルを有する分散システムにも適している。 たとえば、システムは、事前設定された信頼ポリシーに基づいて異なるパーティションにデータを格納します。 モジュールは、異なるパーティションを作成し、パーティションごとに異なるデータキーをあらかじめ生成しておく。このモジュールは、制御プレーンの初期化を完了した後は、データ生成および消費に関与しない。 このモジュールが鍵の提供者である。データを生成・消費する際、コントロールプレーン上のモジュールは、まずパーティションに対するデータ鍵の暗号文を取得する。データ鍵の暗号文を解読した後、制御プレーン上のモジュールは、データ鍵の平文を使用してデータを暗号化または解読し、次いで、メモリからデータ鍵の平文を消去する。 このようなシステムでは、鍵プロバイダは、データ鍵の平文を取得する必要がない。 GenerateDataKeyWithoutPlaintext操作を呼び出すための権限のみが必要です。データの生産者または消費者は、新しいデータキーを生成する必要がありません。彼らは、Decrypt操作を呼び出すための権限を持っている必要があります。
デバッグ
リクエストパラメーター
パラメーター | データ型 | 必須/任意 | 例 | 説明 |
---|---|---|---|---|
アクション | String | 必須 | GenerateDataKeyWithoutPlaintext |
実行する操作です。 Set the value to GenerateDataKeyWithoutPlaintext. |
KeyId | String | 必須 | 1234abcd-12ab-34cd-56ef-12345678 **** |
グローバルに一意な CMK の ID。 このパラメーターをCMKにバインドされているエイリアスに設定することもできます。 詳しくは、「エイリアスの使用」をご参照ください。 |
KeySpec | String | 任意 | AES_256 |
生成するデータキーの長さ。 設定可能な値は以下のとおりです。
注 KeySpecまたはNumberOfBytesパラメーターを使用して、データキーの長さを指定することを推奨します。 両方が指定されていない場合、KMSは256ビットのデータキーを生成します。
両方が指定されている場合、KMSはKeySpecパラメーターを無視します。
|
NumberOfBytes | Integer | 任意 | 256 |
生成するデータキーの長さ。 Valid values: 1 to 1024. 単位:バイト |
EncryptionContext | ジェソン | 任意 | {"例":"例"} |
キーと値のペアで構成されるJSON文字列。 このパラメーターを指定すると、Decrypt操作を呼び出すときに同等の値が必要になります。 詳細については、「EncryptionContext」をご参照ください。 |
レスポンスパラメーター
パラメーター | データ型 | 例 | 説明 |
---|---|---|---|
CiphertextBlob | String | ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b + i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS **** |
プライマリCMKバージョンを使用して暗号化されるデータの暗号文。 |
KeyId | String | 599fa825-17de-417e-9554-bb032cc6 **** |
グローバルに一意な CMK の ID。 注 KeyId パラメータにエイリアスを設定した場合、エイリアスがバインドされている CMK の ID が返される。
|
KeyVersionId | String | 2ab1a983-7072-4bbc-a582-584b5bd8**** |
プレーンテキストの暗号化に使用されるキーバージョンのID。 CMKの1次バージョンである。 |
RequestId | String | 7021b6ec-4be7-4d3c-8a68-1e85d4d515a0 |
リクエストの ID です。 |
例
リクエストの例
https:// [エンドポイント]/? アクション=GenerateDataKeyWithoutPlaintext
&KeyId=1234abcd-12ab-34cd-56ef-12345678 ****
&<共通リクエストパラメーター>
正常に処理された場合のレスポンス例
XML
形式
<KMS>
<RequestId>7021b6ec-4be7-4d3c-8a68-1e85d4d515a0</RequestId>
<CiphertextBlob>ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b + i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS ****</CiphertextBlob>
<KeyId>599fa825-17de-417e-9554-bb032cc6 ****</KeyId>
<KeyVersionId>2ab1a983-7072-4bbc-a582-584b5bd8 ****</KeyVersionId>
</KMS>
JSON
形式
{
"RequestId":"7021b6ec-4be7-4d3c-8a68-1e85d4d515a0" 、
"CiphertextBlob":"ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b + i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS ****" 、
"KeyId":"599fa825-17de-417e-9554-bb032cc6 ****" 、
"KeyVersionId":"2ab1a983-7072-4bbc-a582-584b5bd8 ****"
}
エラーコード
エラーコードリストについては、「API エラーセンター」をご参照ください。