Bekerja dengan kunci - AWS Key Management Service

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

Bekerja dengan kunci

Contoh dalam topik ini menggunakan AWS KMS API untuk membuat, melihat, mengaktifkan, dan menonaktifkan AWS KMS AWS KMS keys, dan untuk menghasilkan kunci data.

Membuat kunci KMS

Untuk membuat AWS KMS key(kunci KMS), gunakan CreateKeyoperasi. Contoh di bagian ini membuat kunci KMS enkripsi simetris. Parameter Description yang digunakan dalam contoh ini adalah opsional.

Dalam bahasa yang memerlukan objek klien, contoh-contoh ini menggunakan objek klien AWS KMS yang Anda buat di Membuat klien.

Untuk bantuan dalam membuat kunci KMS di AWS KMS konsol, lihatMembuat kunci.

Java

Untuk detailnya, lihat metode createKey di Referensi API AWS SDK for Java.

// Create a KMS key // String desc = "Key for protecting critical data"; CreateKeyRequest req = new CreateKeyRequest().withDescription(desc); CreateKeyResult result = kmsClient.createKey(req);
C#

Untuk detailnya, lihat CreateKey metode di AWS SDK for .NET.

// Create a KMS key // String desc = "Key for protecting critical data"; CreateKeyRequest req = new CreateKeyRequest() { Description = desc }; CreateKeyResponse response = kmsClient.CreateKey(req);
Python

Untuk detailnya, lihat create_keymetode diAWS SDK for Python (Boto3).

# Create a KMS key desc = 'Key for protecting critical data' response = kms_client.create_key( Description=desc )
Ruby

Untuk detailnya, lihat metode create_keyinstance di AWS SDK for Ruby.

# Create a KMS key desc = 'Key for protecting critical data' response = kmsClient.create_key({ description: desc })
PHP

Untuk detailnya, lihat CreateKeymetode di AWS SDK for PHP.

// Create a KMS key // $desc = "Key for protecting critical data"; $result = $KmsClient->createKey([ 'Description' => $desc ]);
Node.js

Untuk detailnya, lihat properti createKey di SDK AWS JavaScript untuk di Node.js.

// Create a KMS key // const Description = 'Key for protecting critical data'; kmsClient.createKey({ Description }, (err, data) => { ... });
PowerShell

Untuk membuat kunci KMS PowerShell, gunakan New- KmsKey cmdlet.

# Create a KMS key $desc = 'Key for protecting critical data' New-KmsKey -Description $desc

Untuk menggunakan AWS KMS PowerShell cmdlet, instal AWS.tools. KeyManagementServicemodul. Untuk informasi selengkapnya, lihat Panduan Pengguna AWS Tools for Windows PowerShell.

Menghasilkan kunci data

Untuk menghasilkan kunci data simetris, gunakan GenerateDataKeyoperasi. Operasi ini mengembalikan kunci data plaintext dan salinan kunci data yang dienkripsi di bawah kunci KMS enkripsi simetris yang Anda tentukan. Anda harus menentukan salah satu KeySpec atau NumberOfBytes (tetapi tidak keduanya) di setiap perintah.

Untuk bantuan menggunakan kunci data untuk mengenkripsi data, lihat. AWS Encryption SDK Anda juga dapat menggunakan kunci data dalam operasi HMAC.

Dalam bahasa yang memerlukan objek klien, contoh-contoh ini menggunakan objek klien AWS KMS yang Anda buat di Membuat klien.

Java

Untuk detailnya, lihat generateDataKey metode di Referensi AWS SDK for Java API.

// Generate a data key // // Replace the following example key ARN with any valid key identfier String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; GenerateDataKeyRequest dataKeyRequest = new GenerateDataKeyRequest(); dataKeyRequest.setKeyId(keyId); dataKeyRequest.setKeySpec("AES_256"); GenerateDataKeyResult dataKeyResult = kmsClient.generateDataKey(dataKeyRequest); ByteBuffer plaintextKey = dataKeyResult.getPlaintext(); ByteBuffer encryptedKey = dataKeyResult.getCiphertextBlob();
C#

Untuk detailnya, lihat GenerateDataKey metode di AWS SDK for .NET.

// Generate a data key // // Replace the following example key ARN with any valid key identfier String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; GenerateDataKeyRequest dataKeyRequest = new GenerateDataKeyRequest() { KeyId = keyId, KeySpec = DataKeySpec.AES_256 }; GenerateDataKeyResponse dataKeyResponse = kmsClient.GenerateDataKey(dataKeyRequest); MemoryStream plaintextKey = dataKeyResponse.Plaintext; MemoryStream encryptedKey = dataKeyResponse.CiphertextBlob;
Python

Untuk detailnya, lihat generate_data_keymetode diAWS SDK for Python (Boto3).

# Generate a data key # Replace the following example key ARN with any valid key identfier key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kms_client.generate_data_key( KeyId=key_id, KeySpec='AES_256' ) plaintext_key = response['Plaintext'] encrypted_key = response['CiphertextBlob']
Ruby

Untuk detailnya, lihat metode generate_data_keyinstance di AWS SDK for Ruby.

# Generate a data key # Replace the following example key ARN with any valid key identfier key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kmsClient.generate_data_key({ key_id: key_id, key_spec: 'AES_256' }) plaintext_key = response.plaintext encrypted_key = response.ciphertext_blob
PHP

Untuk detailnya, lihat GenerateDataKeymetode di AWS SDK for PHP.

// Generate a data key // // Replace the following example key ARN with any valid key identfier $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $keySpec = 'AES_256'; $result = $KmsClient->generateDataKey([ 'KeyId' => $keyId, 'KeySpec' => $keySpec, ]); $plaintextKey = $result['Plaintext']; $encryptedKey = $result['CiphertextBlob'];
Node.js

Untuk detailnya, lihat generateDataKey properti di AWSSDK untuk JavaScript di Node.js.

// Generate a data key // // Replace the following example key ARN with any valid key identfier const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; const KeySpec = 'AES_256'; kmsClient.generateDataKey({ KeyId, KeySpec }, (err, data) => { if (err) console.log(err, err.stack); else { const { CiphertextBlob, Plaintext } = data; ... } });
PowerShell

Untuk menghasilkan kunci data simetris, gunakan cmdlet New-KMS DataKey.

Dalam output, kunci plaintext (di Plaintext properti) dan kunci terenkripsi (di CiphertextBlob properti) adalah objek. MemoryStream Untuk mengonversinya menjadi string, gunakan metode MemoryStream kelas, atau cmdlet atau fungsi yang mengubah MemoryStream objek menjadi string, seperti fungsi ConvertFrom- MemoryStream dan ConvertFrom-Base64 dalam modul Convert.

# Generate a data key # Replace the following example key ARN with any valid key identfier $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' $keySpec = 'AES_256' $response = New-KmsDataKey -KeyId $keyId -KeySpec $keySpec $plaintextKey = $response.Plaintext $encryptedKey = $response.CiphertextBlob

Untuk menggunakan AWS KMS PowerShell cmdlet, instal AWS.tools. KeyManagementServicemodul. Untuk informasi selengkapnya, silakan lihat Panduan Pengguna AWS Tools for Windows PowerShell.

Melihat sebuah AWS KMS key

Untuk mendapatkan informasi terperinci tentangAWS KMS key, termasuk ARN kunci KMS dan status kunci, gunakan DescribeKeyoperasi.

DescribeKey tidak mendapatkan alias. Untuk mendapatkan alias, gunakan ListAliasesoperasi. Sebagai contoh, lihat Bekerja dengan alias.

Dalam bahasa yang memerlukan objek klien, contoh-contoh ini menggunakan objek klien AWS KMS yang Anda buat di Membuat klien.

Untuk bantuan dengan melihat tombol KMS di AWS KMS konsol, lihatMelihat kunci.

Java

Untuk detailnya, lihat metode describeKey di Referensi API AWS SDK for Java.

// Describe a KMS key // // Replace the following example key ARN with any valid key identfier String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; DescribeKeyRequest req = new DescribeKeyRequest().withKeyId(keyId); DescribeKeyResult result = kmsClient.describeKey(req);
C#

Untuk detailnya, lihat DescribeKey metode di AWS SDK for .NET.

// Describe a KMS key // // Replace the following example key ARN with any valid key identfier String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; DescribeKeyRequest describeKeyRequest = new DescribeKeyRequest() { KeyId = keyId }; DescribeKeyResponse describeKeyResponse = kmsClient.DescribeKey(describeKeyRequest);
Python

Untuk detailnya, lihat describe_keymetode diAWS SDK for Python (Boto3).

# Describe a KMS key # Replace the following example key ARN with any valid key identfier key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kms_client.describe_key( KeyId=key_id )
Ruby

Untuk detailnya, lihat metode describe_keyinstance di AWS SDK for Ruby.

# Describe a KMS key # Replace the following example key ARN with any valid key identfier key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kmsClient.describe_key({ key_id: key_id })
PHP

Untuk detailnya, lihat DescribeKeymetode di AWS SDK for PHP.

// Describe a KMS key // // Replace the following example key ARN with any valid key identfier $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $result = $KmsClient->describeKey([ 'KeyId' => $keyId, ]);
Node.js

Untuk detailnya, lihat properti DescribeKey di SDK AWS JavaScript untuk di Node.js.

// Describe a KMS key // // Replace the following example key ARN with any valid key identfier const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; kmsClient.describeKey({ KeyId }, (err, data) => { ... });
PowerShell

Untuk mendapatkan informasi rinci tentang kunci KMS, gunakan Get- KmsKey cmdlet.

# Describe a KMS key # Replace the following example key ARN with any valid key identfier $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' Get-KmsKey -KeyId $keyId

Untuk menggunakan AWS KMS PowerShell cmdlet, instal AWS.tools. KeyManagementServicemodul. Untuk informasi selengkapnya, silakan lihat Panduan Pengguna AWS Tools for Windows PowerShell.

Mendapatkan ID kunci dan ARN kunci dari kunci KMS

Untuk mendapatkan ID kunci dan ARN kunci dariAWS KMS keys, gunakan ListKeysoperasi. Contoh-contoh ini menggunakan Limit parameter opsional, yang menetapkan jumlah maksimum kunci KMS yang dikembalikan dalam setiap panggilan. Untuk bantuan mengidentifikasi kunci KMS dalam AWS KMS operasi, lihatPengidentifikasi kunci () KeyId.

Dalam bahasa yang memerlukan objek klien, contoh-contoh ini menggunakan objek klien AWS KMS yang Anda buat di Membuat klien.

Untuk bantuan dalam menemukan ID kunci dan ARN kunci di konsol AWS KMS, lihat Menemukan ID kunci dan kunci ARN.

Java

Untuk detailnya, lihat metode listKeys di Referensi API AWS SDK for Java.

// List KMS keys in this account // Integer limit = 10; ListKeysRequest req = new ListKeysRequest().withLimit(limit); ListKeysResult result = kmsClient.listKeys(req);
C#

Untuk detailnya, lihat ListKeys metode di AWS SDK for .NET.

// List KMS keys in this account // int limit = 10; ListKeysRequest listKeysRequest = new ListKeysRequest() { Limit = limit }; ListKeysResponse listKeysResponse = kmsClient.ListKeys(listKeysRequest);
Python

Untuk detailnya, lihat list_keysmetode diAWS SDK for Python (Boto3).

# List KMS keys in this account response = kms_client.list_keys( Limit=10 )
Ruby

Untuk detailnya, lihat metode list_keysinstance di AWS SDK for Ruby.

# List KMS keys in this account response = kmsClient.list_keys({ limit: 10 })
PHP

Untuk detailnya, lihat ListKeys metode di AWS SDK for PHP.

// List KMS keys in this account // $limit = 10; $result = $KmsClient->listKeys([ 'Limit' => $limit, ]);
Node.js

Untuk detailnya, lihat properti ListKeys di AWSSDK untuk JavaScript di Node.js.

// List KMS keys in this account // const Limit = 10; kmsClient.listKeys({ Limit }, (err, data) => { ... });
PowerShell

Untuk mendapatkan ID kunci dan kunci ARN dari semua kunci KMS di akun dan Wilayah, gunakan Get - cmdlet. KmsKeyList

Untuk membatasi jumlah objek output, contoh ini menggunakan cmdlet Select-Object, bukan parameter Limit, yang tidak lagi digunakan dalam cmdlet daftar. Untuk bantuan dengan output pemberian nomor halaman di AWS Tools for PowerShell, lihat Output Pemberian Nomor Halaman dengan AWS Tools for PowerShell.

# List KMS keys in this account $limit = 10 Get-KmsKeyList | Select-Object -First $limit

Untuk menggunakan AWS KMS PowerShell cmdlet, instal AWS.tools. KeyManagementServicemodul. Untuk informasi selengkapnya, silakan lihat Panduan Pengguna AWS Tools for Windows PowerShell.

Mengaktifkan AWS KMS keys

Untuk mengaktifkan dinonaktifkanAWS KMS key, gunakan EnableKeyoperasi.

Dalam bahasa yang memerlukan objek klien, contoh-contoh ini menggunakan objek klien AWS KMS yang Anda buat di Membuat klien.

Untuk bantuan mengaktifkan dan menonaktifkan kunci KMS di konsol, lihat. AWS KMS Mengaktifkan dan menonaktifkan kunci

Java

Untuk detail tentang implementasi Java, lihat metode enableKey di Referensi API AWS SDK for Java.

// Enable a KMS key // // Replace the following example key ARN with a valid key ID or key ARN String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; EnableKeyRequest req = new EnableKeyRequest().withKeyId(keyId); kmsClient.enableKey(req);
C#

Untuk detailnya, lihat EnableKey metode di AWS SDK for .NET.

// Enable a KMS key // // Replace the following example key ARN with a valid key ID or key ARN String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; EnableKeyRequest enableKeyRequest = new EnableKeyRequest() { KeyId = keyId }; kmsClient.EnableKey(enableKeyRequest);
Python

Untuk detailnya, lihat enable_keymetode diAWS SDK for Python (Boto3).

# Enable a KMS key # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kms_client.enable_key( KeyId=key_id )
Ruby

Untuk detailnya, lihat metode enable_keyinstance di AWS SDK for Ruby.

# Enable a KMS key # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kmsClient.enable_key({ key_id: key_id })
PHP

Untuk detailnya, lihat EnableKeymetode di AWS SDK for PHP.

// Enable a KMS key // // Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $result = $KmsClient->enableKey([ 'KeyId' => $keyId, ]);
Node.js

Untuk detailnya, lihat properti EnableKey di SDK AWS JavaScript untuk di Node.js.

// Enable a KMS key // // Replace the following example key ARN with a valid key ID or key ARN const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; kmsClient.enableKey({ KeyId }, (err, data) => { ... });
PowerShell

Untuk mengaktifkan kunci KMS, gunakan Enable- KmsKey cmdlet.

# Enable a KMS key # Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' Enable-KmsKey -KeyId $keyId

Untuk menggunakan AWS KMS PowerShell cmdlet, instal AWS.tools. KeyManagementServicemodul. Untuk informasi selengkapnya, silakan lihat Panduan Pengguna AWS Tools for Windows PowerShell.

Menonaktifkan AWS KMS key

Untuk menonaktifkan kunci KMS, gunakan DisableKeyoperasi. Menonaktifkan kunci KMS mencegahnya digunakan dalam operasi kriptografi.

Dalam bahasa yang memerlukan objek klien, contoh-contoh ini menggunakan objek klien AWS KMS yang Anda buat di Membuat klien.

Untuk bantuan mengaktifkan dan menonaktifkan kunci KMS di konsol, lihat. AWS KMS Mengaktifkan dan menonaktifkan kunci

Java

Untuk detailnya, lihat metode disableKey di Referensi API AWS SDK for Java.

// Disable a KMS key // // Replace the following example key ARN with a valid key ID or key ARN String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; DisableKeyRequest req = new DisableKeyRequest().withKeyId(keyId); kmsClient.disableKey(req);
C#

Untuk detailnya, lihat DisableKey metode di AWS SDK for .NET.

// Disable a KMS key // // Replace the following example key ARN with a valid key ID or key ARN String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; DisableKeyRequest disableKeyRequest = new DisableKeyRequest() { KeyId = keyId }; kmsClient.DisableKey(disableKeyRequest);
Python

Untuk detailnya, lihat disable_keymetode diAWS SDK for Python (Boto3).

# Disable a KMS key # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kms_client.disable_key( KeyId=key_id )
Ruby

Untuk detailnya, lihat metode disable_keyinstance di AWS SDK for Ruby.

# Disable a KMS key # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kmsClient.disable_key({ key_id: key_id })
PHP

Untuk detailnya, lihat DisableKeymetode di AWS SDK for PHP.

// Disable a KMS key // // Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $result = $KmsClient->disableKey([ 'KeyId' => $keyId, ]);
Node.js

Untuk detailnya, lihat properti DisableKey di SDK untuk di AWS Node.js. JavaScript

// Disable a KMS key // // Replace the following example key ARN with a valid key ID or key ARN const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; kmsClient.disableKey({ KeyId }, (err, data) => { ... });
PowerShell

Untuk menonaktifkan kunci KMS, gunakan Disable- KmsKey cmdlet.

# Disable a KMS key # Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' Disable-KmsKey -KeyId $keyId

Untuk menggunakan AWS KMS PowerShell cmdlet, instal AWS.tools. KeyManagementServicemodul. Untuk informasi selengkapnya, lihat Panduan Pengguna AWS Tools for Windows PowerShell.