データキーを生成します。
使用上の注意
GenerateDataKey操作を呼び出して、平文データキーと暗号文データキーを取得できます。 Dedicated key Management Service (KMS) を使用せずに、GenerateDataKey操作で返される平文データキーを使用してデータを暗号化できます。 Plaintextパラメーターは、平文データキーを指定します。 暗号化されたデータを保存するときは、データキーのCiphertextBlob、Iv、Aad、および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 です。 |