暗号文を再暗号化します。 この操作を呼び出すと、KMSは最初に指定された暗号文を復号し、次に別のCMKを使用して取得した平文データまたはデータキーを暗号化し、暗号文を返します。
この操作は、次のシナリオで呼び出すことができます。
- データの暗号化に使用されたCMKがローテーションされた後、この操作を呼び出して、最新バージョンのCMKを使用してデータを再暗号化できます。 自動キーローテーションの詳細については、「自動キーローテーションの設定」をご参照ください。
- データの暗号化に使用されたCMKは変更されませんが、EncryptionContextは変更されます。 このシナリオでは、この操作を呼び出してデータを再暗号化できます。
- この操作では、KMSでCMKを使用して、以前に別のCMKによって暗号化されたデータまたはデータキーを再暗号化することができます。
ReEncrypt操作を使用するには、2つの権限が必要です。
- kms: ソースCMKのReEncryptFrom
- kms: 宛先CMKのReEncryptTo
- 簡単にするために、kms:ReEncrypt * を指定して、前述の両方の権限を許可できます。
デバッグ
リクエストパラメーター
パラメーター | データ型 | 必須/任意 | 例 | 説明 |
---|---|---|---|---|
アクション | String | 必須 | ReEncrypt |
実行する操作です。 値をReEncryptに設定します。 |
CiphertextBlob | String | 必須 | ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b + i6kQmlvj79dJdGOvtX69Uycs901q ******** |
再暗号化する暗号文。 このパラメーターは、対称または非対称の暗号化操作の後に返される暗号文に設定できます。
|
DestinationKeyId | String | 必須 | 1234abcd-12ab-34cd-56ef-12345678 **** |
暗号文が復号化された後に暗号文を再暗号化するために使用される対称CMKのID。 |
SourceKeyId | String | 任意 | 5c438b18-05be-40ad-b6c2-3be6752c **** |
暗号文の復号化に使用されるCMKのID。 このパラメーターは、CMKのグローバル一意IDです。 注 CiphertextBlobを、非対称暗号化操作後に返される公開鍵で暗号化された暗号文に設定した場合は、このパラメーターを指定します。
|
SourceKeyVersionId | String | 任意 | 2ab1a983-7072-4bbc-a582-584b5bd8 **** |
暗号文の復号化に使用されるCMKバージョンのID。 注 CiphertextBlobを、非対称暗号化操作後に返される公開鍵で暗号化された暗号文に設定した場合は、このパラメーターを指定します。
|
SourceEncryptionAlgorithm | String | 任意 | RSAES_OAEP_SHA_256 |
CiphertextBlobで指定された暗号文の暗号化に使用される公開鍵に基づく暗号化アルゴリズム。 暗号化アルゴリズムの詳細については、「AsymmetricDecrypt」をご参照ください。 設定可能な値は以下のとおりです。
注 CiphertextBlobを、非対称暗号化操作後に返される公開鍵で暗号化された暗号文に設定した場合は、このパラメーターを指定します。
|
SourceEncryptionContext | ジェソン | 任意 | {"例":"例"} |
キーと値のペアで構成されるJSON文字列。 Encrypt、GenerateDataKey、GenerateDataKeyWithoutPlaintext、またはGenerateAndExportDataKey操作を呼び出してデータまたはデータキーを暗号化するときにEncryptionContextを指定した場合、ここで同等の値が必要です。 詳細については、「EncryptionContext」をご参照ください。 注 CiphertextBlobを対称暗号化操作の後に返される暗号文に設定する場合は、このパラメーターを指定します。
|
DestinationEncryptionContext | ジェソン | 任意 | {"例":"例"} |
キーと値のペアで構成されるJSON文字列。 このパラメーターには、復号化されたデータまたはデータキーを再暗号化するために使用されるEncryptionContextを指定します。 |
レスポンスパラメーター
パラメーター | データ型 | 例 | 説明 |
---|---|---|---|
CiphertextBlob | String | DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl + TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK **** |
暗号文が再暗号化されました。 |
KeyId | String | 2ab1a983-7072-4bbc-a582-584b5bd8 **** |
元の暗号文を復号化するために使用されるCMKのID。 このパラメーターは、CMKのグローバル一意IDです。 |
KeyVersionId | String | 202b9877-5a25-46e3-a763-e20791b5 **** |
元の暗号文を復号化するために使用されるCMKバージョンのID。 |
RequestId | String | 207596a2-36d3-4840-b1bd-f87044699bd7 |
リクエストの ID です。 |
例
リクエストの例
http(s)://[Endpoint]/?Action=ReEncrypt
&CiphertextBlob=ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b + i6kQmlvj79dJdGOvtX69Uycs901q ********
&DestinationKeyId=1234abcd-12ab-34cd-56ef-12345678 ****
&<共通リクエストパラメーター>
正常に処理された場合のレスポンス例
XML
形式
<KMS>
<KeyId>202b9877-5a25-46e3-a763-e20791b5****</KeyId>
<KeyVersionId>2ab1a983-7072-4bbc-a582-584b5bd8****</KeyVersionId>
<CiphertextBlob>DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl + TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK ****</CiphertextBlob>
<RequestId>4bd560a1-729e-45f1-a3d9-b2a33d61046b</RequestId>
</KMS>
JSON
形式
{
"KeyId": "202b9877-5a25-46e3-a763-e20791b5****",
"KeyVersionId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
"CiphertextBlob": "DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl + TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK ****" 、
"RequestId": "4bd560a1-729e-45f1-a3d9-b2a33d61046b"
}
エラーコード
HTTP ステータスコード | エラーコード | エラーメッセージ | 説明 |
---|---|---|---|
500 | InternalFailure | 内部エラーが発生しました。 | 内部エラーが発生した場合に返されるエラーメッセージです。 しばらくしてから再試行します。 エラーが解決しない場合は、チケットを起票してください。 |
エラーコードリストについては、「API エラーセンター」をご参照ください。