Menghasilkan kunci data.
Catatan penggunaan
Ikhtisar
Operasi ini menghasilkan kunci data menggunakan generator angka acak, mengenkripsi kunci data dengan versi awal dari kunci Key Management Service (KMS), dan mengembalikan kunci data teks biasa serta kunci data teks terenkripsi. Anda dapat menggunakan kunci data teks biasa untuk mengenkripsi data di luar KMS. Setelah enkripsi, pastikan menyimpan kunci data teks terenkripsi (CiphertextBlob), vektor awal (Iv), algoritma enkripsi (Algorithm), dan data autentikasi (Aad) untuk keperluan dekripsi.
Untuk informasi lebih lanjut tentang spesifikasi kunci dan mode enkripsi, lihat Jenis dan Spesifikasi Kunci.
Hanya mode Galois/Counter Mode (GCM) yang didukung saat mengenkripsi kunci data.
KMS menggunakan generator angka acak berkualitas tinggi untuk menghasilkan kunci data, yang independen dari materi kunci KMS yang digunakan untuk mengenkripsi kunci data.
Perbedaan antara HasilkanKunciData dan AdvanceHasilkanKunciData
Anda dapat memanggil operasi AdvanceHasilkanKunciData atau HasilkanKunciData untuk menghasilkan kunci data. Berikut adalah perbedaan antara kedua operasi tersebut:
HasilkanKunciData: Versi awal dari kunci digunakan untuk enkripsi. Setelah enkripsi, Anda harus menyimpan kunci data teks terenkripsi (CiphertextBlob), vektor awal (Iv), algoritma enkripsi (Algorithm), dan data autentikasi (Aad). Anda dapat memanggil operasi Dekripsi atau AdvanceDekripsi untuk mendekripsi data.
AdvanceHasilkanKunciData: Operasi ini hanya dapat digunakan untuk kunci simetris dalam instance KMS tipe manajemen kunci perangkat lunak. Versi utama dari kunci digunakan untuk enkripsi. Setelah enkripsi, Anda harus menyimpan kunci data teks terenkripsi (CiphertextBlob) dan data autentikasi (Aad). Anda harus memanggil operasi AdvanceDekripsi untuk mendekripsi data.
PentingJika Anda menggunakan kunci simetris dalam instance KMS tipe manajemen kunci perangkat lunak dan mengaktifkan rotasi otomatis untuk kunci, Anda harus memanggil operasi AdvanceHasilkanKunciData untuk menghasilkan kunci data guna mencegah fitur rotasi kunci menjadi tidak valid. Untuk informasi lebih lanjut tentang rotasi kunci otomatis, lihat Konfigurasikan Rotasi Kunci.
Parameter permintaan
Parameter | Tipe | Diperlukan | Contoh | Deskripsi |
KeyId | string | Ya | key-hzz62f1cb66fa42qo**** | ID unik global dari kunci. Anda juga dapat menetapkan nilai ke alias yang terikat pada kunci. |
NumberOfBytes | int | Ya | 32 | Panjang kunci data yang akan dihasilkan. |
Aad | binary | Tidak | Data biner | Mode Galois/Counter Mode (GCM) yang digunakan untuk mengautentikasi data saat kunci data dienkripsi. Penting Hanya mode GCM yang didukung saat Anda mengenkripsi kunci data. Jika parameter ini ditentukan, Anda harus menentukan parameter yang sama saat Anda memanggil operasi Dekripsi. |
Parameter respons
Parameter | Tipe | Contoh | Deskripsi |
KeyId | string | key-hzz62f1cb66fa42qo**** | ID unik global dari kunci. Jika KeyId dalam permintaan disetel ke alias, ID unik global dari kunci yang mana alias tersebut terikat dikembalikan dalam respons. |
Iv | bytes | Data biner | Vektor awal yang digunakan saat kunci data dienkripsi. Catatan Saat Anda memanggil operasi Dekripsi untuk mendekripsi kunci data, Anda harus menentukan nilai yang valid untuk Iv untuk mendekripsi kunci data. |
Plaintext | bytes | Teks biasa biner | Kunci data teks biasa. |
CiphertextBlob | bytes | Teks terenkripsi biner | Kunci data teks terenkripsi. |
Algorithm | string | AES_GCM | Algoritma enkripsi. |
RequestId | string | 475f1620-b9d3-4d35-b5c6-3fbdd941423d | ID permintaan. |
Kode kesalahan
Untuk daftar kode kesalahan, lihat Kode Kesalahan Layanan.