非対称データキーペアを生成します。
使用上の注意
この操作は、乱数ジェネレータを使用することによってデータ鍵ペアを生成し、対称鍵の初期バージョンを使用することによってデータ鍵ペアを暗号化し、データ鍵ペアの平文公開鍵、平文秘密鍵、および暗号文秘密鍵を返す。 データキーペアを使用して、key Management Service (KMS) の外部で署名検証を実行できます。
暗号文秘密鍵 (PrivateKeyCiphertextBlob) 、初期ベクトル (IV) 、暗号化アルゴリズム (algorithm) 、および認証データ (Aad) を安全な場所に保存します。 保存された情報は、Decrypt操作を呼び出して暗号文秘密鍵を復号化するときに使用されます。
KMSは、データキーペアを生成するための次の操作を提供します。 次の表に、操作の違いを示します。
API | シナリオ | 応答データ | 暗号化のキーバージョン | 操作の复号化 |
GenerateDataKey | キーの自動回転は設定されていないため、すぐにプレーンテキストの秘密キーを取得する必要があります。 | 平文公開鍵、平文秘密鍵、暗号文秘密鍵 | キーの初期バージョン | |
GenerateDataKeyPairWithoutPlaintext | キーに対して自動回転が設定されていないため、プレーンテキストの秘密キーを使用したり、より高いセキュリティを必要としません。 | 平文公開鍵と平文秘密鍵 | キーの初期バージョン | |
AdvanceGenerateDataKeyPair | 自動回転はキーに対して設定されており、すぐに平文の秘密キーを取得する必要があります。 説明 キーローテーションの詳細については、「キーローテーションの設定」をご参照ください。 | 平文公開鍵、平文秘密鍵、暗号文秘密鍵 | キーのプライマリバージョン | |
AdvanceGenerateDataKeyPairWithoutPlaintext | 自動回転はキーに対して設定されており、プレーンテキストの秘密キーを使用せず、より高いセキュリティを必要としません。 | 平文公開鍵と平文秘密鍵 | キーのプライマリバージョン |
注意事項
各KMSインスタンスは、GenerateDataKeyPair操作、GenerateDataKeyPairWithoutPlaintext操作、AdvanceGenerateDataKeyPair操作、およびAdvanceGenerateDataPairWithoutPlaintext操作の要求を一度に1つだけ処理できます。 同時リクエストを制御することを推奨します。 同時リクエストの数が制限を超えると、KMSは429エラー (同時実行制限超過) を返します。
リクエストパラメーター
パラメーター | 型 | 必須 / 任意 | 例 | 説明 |
KeyId | String | 対象 | key-hzz62f1cb66fa42qo **** | キーのグローバル一意ID。 このパラメーターは、キーにバインドされているエイリアスに設定できます。 説明 ソフトウェアキー管理タイプのKMSインスタンスの対称キーのみがサポートされています。 |
KeyPairSpec | String | 対象 | RSA_2048 | データキーペアのタイプ。 有効な値:
|
Aad | バイト | 非対象 | バイナリデータ | ガロア /カウンターモード (GCM) モードでデータキーペアを暗号化したときの認証データ。 重要 このパラメーターを指定する場合、Decrypt操作を呼び出すときに同じパラメーターを指定する必要があります。 |
KeyFormat | String | 対象 | PEM | データキーペアの形式。 有効な値:
|
レスポンスパラメーター
パラメーター | タイプ | 例 | 説明 |
KeyId | String | key-hzz62f1cb66fa42qo **** | キーのグローバル一意ID。 リクエスト内のKeyIdがエイリアスに設定されている場合、エイリアスがバインドされているキーのグローバル一意IDが返されます。 |
Iv | バイト | バイナリデータ | データキーペアの暗号化に使用される初期ベクトル。 説明 Decrypt操作を呼び出してデータキーペアを復号化するときは、Ivに有効な値を指定する必要があります。 |
KeyPairSpec | String | RSA_2048 | データキーペアのタイプ。 |
PrivateKeyCiphertextBlob | バイト | バイナリデータ | データキーペアの暗号文秘密鍵。 |
PrivateKeyPlaintext | バイト | バイナリデータ | データキーペアの平文プライベートキー。
|
パブリックキー | バイト | バイナリデータ | データキーペアのプレーンテキストの公開キー。
|
アルゴリズム | String | AES_GCM | 暗号化アルゴリズム。 AES_GCMのみがサポートされています。 |
RequestId | String | 475f1620-b9d3-4d35-b5c6-3fbdd941423d | リクエストのID。問題の特定とトラブルシューティングに使用されます。 |
エラーコード
HTTPステータスコード | エラーコード | エラーメッセージ | 説明 |
429 | 拒否されました。スロットリング | 同時実行制限を超えました。 | 同時リクエストの数が制限を超えています。 |
エラーコードのリストについては、「サービスエラーコード」をご参照ください。