ローカルデータの暗号化に使用できるランダムなデータキーを生成します。

この操作は、ランダムなデータキーを作成し、特定の対称CMKを使用してデータキーを暗号化し、データキーの暗号文を返します。 この操作は、GenerateDataKey操作と同じ目的を果たします。 唯一の違いは、この操作ではデータキーの平文が返されないことです。

この操作の要求で指定したCMKは、データキーの暗号化にのみ使用され、データキーの生成には関与しません。 KMS does not record or store the generated data key.

  • この操作は、データキーを使ってすぐにデータを暗号化する必要がない場合に適用されます。 データキーを使用してデータを暗号化する前に、Decrypt操作を呼び出して、データキーの暗号文を復号化する必要があります。
  • この動作は、異なる信頼レベルを有する分散システムにも適している。 たとえば、システムは、事前設定された信頼ポリシーに基づいて異なるパーティションにデータを格納します。 モジュールは、異なるパーティションを作成し、パーティションごとに異なるデータキーをあらかじめ生成しておく。このモジュールは、制御プレーンの初期化を完了した後は、データ生成および消費に関与しない。 このモジュールが鍵の提供者である。データを生成・消費する際、コントロールプレーン上のモジュールは、まずパーティションに対するデータ鍵の暗号文を取得する。データ鍵の暗号文を解読した後、制御プレーン上のモジュールは、データ鍵の平文を使用してデータを暗号化または解読し、次いで、メモリからデータ鍵の平文を消去する。 このようなシステムでは、鍵プロバイダは、データ鍵の平文を取得する必要がない。 GenerateDataKeyWithoutPlaintext操作を呼び出すための権限のみが必要です。データの生産者または消費者は、新しいデータキーを生成する必要がありません。彼らは、Decrypt操作を呼び出すための権限を持っている必要があります。

デバッグ

OpenAPI Explorer は署名値を自動的に計算します。 この操作は、OpenAPI Explorer で呼び出すことを推奨します。 OpenAPI Explorer は、さまざまな SDK に対して操作のサンプルコードを動的に生成します。

リクエストパラメーター

パラメーター データ型 必須/任意 説明
アクション String 必須 GenerateDataKeyWithoutPlaintext

実行する操作です。 Set the value to GenerateDataKeyWithoutPlaintext.

KeyId String 必須 1234abcd-12ab-34cd-56ef-12345678 ****

グローバルに一意な CMK の ID。 このパラメーターをCMKにバインドされているエイリアスに設定することもできます。 詳しくは、「エイリアスの使用」をご参照ください。

KeySpec String 任意 AES_256

生成するデータキーの長さ。 設定可能な値は以下のとおりです。

  • AES_256: 256ビット対称キー
  • AES_128: 128ビット対称キー
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 エラーセンター」をご参照ください。