All Products
Search
Document Center

Key Management Service:GenerateDataKeyWithoutPlaintext

Last Updated:Jun 10, 2026

Menghasilkan kunci data acak hanya dalam bentuk ciphertext, tanpa salinan teks biasa.

Deskripsi operasi

Tindakan Pencegahan

  • Untuk informasi tentang kebijakan akses yang diperlukan pengguna RAM atau peran RAM untuk menggunakan operasi ini, lihat Resource Access Management.

  • Operasi ini dapat diakses melalui gateway bersama atau gateway khusus. Untuk informasi lebih lanjut, lihat Alibaba Cloud SDK.

    • Gateway bersama: Akses KMS melalui Internet atau melalui nama domain VPC. Metode ini memerlukan akses Internet yang diaktifkan. Untuk informasi lebih lanjut, lihat Kunci akses dalam instance KMS melalui Internet.

    • Gateway khusus: Akses KMS melalui endpoint privat KMS (<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com).

Batas QPS

  • Panggilan melalui gateway bersama: Batas queries per second (QPS) untuk satu pengguna adalah 1.000. Jika Anda melampaui batas ini, permintaan akan dibatasi, yang dapat memengaruhi bisnis Anda. Kami menyarankan Anda untuk tetap berada dalam batas ini.

  • Panggilan melalui gateway khusus: Batas QPS untuk satu pengguna bergantung pada performa komputasi instance KMS Anda. Untuk informasi lebih lanjut, lihat Metrik performa.

Detail

Operasi ini menghasilkan kunci data acak, mengenkripsinya dengan customer master key (CMK) simetris yang ditentukan, dan mengembalikan ciphertext dari kunci data tersebut. Operasi ini menyediakan fitur yang sama dengan GenerateDataKey. Satu-satunya perbedaan adalah operasi ini tidak mengembalikan teks biasa dari kunci data.

CMK yang Anda tentukan dalam permintaan hanya digunakan untuk mengenkripsi kunci data. CMK tersebut tidak digunakan untuk menghasilkan kunci data. KMS tidak mencatat atau menyimpan kunci data yang dihasilkan secara acak.

Catatan
  • Operasi ini cocok untuk sistem yang tidak perlu segera menggunakan kunci data untuk enkripsi data. Ketika enkripsi diperlukan, sistem akan memanggil API Decrypt untuk mendekripsi ciphertext kunci data.

  • Operasi ini juga cocok untuk sistem terdistribusi dengan tingkat kepercayaan yang berbeda. Sebagai contoh, sistem Anda menyimpan data dalam partisi yang berbeda berdasarkan kebijakan yang telah ditentukan. Sebuah modul membuat partisi data ini terlebih dahulu dan menghasilkan kunci data unik untuk masing-masing. Setelah modul ini menginisialisasi control plane, ia bertindak sebagai distributor kunci dan tidak memproduksi atau mengonsumsi data. Ketika modul data plane memproduksi dan mengonsumsi data, mereka pertama-tama mengambil ciphertext kunci data untuk sebuah partisi. Mereka kemudian mendekripsi ciphertext dan menggunakan kunci data teks biasa untuk mengenkripsi atau mendekripsi data. Akhirnya, mereka menghapus kunci data teks biasa dari memori. Dalam sistem seperti itu, distributor kunci tidak perlu mengakses teks biasa dari kunci data. Ia hanya memerlukan izin `GenerateDataKeyWithoutPlaintext` untuk CMK yang relevan. Produsen dan konsumen data tidak perlu menghasilkan kunci data baru. Mereka hanya memerlukan izin `Decrypt` untuk CMK yang relevan.

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

KeyId

string

Yes

ID unik global dari CMK. Anda juga dapat menentukan alias yang terikat pada CMK. Untuk informasi lebih lanjut tentang cara menggunakan alias, lihat Ikhtisar alias.

599fa825-17de-417e-9554-bb032cc6****

KeySpec

string

No

Panjang kunci data yang akan dihasilkan. Nilai valid:

  • AES_256: kunci simetris 256-bit.

  • AES_128: kunci simetris 128-bit.

Catatan

Gunakan KeySpec atau NumberOfBytes untuk menentukan panjang kunci data. Jika Anda tidak menentukan salah satu parameter, KMS akan menghasilkan kunci data 256-bit. Jika Anda menentukan kedua parameter, KMS akan mengabaikan parameter KeySpec.

AES_256

NumberOfBytes

integer

No

Panjang kunci data yang akan dihasilkan.
Nilai valid: 1 hingga 1024.
Satuan: byte.




.

256

EncryptionContext

object

No

String JSON berisi pasangan kunci-nilai. Jika Anda menentukan parameter ini, Anda harus memberikan parameter yang sama saat memanggil operasi Decrypt. Untuk informasi lebih lanjut, lihat EncryptionContext.

{"Example":"Example"}

DryRun

string

No

Menentukan apakah akan mengaktifkan mode DryRun. Nilai valid:

  • true: mengaktifkan mode DryRun.

  • false (default): menonaktifkan mode DryRun.

Mode DryRun digunakan untuk menguji panggilan API, memverifikasi izin Anda pada sumber daya yang diperlukan, dan memeriksa apakah parameter permintaan valid. Jika Anda mengaktifkan mode DryRun, KMS akan mengembalikan respons kegagalan dengan alasannya. Alasan kegagalan meliputi:

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

  • ValidationError: Parameter permintaan tidak valid.

  • AccessDeniedError: Anda tidak memiliki izin untuk melakukan operasi ini pada sumber daya KMS.

false

Elemen respons

Element

Type

Description

Example

object

KeyVersionId

string

ID versi kunci yang digunakan untuk mengenkripsi teks biasa. Ini adalah versi utama dari CMK yang ditentukan.

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

KeyId

string

Pengidentifikasi unik global dari CMK.

Catatan

Jika Anda menggunakan alias CMK dalam parameter KeyId pada permintaan, ID CMK akan dikembalikan.

599fa825-17de-417e-9554-bb032cc6****

CiphertextBlob

string

Ciphertext dari kunci data. Kunci data dienkripsi menggunakan versi utama dari CMK yang ditentukan.

ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS****

RequestId

string

ID permintaan. ID ini adalah pengidentifikasi unik global yang dihasilkan oleh Alibaba Cloud untuk permintaan tersebut. Anda dapat menggunakan ID ini untuk memecahkan masalah dan menemukan sumber masalah.

7021b6ec-4be7-4d3c-8a68-1e85d4d515a0

Contoh

Respons sukses

JSONformat

{
  "KeyVersionId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
  "KeyId": "599fa825-17de-417e-9554-bb032cc6****",
  "CiphertextBlob": "ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS****",
  "RequestId": "7021b6ec-4be7-4d3c-8a68-1e85d4d515a0"
}

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.
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.