As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Trabalhar com chaves
Os exemplos neste tópico usam a API do AWS KMS para criar, visualizar, habilitar e desabilitar AWS KMS AWS KMS keys e para gerar chaves de dados.
Criar uma chave do KMS
Para criar uma AWS KMS key(chave KMS), use a CreateKeyoperação. Os exemplos nesta seção criam uma chave do KMS de criptografia simétrica. O parâmetro Description
usado nesses exemplos é opcional.
Em linguagens que exigem um objeto cliente, esses exemplos usam o objeto cliente do AWS KMS criado em Criar um cliente.
Para obter ajuda com a criação de chaves do KMS no console do AWS KMS, consulte Criar chaves.
- Java
-
Para obter detalhes, consulte o Método createKey, na Referência de APIs do 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#
-
Para obter detalhes, consulte o Método CreateKey no 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
-
Para obter detalhes, consulte o Método create_key
no AWS SDK for Python (Boto3).
# Create a KMS key
desc = 'Key for protecting critical data'
response = kms_client.create_key(
Description=desc
)
- Ruby
-
Para obter detalhes, consulte o método de instância create_key
no AWS SDK for Ruby.
# Create a KMS key
desc = 'Key for protecting critical data'
response = kmsClient.create_key({
description: desc
})
- PHP
-
Para obter detalhes, consulte o Método CreateKey no AWS SDK for PHP.
// Create a KMS key
//
$desc = "Key for protecting critical data";
$result = $KmsClient->createKey([
'Description' => $desc
]);
- Node.js
-
Para obter detalhes, consulte a propriedade createKey no SDK JavaScript em AWS Node.js.
// Create a KMS key
//
const Description = 'Key for protecting critical data';
kmsClient.createKey({ Description }, (err, data) => {
...
});
- PowerShell
Para criar uma chave KMS PowerShell, use o KmsKey cmdlet New-.
# Create a KMS key
$desc = 'Key for protecting critical data'
New-KmsKey -Description $desc
Para usar os AWS KMS PowerShell cmdlets, instale o AWS.Tools. KeyManagementServicemódulo. Para obter mais informações, consulte o AWS Tools for Windows PowerShellGuia do Usuário.
Gerar uma chave de dados
Para gerar uma chave de dados simétrica, use a GenerateDataKeyoperação. Essa operação retorna uma chave de dados de texto simples e uma cópia dessa chave de dados criptografada com a chave do KMS de criptografia simétrica que você especifica. É necessário especificar um KeySpec
ou NumberOfBytes
(mas não ambos) em cada comando.
Para obter ajuda para usar a chave de dados para criptografar dados, consulte o AWS Encryption SDK. Você também pode usar a chave de dados em operações de Hash-based message authentication code (HMAC – Código de autenticação de mensagem por hash).
Em linguagens que exigem um objeto cliente, esses exemplos usam o objeto cliente do AWS KMS criado em Criar um cliente.
- Java
-
Para obter detalhes, consulte o generateDataKey método na Referência AWS SDK for Java da 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#
-
Para obter detalhes, consulte o Método GenerateDataKey no 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
-
Para obter detalhes, consulte o Método generate_data_key
no AWS 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
-
Para obter detalhes, consulte o método de instância generate_data_key
no 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
-
Para obter detalhes, consulte o Método GenerateDataKey no 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
Para obter detalhes, consulte a generateDataKey propriedade no AWSSDK JavaScript em 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
Para gerar uma chave de dados simétrica, use o cmdlet New-KMS DataKey.
Na saída, a chave de texto simples (na Plaintext
propriedade) e a chave criptografada (na CiphertextBlob
propriedade) são MemoryStreamobjetos. Para convertê-los em cadeias de caracteres, use os métodos da MemoryStream
classe ou um cmdlet ou função que converta MemoryStream
objetos em cadeias de caracteres, como as funções ConvertFrom- MemoryStream e ConvertFrom-Base64 no módulo 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
Para usar os AWS KMS PowerShell cmdlets, instale o AWS.Tools. KeyManagementServicemódulo. Para obter mais informações, consulte o AWS Tools for Windows PowerShellGuia do Usuário.
Como visualizar um AWS KMS key
Para obter informações detalhadas sobre umAWS KMS key, incluindo o ARN da chave KMS e o estado da chave, use DescribeKeya operação.
DescribeKey
não recebe aliases. Para obter aliases, use a ListAliasesoperação. Para ver exemplos, consulte Trabalhar com aliases.
Em linguagens que exigem um objeto cliente, esses exemplos usam o objeto cliente do AWS KMS criado em Criar um cliente.
Para obter ajuda com a visualização de chaves do KMS no console do AWS KMS, consulte Visualizar chaves.
- Java
-
Para obter detalhes, consulte o Método describeKey, na Referência de APIs do 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#
-
Para obter detalhes, consulte o Método DescribeKey no 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
-
Para obter detalhes, consulte o Método describe_key
no AWS 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
-
Para obter detalhes, consulte o método de instância describe_key
no 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
-
Para obter detalhes, consulte o Método DescribeKey no 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
Para obter detalhes, consulte a propriedade describeKey no SDK JavaScript em AWS 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
Para obter informações detalhadas sobre uma chave KMS, use o KmsKey cmdlet Get-.
# 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
Para usar os AWS KMS PowerShell cmdlets, instale o AWS.Tools. KeyManagementServicemódulo. Para obter mais informações, consulte o AWS Tools for Windows PowerShellGuia do Usuário.
Obter IDs e ARNs de chaves do KMS
Para obter os IDs das chaves e os ARNs das chaves doAWS KMS keys, use a ListKeysoperação. Esses exemplos usam o parâmetro Limit
opcional, que define o número máximo de chaves do KMS retornadas em cada chamada. Para obter ajuda para identificar uma chave do KMS em uma operação do AWS KMS, consulte Identificadores-chave () KeyId.
Em linguagens que exigem um objeto cliente, esses exemplos usam o objeto cliente do AWS KMS criado em Criar um cliente.
Para obter ajuda sobre como localizar IDs e ARNs de chaves no console do AWS KMS, consulte Como encontrar o ID e o ARN da chave.
- Java
-
Para obter detalhes, consulte o Método listKeys, na Referência de APIs do 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#
-
Para obter detalhes, consulte o Método ListKeys no 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
-
Para obter detalhes, consulte o Método list_keys
no AWS SDK for Python (Boto3).
# List KMS keys in this account
response = kms_client.list_keys(
Limit=10
)
- Ruby
-
Para obter detalhes, consulte o método de instância list_keys
no AWS SDK for Ruby.
# List KMS keys in this account
response = kmsClient.list_keys({
limit: 10
})
- PHP
-
Para obter detalhes, consulte o Método ListKeys no AWS SDK for PHP.
// List KMS keys in this account
//
$limit = 10;
$result = $KmsClient->listKeys([
'Limit' => $limit,
]);
- Node.js
Para obter detalhes, consulte a propriedade listKeys no AWSSDK em Node.js. JavaScript
// List KMS keys in this account
//
const Limit = 10;
kmsClient.listKeys({ Limit }, (err, data) => {
...
});
- PowerShell
Para obter o ID e o ARN da chave de todas as chaves KMS na conta e na região, use o cmdlet Get -. KmsKeyList
Para limitar o número de objetos de saída, este exemplo usa o cmdlet Select-Object em vez do parâmetro Limit
, que está defasado nos cmdlets da lista. Para obter ajuda com a saída da paginação no AWS Tools for PowerShell, consulte Paginação de saída com o AWS Tools for PowerShell.
# List KMS keys in this account
$limit = 10
Get-KmsKeyList | Select-Object -First $limit
Para usar os AWS KMS PowerShell cmdlets, instale o AWS.Tools. KeyManagementServicemódulo. Para obter mais informações, consulte o AWS Tools for Windows PowerShellGuia do Usuário.
Habilitar o AWS KMS keys
Para habilitar um desativadoAWS KMS key, use a EnableKeyoperação.
Em linguagens que exigem um objeto cliente, esses exemplos usam o objeto cliente do AWS KMS criado em Criar um cliente.
Para obter ajuda sobre como habilitar e desabilitar chaves do KMS no console do AWS KMS, consulte Habilitar e desabilitar chaves.
- Java
-
Para obter detalhes sobre a implementação de Java, consulte o Método enableKey, na Referência de APIs do 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#
-
Para obter detalhes, consulte o Método EnableKey no 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
-
Para obter detalhes, consulte o Método enable_key
no AWS 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
-
Para obter detalhes, consulte o método de instância enable_key
no 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
-
Para obter detalhes, consulte o Método EnableKey no 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
Para obter detalhes, consulte a propriedade enableKey no SDK JavaScript em AWS 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
Para habilitar uma chave KMS, use o KmsKey cmdlet Enable-.
# 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
Para usar os AWS KMS PowerShell cmdlets, instale o AWS.Tools. KeyManagementServicemódulo. Para obter mais informações, consulte o AWS Tools for Windows PowerShellGuia do Usuário.
Desabilitar as AWS KMS key
Para desativar uma chave KMS, use a DisableKeyoperação. A desabilitação de uma chave do KMS impede que ela seja usada em operações de criptografia.
Em linguagens que exigem um objeto cliente, esses exemplos usam o objeto cliente do AWS KMS criado em Criar um cliente.
Para obter ajuda sobre como habilitar e desabilitar chaves do KMS no console do AWS KMS, consulte Habilitar e desabilitar chaves.
- Java
-
Para obter detalhes, consulte o Método disableKey, na Referência de APIs do 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#
-
Para obter detalhes, consulte o Método DisableKey no 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
-
Para obter detalhes, consulte o Método disable_key
no AWS 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
-
Para obter detalhes, consulte o método de instância disable_key
no 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
-
Para obter detalhes, consulte o Método DisableKey no 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
Para obter detalhes, consulte a propriedade disableKey no SDK JavaScript em AWS Node.js.
// 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
Para desativar uma chave KMS, use o KmsKey cmdlet Disable-.
# 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
Para usar os AWS KMS PowerShell cmdlets, instale o AWS.Tools. KeyManagementServicemódulo. Para obter mais informações, consulte o Guia do usuário da AWS Tools for Windows PowerShell.