Menghasilkan kunci data acak yang digunakan untuk mengenkripsi data secara lokal.
Deskripsi operasi
-
Untuk informasi tentang izin yang diperlukan untuk memanggil operasi ini, lihat Resource Access Management.
-
Operasi ini dapat dipanggil menggunakan gateway bersama atau gateway khusus. Untuk informasi selengkapnya, lihat Alibaba Cloud SDK.
Gateway bersama: Anda dapat mengakses KMS melalui Internet atau VPC. Untuk mengakses KMS melalui Internet, Anda harus mengaktifkan titik akhir publik. Untuk informasi selengkapnya, lihat Mengakses kunci dalam instans KMS melalui Internet.
Gateway khusus: Anda dapat mengakses KMS menggunakan titik akhir pribadi KMS (
<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com).
Batas QPS
Jika Anda menggunakan gateway bersama untuk memanggil operasi ini, batas queries per second (QPS) untuk satu pengguna adalah 1.000. Jika batas tersebut dilampaui, panggilan API akan dikenai pengendalian aliran, yang dapat memengaruhi bisnis Anda. Kami menyarankan agar Anda memanggil operasi ini dengan laju yang wajar.
Jika Anda menggunakan gateway khusus untuk memanggil operasi ini, batas QPS untuk satu pengguna didasarkan pada kinerja komputasi instans KMS Anda. Untuk informasi selengkapnya, lihat Metrik kinerja.
Deskripsi
Operasi ini menghasilkan kunci data acak, mengenkripsi kunci data tersebut menggunakan customer master key (CMK) yang ditentukan, lalu mengembalikan teks biasa dan ciphertext dari kunci data tersebut. Anda dapat menggunakan teks biasa kunci data untuk mengenkripsi data secara lokal di luar KMS. Saat menyimpan data terenkripsi, Anda juga harus menyimpan ciphertext kunci data tersebut. Teks biasa kunci data tersedia di bidang Plaintext, sedangkan ciphertext-nya tersedia di bidang CiphertextBlob dalam respons.
CMK yang Anda tentukan dalam permintaan hanya digunakan untuk mengenkripsi kunci data dan tidak terlibat dalam pembuatan kunci data tersebut. KMS tidak mencatat atau menyimpan kunci data acak yang dihasilkan. Anda bertanggung jawab atas persistensi ciphertext kunci data tersebut.
Kami menyarankan langkah-langkah berikut untuk mengenkripsi data secara lokal:
Untuk mendekripsi data secara lokal:
Topik ini memberikan contoh cara menghasilkan kunci data acak untuk kunci dengan ID key-hzz630494463ejqjx****.
3. Simpan ciphertext kunci data yang dikembalikan dalam bidang CiphertextBlob pada respons, bersama dengan data terenkripsi.
Untuk mendekripsi data secara lokal:
Panggil operasi Decrypt untuk mendekripsi ciphertext kunci data yang disimpan. Operasi ini mengembalikan teks biasa kunci data.
Gunakan teks biasa kunci data tersebut untuk mendekripsi data secara lokal, lalu hapus teks biasa kunci data tersebut dari memori.
Topik ini memberikan contoh cara menghasilkan kunci data acak untuk kunci dengan ID key-hzz630494463ejqjx****.
Coba sekarang
Test
RAM authorization
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| KeyId |
string |
Yes |
ID kunci. Anda juga dapat menentukan alias atau Nama Sumber Daya Alibaba Cloud (ARN) kunci tersebut. Untuk informasi selengkapnya tentang alias, lihat Mengelola alias. Catatan
Saat Anda mengakses kunci di Akun Alibaba Cloud lain, Anda harus memasukkan ARN kunci tersebut. Format ARN kunci adalah |
key-hzz630494463ejqjx**** |
| KeySpec |
string |
No |
Panjang kunci data yang akan dihasilkan. Nilai yang valid:
Catatan
Kami menyarankan agar Anda menggunakan parameter KeySpec atau NumberOfBytes untuk menentukan panjang kunci data. Jika Anda tidak menentukan salah satu parameter tersebut, KMS akan menghasilkan kunci data 256-bit. Jika Anda menentukan kedua parameter tersebut, KMS akan mengabaikan parameter KeySpec. |
AES_256 |
| NumberOfBytes |
integer |
No |
Panjang kunci data yang ingin Anda hasilkan. Satuan: byte. Nilai yang valid: 1 hingga 1024. Nilai default:
|
256 |
| EncryptionContext |
object |
No |
String JSON yang terdiri dari pasangan kunci-nilai. Jika Anda menentukan parameter ini, Anda juga harus menentukan parameter yang sama saat memanggil operasi Decrypt. Untuk informasi selengkapnya, lihat EncryptionContext. |
{"Example":"Example"} |
| DryRun |
string |
No |
Menentukan apakah mode DryRun diaktifkan.
Mode DryRun digunakan untuk menguji pemanggilan API. Mode ini memverifikasi apakah Anda memiliki izin untuk mengakses resource yang ditentukan dan apakah parameter permintaan valid. Jika Anda mengaktifkan mode DryRun, KMS selalu mengembalikan respons kegagalan beserta alasan kegagalannya. Alasan kegagalan tersebut meliputi:
|
false |
Untuk informasi tentang parameter permintaan umum, lihat Parameter umum.
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
|||
| KeyVersionId |
string |
Pengidentifikasi unik global dari versi kunci. |
2ab1a983-7072-4bbc-a582-584b5bd8**** |
| KeyId |
string |
ID kunci. Jika Anda menggunakan alias kunci atau ARN kunci dalam parameter KeyId permintaan, ID kunci juga akan dikembalikan dalam respons. |
key-hzz630494463ejqjx**** |
| CiphertextBlob |
string |
Ciphertext kunci data yang dienkripsi oleh versi primary kunci yang ditentukan. |
ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS**** |
| RequestId |
string |
ID permintaan, yaitu pengidentifikasi unik yang dihasilkan oleh Alibaba Cloud untuk permintaan tersebut. Anda dapat menggunakan ID permintaan ini untuk memecahkan masalah dan melacak isu. |
7021b6ec-4be7-4d3c-8a68-1e85d4d515a0 |
| Plaintext |
string |
Teks biasa kunci data yang dikodekan Base64. |
QmFzZTY0IGVuY29kZWQgcGxhaW50**** |
Contoh
Respons sukses
JSONformat
{
"KeyVersionId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
"KeyId": "key-hzz630494463ejqjx****",
"CiphertextBlob": "ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS****",
"RequestId": "7021b6ec-4be7-4d3c-8a68-1e85d4d515a0",
"Plaintext": "QmFzZTY0IGVuY29kZWQgcGxhaW50****"
}
Kode kesalahan
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | UnsupportedOperation | This action is not supported. | The operation is not supported. |
| 404 | Forbidden.AliasNotFound | The specified Alias is not found. | The error message returned because the specified alias does not exist. |
| 404 | Forbidden.KeyNotFound | The specified Key is not found. | The error message returned because the specified CMK does not exist. |
| 409 | Rejected.Disabled | The request was rejected because the key state is Disabled. | The request was rejected because the key state is Disabled. |
| 409 | Rejected.PendingDeletion | The request was rejected because the key state is PendingDeletion. | The request was rejected because the key state is PendingDeletion. |
| 409 | Rejected.Unavailable | The request was rejected because the key state is Unavailable. | The request was denied because the key status is unavailable. |
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.