暗号文を再暗号化します。 この操作を呼び出すと、KMSは最初に指定された暗号文を復号し、次に別のCMKを使用して取得した平文データまたはデータキーを暗号化し、暗号文を返します。

この操作は、次のシナリオで呼び出すことができます。

  • データの暗号化に使用されたCMKがローテーションされた後、この操作を呼び出して、最新バージョンのCMKを使用してデータを再暗号化できます。 自動キーローテーションの詳細については、「自動キーローテーションの設定」をご参照ください。
  • データの暗号化に使用されたCMKは変更されませんが、EncryptionContextは変更されます。 このシナリオでは、この操作を呼び出してデータを再暗号化できます。
  • この操作では、KMSでCMKを使用して、以前に別のCMKによって暗号化されたデータまたはデータキーを再暗号化することができます。

ReEncrypt操作を使用するには、2つの権限が必要です。

  • kms: ソースCMKのReEncryptFrom
  • kms: 宛先CMKのReEncryptTo
  • 簡単にするために、kms:ReEncrypt * を指定して、前述の両方の権限を許可できます。

デバッグ

OpenAPI Explorer は署名値を自動的に計算します。 この操作は、OpenAPI Explorer で呼び出すことを推奨します。 OpenAPI Explorer は、さまざまな SDK に対して操作のサンプルコードを動的に生成します。

リクエストパラメーター

パラメーター データ型 必須/任意 説明
アクション 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」をご参照ください。

設定可能な値は以下のとおりです。

  • RSAES_OAEP_SHA_256
  • RSAES_OAEP_SHA_1
  • SM2PKE
CiphertextBlobを、非対称暗号化操作後に返される公開鍵で暗号化された暗号文に設定した場合は、このパラメーターを指定します。
SourceEncryptionContext ジェソン 任意 {"例":"例"}

キーと値のペアで構成されるJSON文字列。 EncryptGenerateDataKeyGenerateDataKeyWithoutPlaintext、または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 エラーセンター」をご参照ください。