すべてのプロダクト
Search
ドキュメントセンター

Key Management Service:AdvanceGenerateDataKey

最終更新日:Jan 20, 2025

この操作では、key Management Service (KMS) のエンベロープ暗号化を使用してデータキーを生成し、データを暗号化します。

使用上の注意

概要

この操作では、乱数ジェネレーターを使用してデータキーを生成し、KMSキーのプライマリバージョンを使用してデータキーを暗号化してから、平文データキーと暗号文データキーを返します。 平文データキーを使用して、KMS外部のデータを暗号化できます。 Plaintextは、平文データキーを指定する。 データの復号化に使用される暗号文データキーと認証データ (Aad) を保存する必要があります。

重要
  • データキーを暗号化する場合、Galois/Counter Mode (GCM) モードのみがサポートされます。

  • KMSは、高品質の乱数ジェネレータを使用してデータキーを生成します。これは、データキーの暗号化に使用されるKMSキーマテリアルとは無関係です。

AdvanceGenerateDataKeyとGenerateDataKeyの違い

AdvanceGenerateDataKey操作とGenerateDataKey操作を呼び出して、データキーを生成できます。 次のセクションでは、2つの操作の違いについて説明します。

  • AdvanceGenerateDataKey: キーのプライマリバージョンが暗号化に使用されます。 暗号化後、暗号文データキー (CiphertextBlob) と認証データ (Aad) を格納する必要があります。 データを復号化するには、AdvanceDecrypt操作を呼び出す必要があります。

  • GenerateDataKey: キーの初期バージョンは暗号化に使用されます。 暗号化後、暗号文データキー (CiphertextBlob) 、初期ベクトル (Iv) 、暗号化アルゴリズム (algorithm) 、および認証データ (Aad) を格納する必要があります。 データを復号するには、DecryptまたはAdvanceDecrypt操作を呼び出します。

重要

自動キーローテーションを有効にする場合は、AdvanceGenerateDataKey操作を呼び出してデータキーを生成し、キーローテーション機能が無効にならないようにする必要があります。 キーローテーションの詳細については、「キーローテーションの設定」をご参照ください。

制限事項

この操作は、ソフトウェアキー管理タイプのKMSインスタンスの対称キーに対してのみ呼び出すことができます。 キーの仕様と暗号化モードの詳細については、「キーの種類と仕様」をご参照ください。

リクエストパラメーター

パラメーター

必須 / 任意

説明

KeyId

String

はい。

key-hzz62f1cb66fa42qo ****

キーのグローバル一意ID。 キーにバインドされているエイリアスに値を設定できます。

重要

ソフトウェアキー管理タイプのKMSインスタンスでは、キーは対称キーである必要があります。

NumberOfBytes

int

対象

32

生成されるデータキーの長さ。

Aad

binary

非対象

バイナリデータ

GCMモードでデータキーを暗号化するときの認証データ。

重要

このパラメーターを指定する場合、AdvanceDecrypt操作を呼び出すときにAadを指定する必要があります。

レスポンスパラメーター

パラメーター

タイプ

説明

CiphertextBlob

バイト

バイナリ暗号文

暗号文データキー。

説明

CiphertextBlobには、キーID (KeyId) 、暗号化アルゴリズム (algorithm) 、データの暗号化に使用される初期ベクトル (Iv) などの情報が含まれています。 AdvanceDecrypt操作を呼び出してデータを復号する場合、CiphertextBlobとAadを設定するだけで済みます。

Plaintext

バイト

バイナリ平文

平文データキー。

KeyId

String

key-hzz62f1cb66fa42qo ****

キーのグローバル一意ID。 リクエスト内のKeyIdがエイリアスに設定されている場合、エイリアスがバインドされているキーのグローバル一意IDがレスポンスで返されます。

KeyVersionId

String

key-hzz62f1cb66fa42qo ****-17kedv ****

データキーの暗号化に使用されるキーバージョンのID。

アルゴリズム

String

AES_GCM

暗号化アルゴリズム。

Iv

バイト

バイナリデータ

データキーの暗号化に使用される初期ベクトル。

RequestId

String

c0065a6d-7784-4ef2-a692-288fdcbc7b9d

リクエスト ID。

エラーコード

HTTPステータスコード

エラーコード

エラーメッセージ

説明

404

Forbidden.OnlySymmetricKeySupported

キー % sは対称キーではありません。 APIは対称キーのみをサポートします。

対称キーのみがサポートされています。

エラーコードのリストについては、「サービスエラーコード」をご参照ください。