Gunakan GenerateDataKeyWithoutPlaintext dengan AWS SDK atau CLI - AWS Key Management Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan GenerateDataKeyWithoutPlaintext dengan AWS SDK atau CLI

Contoh kode berikut menunjukkan cara menggunakanGenerateDataKeyWithoutPlaintext.

CLI
AWS CLI

Untuk menghasilkan kunci data simetris 256-bit tanpa kunci plaintext

generate-data-key-without-plaintextContoh berikut meminta salinan terenkripsi dari kunci data simetris 256-bit untuk digunakan di luar. AWS Anda dapat memanggil AWS KMS untuk mendekripsi kunci data saat Anda siap menggunakannya.

Untuk meminta kunci data 256-bit, gunakan key-spec parameter dengan nilai. AES_256 Untuk meminta kunci data 128-bit, gunakan key-spec parameter dengan nilai. AES_128 Untuk semua panjang kunci data lainnya, gunakan number-of-bytes parameter.

Kunci KMS yang Anda tentukan harus berupa kunci KMS enkripsi simetris, yaitu kunci KMS dengan nilai spesifikasi kunci SYMMETRIC_DEFAULT.

aws kms generate-data-key-without-plaintext \ --key-id "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" \ --key-spec AES_256

Output:

{ "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogL", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

CiphertextBlob(Kunci data terenkripsi) dikembalikan dalam format yang dikodekan base64.

Untuk informasi selengkapnya, lihat Kunci data di Panduan Pengembang Layanan Manajemen AWS Kunci.

Rust
SDK untuk Rust
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara pengaturan dan menjalankannya di Repositori Contoh Kode AWS.

async fn make_key(client: &Client, key: &str) -> Result<(), Error> { let resp = client .generate_data_key_without_plaintext() .key_id(key) .key_spec(DataKeySpec::Aes256) .send() .await?; // Did we get an encrypted blob? let blob = resp.ciphertext_blob.expect("Could not get encrypted text"); let bytes = blob.as_ref(); let s = base64::encode(bytes); println!(); println!("Data key:"); println!("{}", s); Ok(()) }

Untuk daftar lengkap panduan pengembang AWS SDK dan contoh kode, lihatMenggunakan layanan ini dengan AWS SDK. Topik ini juga mencakup informasi tentang memulai dan detail tentang versi SDK sebelumnya.