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_key
metode 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_key
instance 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_key
metode 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_key
instance 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_key
metode 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_key
instance 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_keys
metode diAWS SDK for Python (Boto3).
# List KMS keys in this account
response = kms_client.list_keys(
Limit=10
)
- Ruby
-
Untuk detailnya, lihat metode list_keys
instance 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_key
metode 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_key
instance 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_key
metode 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_key
instance 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.