この操作は、ランダムなデータキーを生成します。 データキーは、カスタマーマスターキー (CMK) と指定した公開キーを使用して暗号化されます。 この操作は、CMK によって暗号化されたデータキーの暗号文と、公開キーによって暗号化されたデータキーの暗号文を返します。
操作説明
注意事項
-
RAM ユーザーまたは RAM ロールがこの操作を呼び出すために必要なアクセス ポリシーの詳細については、「リソースアクセス管理」をご参照ください。
-
この操作は、共有ゲートウェイまたは専用ゲートウェイを使用して呼び出すことができます。 詳細については、「Alibaba Cloud SDK」をご参照ください。
共有ゲートウェイ: インターネットまたは VPC 経由で KMS にアクセスできます。 インターネット経由で KMS にアクセスするには、インターネットアクセスを有効にする必要があります。 詳細については、「インターネット経由で KMS インスタンスにアクセスする」をご参照ください。
専用ゲートウェイ: KMS のプライベートエンドポイント (
<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com) を使用して KMS にアクセスできます。
説明
データの暗号化と復号のために、次のように暗号モジュールにデータキーをインポートすることをお勧めします。
1. GenerateAndExportDataKey 操作を呼び出して、KMS キーと指定された公開キーによって暗号化されたデータキーを取得します。
2. キーのバックアップと回復のために、KMS キーによって暗号化されたデータキーの暗号文を KMS または ApsaraDB などのストレージ サービスに保存します。
3. 公開キーで暗号化されたデータキーの暗号文を、対応する秘密キーを含む暗号モジュールにインポートします。 このプロセスは、KMS から暗号モジュールにキーを配布します。 その後、データキーを使用してデータを暗号化および復号できます。
リクエストで指定する KMS キーは、データキーの暗号化にのみ使用され、データキーの生成には使用されません。 KMS は、ランダムに生成されたデータキーを記録または保存しません。 データキーまたはその暗号文を記録することは、お客様の責任となります。
今すぐお試しください
テスト
RAM 認証
リクエストパラメーター
|
パラメーター |
タイプ |
必須 / 任意 |
説明 |
例 |
| KeyId |
string |
必須 |
キーの ID。 キーのエイリアスまたは Amazon リソースネーム (ARN) を指定することもできます。 エイリアスの詳細については、「エイリアスの管理」をご参照ください。 説明
別の Alibaba Cloud アカウントのキーにアクセスするには、キーの ARN を指定する必要があります。 キー ARN の形式は |
1234abcd-12ab-34cd-56ef-12345678**** |
| KeySpec |
string |
任意 |
生成するデータキーの長さ。 有効な値:
説明
KeySpec パラメーターまたは NumberOfBytes パラメーターを使用してデータキーの長さを指定することをお勧めします。 いずれのパラメーターも指定しない場合、KMS は 256 ビットのデータキーを生成します。 両方のパラメーターを指定した場合、KMS は KeySpec パラメーターを無視します。 |
AES_256 |
| NumberOfBytes |
integer |
任意 |
生成するデータキーの長さ。 有効な値: 1 ~ 1024。 単位: バイト。 |
32 |
| EncryptionContext |
object |
任意 |
キーと値のペアで構成される JSON 文字列。 このパラメーターを指定する場合は、Decrypt 操作またはデータキーを再暗号化する他の操作を呼び出すときに同じパラメーターを指定する必要があります。 詳細については、「EncryptionContext」をご参照ください。 |
{"Example":"Example"} |
| PublicKeyBlob |
string |
必須 |
Base64 でエンコードされた公開キー。 |
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAndKfC2ReLL2+y8a0+ZBBeAft/uBYo86GZiYJuflqgUzKxpyuvlo3uQkBv6b+nx+0tz8g8v7GhpPWMSW5L9mNHYsvYFsa7jTxsYdt17yj6GlUHPuMIs8hr5qbwl38IHU1iIa7nYWwE2fb3ePOvLDACRJVgGpU0yxioW80d2QD+9aU4jF5dlAahcfgsNzo2CXzCUc1+xbmNuq7Rp+H9VJB9dyYOwqnW3RhOLBo21FzpORapf0UiRlrHRpk1V6ez+aE1dofaYh/9bh0m6ioxj7j5hpZbWccuEZTMBKd+cbuBkRhJzc6Tti6qwZbDiu4fUwbZS0Tqpuo1UadiyxMW******** |
| WrappingKeySpec |
string |
必須 |
PublicKeyBlob で指定されたキーのタイプ。 キータイプの詳細については、「非対称キーの概要」をご参照ください。
|
RSA_2048 |
| WrappingAlgorithm |
string |
必須 |
PublicKeyBlob で指定された公開キーを使用してデータキーを暗号化するために使用される暗号化アルゴリズム。 暗号化アルゴリズムの詳細については、「AsymmetricDecrypt」をご参照ください。
|
RSAES_OAEP_SHA_256 |
| DryRun |
string |
任意 |
ドライラン機能を有効にするかどうかを指定します。
ドライランモードは、API 呼び出しをテストし、アクセス権を持つリソースの権限とリクエストパラメーターの有効性を検証するために使用されます。 ドライランモードを有効にすると、KMS は常にエラー応答とエラーの原因を返します。 次のようなエラー原因が含まれます。
|
false |
レスポンスパラメーター
|
パラメーター |
タイプ |
説明 |
例 |
|
object |
|||
| KeyVersionId |
string |
プレーンテキストの暗号化に使用されるキーバージョンの ID。 指定された KMS キーのプライマリバージョンです。 |
2ab1a983-7072-4bbc-a582-584b5bd8**** |
| KeyId |
string |
キーの ID。 リクエストでキーエイリアスまたはキー ARN を使用した場合、キー ID が返されます。 |
599fa825-17de-417e-9554-bb032cc6**** |
| CiphertextBlob |
string |
データキーの暗号文。 データキーは、指定された KMS キーのプライマリバージョンを使用して暗号化されます。 |
ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS**** |
| RequestId |
string |
リクエストの ID。Alibaba Cloud によって生成される一意の識別子です。 リクエスト ID を使用して問題のトラブルシューティングを行うことができます。 |
7021b6ec-4be7-4d3c-8a68-1e85d4d515a0 |
| ExportedDataKey |
string |
公開キーによって保護されているエクスポートされたデータキー。 |
BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVs******* |
例
成功レスポンス
JSONJSON
{
"KeyVersionId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
"KeyId": "599fa825-17de-417e-9554-bb032cc6****",
"CiphertextBlob": "ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS****",
"RequestId": "7021b6ec-4be7-4d3c-8a68-1e85d4d515a0",
"ExportedDataKey": "BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVs*******"
}
エラーコード
|
HTTP ステータスコード |
エラーコード |
エラーメッセージ |
説明 |
|---|---|---|---|
| 400 | InvalidParameter | The specified parameter is not valid. | |
| 500 | InternalFailure | InternalFailure | |
| 404 | Forbidden.KeyNotFound | The specified Key is not found. | アクセスキーが有効になっていません。 |
| 404 | InvalidAccessKeyId.NotFound | The Access Key ID provided does not exist in our records. |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。