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
Test
RAM authorization
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| CiphertextBlob |
string |
Yes |
Ciphertext yang ingin Anda enkripsi ulang.
|
ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901q******** |
| SourceKeyId |
string |
No |
ID kunci master yang digunakan untuk mendekripsi ciphertext. 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.
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.
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:
|
false |
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
|||
| KeyId |
string |
ID kunci master yang digunakan untuk mendekripsi ciphertext. |
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.