All Products
Search
Document Center

Key Management Service:ReEncrypt

Last Updated:Dec 21, 2025

Mengenkripsi ulang ciphertext. Operasi ini mendekripsi ciphertext, lalu mengenkripsi ulang data atau kunci data tersebut menggunakan kunci master baru, dan mengembalikan ciphertext yang telah dienkripsi ulang.

Deskripsi operasi

Catatan

  • Untuk informasi selengkapnya mengenai kebijakan akses yang diperlukan guna memberikan izin kepada pengguna RAM atau peran RAM agar dapat memanggil OpenAPI ini, lihat Resource Access Management.

  • API ini hanya dapat dipanggil melalui shared gateway, bukan dedicated gateway. Untuk informasi selengkapnya, lihat Alibaba Cloud SDK.

    Saat memanggil API melalui shared gateway, Anda mengakses KMS melalui Nama domain Internet atau VPC. Metode ini mengharuskan Anda mengaktifkan akses Internet. Untuk informasi selengkapnya, lihat Access keys in a KMS instance over the Internet.

Batas QPS

API ini hanya dapat dipanggil melalui shared gateway. Batas permintaan per detik (QPS) untuk satu pengguna pada API ini adalah 750. Jika batas ini terlampaui, panggilan API akan mengalami pengendalian aliran (throttled), yang dapat memengaruhi bisnis Anda. Kami menyarankan agar Anda memanggil API ini dalam batas yang ditentukan.

Detail

Operasi ReEncrypt dapat digunakan dalam skenario berikut:

  • Setelah customer master key (CMK) mengalami rotasi kunci, Anda dapat menggunakan versi kunci terbaru untuk mengenkripsi ulang data. Untuk informasi selengkapnya mengenai rotasi kunci otomatis, lihat Automatic key rotation.

  • Anda dapat mengenkripsi ulang data dengan mengubah konteks enkripsi tanpa mengganti kunci master.

  • Anda dapat mengenkripsi ulang data atau kunci data yang dienkripsi oleh satu kunci master menggunakan kunci master lain di KMS.

Operasi ReEncrypt memerlukan izin berikut:

  • Izin kms:ReEncryptFrom untuk kunci master sumber.

  • Izin kms:ReEncryptTo untuk kunci master tujuan.

  • Anda dapat menggunakan kms:ReEncrypt* untuk memberikan kedua izin tersebut sekaligus.

Coba sekarang

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tidak ada otorisasi untuk operasi ini. Jika Anda mengalami masalah saat menjalankan operasi ini, hubungi dukungan teknis.

Parameter permintaan

Parameter

Type

Required

Description

Example

CiphertextBlob

string

Yes

Ciphertext yang ingin Anda enkripsi ulang.
Parameter ini dapat berupa ciphertext yang dikembalikan setelah enkripsi kunci simetris atau asimetris.

ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901q********

SourceKeyId

string

No

ID kunci master yang digunakan untuk mendekripsi ciphertext.
Identifier unik global dari kunci master tersebut.

Catatan

Anda harus menentukan parameter ini ketika CiphertextBlob merupakan data yang dienkripsi menggunakan kunci publik setelah enkripsi kunci asimetris.

5c438b18-05be-40ad-b6c2-3be6752c****

SourceKeyVersionId

string

No

ID versi kunci yang digunakan untuk mendekripsi ciphertext.

Catatan

Anda harus menentukan parameter ini ketika CiphertextBlob merupakan data yang dienkripsi menggunakan kunci publik setelah enkripsi kunci asimetris.

2ab1a983-7072-4bbc-a582-584b5bd8****

SourceEncryptionAlgorithm

string

No

Jika CiphertextBlob merupakan hasil enkripsi kunci publik, tentukan algoritma enkripsi kunci publik tersebut. Untuk informasi selengkapnya mengenai algoritma tersebut, lihat AsymmetricDecrypt.
Nilai yang valid:

  • RSAES_OAEP_SHA_256

  • RSAES_OAEP_SHA_1

  • SM2PKE

Catatan

Anda harus menentukan parameter ini ketika CiphertextBlob merupakan data yang dienkripsi menggunakan kunci publik setelah enkripsi kunci asimetris.

RSAES_OAEP_SHA_256

SourceEncryptionContext

object

No

String JSON yang terdiri atas pasangan kunci-nilai. Jika Anda menentukan parameter ini saat memanggil operasi Encrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintext, atau GenerateAndExportDataKey, Anda harus menentukan parameter yang sama untuk mendekripsi data tersebut. Untuk informasi selengkapnya, lihat EncryptionContext.

Catatan

Anda harus menentukan parameter ini ketika CiphertextBlob merupakan ciphertext yang dikembalikan setelah enkripsi simetris.

{"Example":"Example"}

DestinationKeyId

string

Yes

ID kunci master simetris yang digunakan untuk mengenkripsi ulang data setelah ciphertext didekripsi.

1234abcd-12ab-34cd-56ef-12345678****

DestinationEncryptionContext

object

No

String JSON yang terdiri atas pasangan kunci-nilai. Parameter ini menentukan konteks enkripsi untuk kunci master tujuan.

{"Example":"Example"}

DryRun

string

No

Menentukan apakah mode DryRun diaktifkan.

  • true: mengaktifkan mode DryRun.

  • false (default): menonaktifkan mode DryRun.

Mode DryRun digunakan untuk menguji pemanggilan API, memverifikasi apakah Anda memiliki izin untuk melakukan operasi pada resource yang diperlukan, serta memeriksa apakah parameter permintaan valid. Jika Anda mengaktifkan mode DryRun, KMS selalu mengembalikan kegagalan beserta alasannya. Alasan kegagalan tersebut meliputi:

  • DryRunOperationError: Permintaan akan berhasil jika parameter DryRun tidak dikonfigurasi.

  • ValidationError: Parameter yang ditentukan dalam permintaan tidak valid.

  • AccessDeniedError: Anda tidak memiliki otorisasi untuk melakukan operasi pada resource KMS.

false

Elemen respons

Element

Type

Description

Example

object

KeyId

string

ID kunci master yang digunakan untuk mendekripsi ciphertext.
Identifier unik global dari kunci master tersebut.

2ab1a983-7072-4bbc-a582-584b5bd8****

KeyVersionId

string

ID versi kunci yang digunakan untuk mendekripsi ciphertext dari kunci master tersebut.

202b9877-5a25-46e3-a763-e20791b5****

CiphertextBlob

string

Ciphertext yang dienkripsi ulang menggunakan kunci master yang ditentukan.

DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl+TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK****

RequestId

string

ID permintaan. ID ini merupakan identifier unik global yang dihasilkan oleh Alibaba Cloud untuk permintaan tersebut. Anda dapat menggunakan ID ini untuk memecahkan masalah.

207596a2-36d3-4840-b1bd-f87044699bd7

Contoh

Respons sukses

JSONformat

{
  "KeyId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
  "KeyVersionId": "202b9877-5a25-46e3-a763-e20791b5****",
  "CiphertextBlob": "DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl+TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK****",
  "RequestId": "207596a2-36d3-4840-b1bd-f87044699bd7"
}

Kode kesalahan

HTTP status code

Error code

Error message

Description

400 InvalidParameter The specified parameter is not valid. An invalid value is specified for the parameter.
500 InternalFailure Internal Failure.
404 InvalidAccessKeyId.NotFound The Access Key ID provided does not exist in our records.
404 Forbidden.KeyNotFound The specified Key is not found. The error message returned because the specified CMK does not exist.

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.