データキーを生成します。

使用上の注意

GenerateDataKey操作を呼び出して、平文データキーと暗号文データキーを取得できます。 Dedicated key Management Service (KMS) を使用せずに、GenerateDataKey操作で返される平文データキーを使用してデータを暗号化できます。 Plaintextパラメーターは、平文データキーを指定します。 暗号化されたデータを保存するときは、データキーのCiphertextBlobIvAad、およびAlgorithmパラメーターの値も保存する必要があります。 CiphertextBlobパラメーターは、暗号文データキーを指定します。

この操作の要求で指定したCMKは、データキーの暗号化にのみ使用され、データキーの生成には使用されません。 専用KMSは、生成されたデータキーを記録または保存しません。 したがって、暗号文データキーを永続ストレージに保存する必要があります。

リクエストメッセージ定义

メッセージGenerateDataKeyRequest {
     文字列KeyId = 1;
     int32 NumberOfBytes = 2;
     バイトAad = 3;
}

リクエストパラメーター

パラメーター データ型 必須/任意 説明
KeyId 文字列 必須 1234abcd-12ab-34cd-56ef-12345678 **** 顧客マスターキー (CMK) のID。 IDはグローバルに一意である必要があります。 このパラメーターをCMKにバインドされているエイリアスに設定することもできます。
NumberOfBytes bytes 必須 バイナリデータ 生成されるデータキーの長さ。
Aad binary 任意 バイナリデータ 認証データ。

このパラメーターは、CMKが対称キーで、Algorithmパラメーターの値がAES_GCMまたはSM4_GCMに設定されている場合に指定できます。このパラメーターを指定する場合、t2112771.html#doc_api_Kms_Decrypt操作を呼び出すときにパラメーターを指定する必要があります。

応答メッセージの定義

message GenerateDataKeyResponse {
     文字列KeyId = 1;
     バイトIv = 2;
     バイトPlaintext = 3;
     バイトCiphertextBlob = 4;
     文字列RequestId = 5;
     文字列アルゴリズム=6;
}

レスポンスパラメーター

パラメーター データ型 説明
KeyId 文字列 1234abcd-12ab-34cd-56ef-12345678**** CMKのID。 The ID must be globally unique. KeyIdパラメーターがCMKのエイリアスに設定されている場合、エイリアスがバインドされているCMKのIDが返されます。
Iv bytes バイナリベクトル 暗号化後の初期化ベクトル。
Plaintext bytes バイナリ平文 平文データキー。
CiphertextBlob bytes Binary ciphertext 暗号文データキー。
アルゴリズム 文字列 AES_GCM 暗号化アルゴリズム。
RequestId 文字列 475f1620-b9d3-4d35-b5c6-3fbdd941423d リクエストの ID です。