Menghasilkan pasangan kunci data asimetris.
Catatan penggunaan
Operasi ini hanya didukung untuk instance Key Management Service (KMS) dengan tipe manajemen kunci perangkat lunak dan tidak didukung untuk instance KMS dengan tipe manajemen kunci perangkat keras.
Operasi ini menghasilkan pasangan kunci data menggunakan generator angka acak, mengenkripsi pasangan kunci data menggunakan versi awal dari kunci simetris, serta mengembalikan kunci publik teks biasa dan kunci privat terenkripsi. Kunci privat teks biasa tidak dikembalikan. Anda dapat menggunakan pasangan kunci data untuk melakukan verifikasi tanda tangan di luar KMS.
Simpan kunci privat terenkripsi (PrivateKeyCiphertextBlob), vektor awal (IV), algoritma enkripsi (Algorithm), dan data autentikasi (Aad) di lokasi yang aman. Informasi tersebut digunakan saat Anda memanggil operasi Dekripsi untuk mendekripsi kunci privat terenkripsi.
KMS menyediakan beberapa operasi untuk menghasilkan pasangan kunci data. Tabel berikut menjelaskan perbedaan antara operasi-operasi tersebut.
API | Skenario | Data respons | Versi kunci untuk enkripsi | Operasi untuk dekripsi |
GenerateDataKey | Rotasi otomatis tidak dikonfigurasi untuk kunci, dan Anda perlu segera mendapatkan kunci privat teks biasa. | Kunci publik teks biasa, kunci privat teks biasa, dan kunci privat terenkripsi | Versi awal dari kunci | |
GenerateDataKeyPairWithoutPlaintext | Rotasi otomatis tidak dikonfigurasi untuk kunci, dan Anda tidak menggunakan kunci privat teks biasa atau memerlukan keamanan yang lebih tinggi. | Kunci publik teks biasa dan kunci privat teks biasa | Versi awal dari kunci | |
AdvanceGenerateDataKeyPair | Rotasi kunci Otomatis telah dikonfigurasi, dan Anda perlu segera mendapatkan kunci privat teks biasa. Catatan Untuk informasi lebih lanjut tentang rotasi kunci, lihat Konfigurasi rotasi kunci. | Kunci publik teks biasa, kunci privat teks biasa, dan kunci privat teks sandi | Versi utama dari kunci | |
AdvanceGenerateDataKeyPairWithoutPlaintext | Rotasi otomatis dikonfigurasi untuk kunci, dan Anda tidak menggunakan kunci privat teks biasa atau memerlukan keamanan yang lebih tinggi. | Kunci publik teks biasa dan kunci privat teks biasa | Versi utama dari kunci |
Peringatan
Setiap instance KMS hanya dapat memproses satu permintaan pada satu waktu untuk operasi GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext, AdvanceGenerateDataKeyPair, dan AdvanceGenerateDataKeyPairWithoutPlaintext. Kami menyarankan Anda mengontrol jumlah permintaan bersamaan. Jika jumlah permintaan bersamaan melebihi batas, KMS akan mengembalikan kesalahan 429 (Batas Kesamaan Terlampaui).
Parameter permintaan
Parameter | Tipe | Diperlukan | Contoh | Deskripsi |
KeyId | string | Ya | key-hzz62f1cb66fa42qo**** | ID unik global dari kunci. Anda dapat menetapkan parameter ini ke alias yang terikat ke kunci. Catatan Hanya kunci simetris dalam instance KMS dari tipe manajemen kunci perangkat lunak yang didukung. |
KeyPairSpec | string | Ya | RSA_2048 | Tipe pasangan kunci data. Nilai valid:
|
Aad | bytes | Tidak | Data biner | Data autentikasi ketika Anda mengenkripsi pasangan kunci data dalam mode Galois/Counter Mode (GCM). Penting Jika Anda menentukan parameter ini, Anda harus menentukan parameter yang sama ketika Anda memanggil operasi Dekripsi. |
KeyFormat | string | Ya | PEM | Format pasangan kunci data. Nilai valid:
|
Parameter respons
Parameter | Tipe | Contoh | Deskripsi |
KeyId | string | key-hzz62f1cb66fa42qo**** | ID unik global dari kunci. Jika KeyId dalam permintaan ditetapkan ke alias, ID unik global dari kunci yang terikat ke alias tersebut dikembalikan. |
Iv | bytes | Data biner | Vektor awal yang digunakan untuk mengenkripsi pasangan kunci data. Catatan Ketika Anda memanggil operasi Dekripsi untuk mendekripsi pasangan kunci data, Anda harus menentukan nilai valid untuk Iv. |
KeyPairSpec | string | RSA_2048 | Tipe pasangan kunci data. |
PrivateKeyCiphertextBlob | bytes | Data biner | Kunci privat terenkripsi dari pasangan kunci data. |
PublicKey | bytes | Data biner | Kunci publik teks biasa dari pasangan kunci data.
|
Algorithm | string | AES_GCM | Algoritma enkripsi. Hanya AES_GCM yang didukung. |
RequestId | string | 475f1620-b9d3-4d35-b5c6-3fbdd941423d | ID permintaan, yang digunakan untuk melokasi dan menyelesaikan masalah. |
Kode kesalahan
Kode status HTTP | Kode kesalahan | Pesan kesalahan | Deskripsi |
429 | Rejected.Throttling | Batas Kesamaan Terlampaui. | Jumlah permintaan bersamaan melebihi batas. |
Untuk daftar kode kesalahan, lihat Kode Kesalahan Layanan.