Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Trabajo con claves
Los ejemplos de este tema utilizan la API de AWS KMS para crear, ver, habilitar y desactivar AWS KMS AWS KMS keys, y para generar claves de datos.
Crear una clave KMS
Para crear una AWS KMS key(clave KMS), utilice la CreateKeyoperación. Los ejemplos de esta sección crean una clave KMS de cifrado simétrica. El parámetro Description
utilizado en estos ejemplos es opcional.
En los idiomas que requieren un objeto cliente, estos ejemplos usan el objeto cliente de AWS KMS que ha creado en Crear un cliente.
Para obtener ayuda con la creación de claves KMS en la consola de AWS KMS, consulte Crear claves.
- Java
-
Para obtener más detalles, consulte el método createKey en la Referencia de la API de 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 obtener más información, consulte el método CreateKey en 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 obtener más información, consulte el método create_key
en AWS SDK for Python (Boto3).
# Create a KMS key
desc = 'Key for protecting critical data'
response = kms_client.create_key(
Description=desc
)
- Ruby
-
Para obtener más información, consulte el método de instancia create_key
en AWS SDK for Ruby.
# Create a KMS key
desc = 'Key for protecting critical data'
response = kmsClient.create_key({
description: desc
})
- PHP
-
Para obtener más información, consulte el método CreateKey en AWS SDK for PHP.
// Create a KMS key
//
$desc = "Key for protecting critical data";
$result = $KmsClient->createKey([
'Description' => $desc
]);
- Node.js
-
Para obtener más información, consulta la propiedad CreateKey en AWSel SDK JavaScript o en Node.js.
// Create a KMS key
//
const Description = 'Key for protecting critical data';
kmsClient.createKey({ Description }, (err, data) => {
...
});
- PowerShell
Para crear una clave de KMS PowerShell, utilice el cmdlet New-. KmsKey
# Create a KMS key
$desc = 'Key for protecting critical data'
New-KmsKey -Description $desc
Para usar los AWS KMS PowerShell cmdlets, instale AWS.Tools. KeyManagementServicemódulo. Para obtener más información, consulte la AWS Tools for Windows PowerShellGuía del usuario de .
Generar una clave de datos
Para generar una clave de datos simétrica, utilice la GenerateDataKeyoperación. Esta operación devuelve una clave de datos de texto sin formato y una copia de esa clave de datos cifrada bajo la clave KMS de cifrado simétrica especificada. Debe especificar KeySpec
o NumberOfBytes
(pero no ambos) en cada comando.
Para obtener ayuda sobre cómo utilizar la clave de datos para cifrar los datos, consulte AWS Encryption SDK. También puede usar la clave de datos en operaciones de HMAC.
En los idiomas que requieren un objeto cliente, estos ejemplos usan el objeto cliente de AWS KMS que ha creado en Crear un cliente.
- Java
-
Para obtener más información, consulta el generateDataKey método en la referencia de la 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#
-
Para obtener más información, consulte el método GenerateDataKey en 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 obtener más información, consulte el método generate_data_key
en 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 obtener más información, consulte el método de instancia generate_data_key
en 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 obtener más información, consulte el método GenerateDataKey en 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 obtener más información, consulta la generateDataKey propiedad en el AWSSDK de JavaScript 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 generar una clave de datos simétrica, utilice el cmdlet New-KMS DataKey.
En el resultado, la clave de texto sin formato (en la Plaintext
propiedad) y la clave cifrada (en la propiedad) son objetos. CiphertextBlob
MemoryStream Para convertirlos en cadenas, utilice los métodos de la MemoryStream
clase o un cmdlet o una función que convierta MemoryStream
los objetos en cadenas, como las funciones ConvertFrom- MemoryStream y ConvertFrom-Base64 del 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 los AWS KMS PowerShell cmdlets, instale AWS.Tools. KeyManagementServicemódulo. Para obtener más información, consulte la AWS Tools for Windows PowerShellGuía del usuario de .
Ver un AWS KMS key
Para obtener información detallada sobre anAWS KMS key, incluidos el ARN y el estado de la clave de KMS, utilice la DescribeKeyoperación.
DescribeKey
no obtiene alias. Para obtener los alias, utilice la ListAliasesoperación. Para ver ejemplos, consulte Trabajar con alias.
En los idiomas que requieren un objeto cliente, estos ejemplos usan el objeto cliente de AWS KMS que ha creado en Crear un cliente.
Para obtener ayuda con las claves KMS en la consola de AWS KMS, consulte Consultar claves.
- Java
-
Para obtener más detalles, consulte el método describeKey en la Referencia de la API de 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 obtener más información, consulte el método DescribeKey en 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 obtener más información, consulte el método describe_key
en 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 obtener más información, consulte el método de instancia describe_key
en 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 obtener más información, consulte el método DescribeKey en 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 obtener más información, consulte la propiedad DescribeKey en AWSel SDK JavaScript o en 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 obtener información detallada sobre una clave de KMS, utilice el cmdlet Get-. KmsKey
# 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 los AWS KMS PowerShell cmdlets, instale AWS.Tools. KeyManagementServicemódulo. Para obtener más información, consulte la AWS Tools for Windows PowerShellGuía del usuario de .
Obtener ID de clave y ARN clave de claves KMS
Para obtener los ID y los ARN clave delAWS KMS keys, utilice la ListKeysoperación. Estos ejemplos utilizan el parámetro opcional Limit
, que establece el número máximo de claves KMS devueltas en cada llamada. Para obtener ayuda para identificar una clave KMS en una operación de AWS KMS, consulte Identificadores clave () KeyId.
En los idiomas que requieren un objeto cliente, estos ejemplos usan el objeto cliente de AWS KMS que ha creado en Crear un cliente.
Para obtener ayuda con la búsqueda de identificadores de clave y ARN de clave en la consola de AWS KMS, consulte Búsqueda del ID y el ARN de la clave.
- Java
-
Para obtener más detalles, consulte el método listKeys en la Referencia de la API de 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 obtener más información, consulte el método ListKeys en 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 obtener más información, consulte el método list_keys
en AWS SDK for Python (Boto3).
# List KMS keys in this account
response = kms_client.list_keys(
Limit=10
)
- Ruby
-
Para obtener más información, consulte el método de instancia list_keys
en AWS SDK for Ruby.
# List KMS keys in this account
response = kmsClient.list_keys({
limit: 10
})
- PHP
-
Para obtener más información, consulte el método ListKeys en AWS SDK for PHP.
// List KMS keys in this account
//
$limit = 10;
$result = $KmsClient->listKeys([
'Limit' => $limit,
]);
- Node.js
Para obtener más información, consulta la propiedad ListKeys en el AWSSDK o JavaScript en Node.js.
// List KMS keys in this account
//
const Limit = 10;
kmsClient.listKeys({ Limit }, (err, data) => {
...
});
- PowerShell
Para obtener el identificador de clave y el ARN de clave de todas las claves de KMS de la cuenta y la región, utilice el cmdlet Get- KmsKeyList.
Para limitar el número de objetos de salida, este ejemplo usa el cmdlet Select-Object en lugar del parámetro Limit
, que está quedando obsoleto en los cmdlet de la lista. Para obtener asistencia con la paginación de salida en AWS Tools for PowerShell, vea Paginación de salida con AWS Tools for PowerShell.
# List KMS keys in this account
$limit = 10
Get-KmsKeyList | Select-Object -First $limit
Para usar los AWS KMS PowerShell cmdlets, instale AWS.Tools. KeyManagementServicemódulo. Para obtener más información, consulte la AWS Tools for Windows PowerShellGuía del usuario de .
Habilitación de AWS KMS keys
Para habilitar un deshabilitadoAWS KMS key, use la EnableKeyoperación.
En los idiomas que requieren un objeto cliente, estos ejemplos usan el objeto cliente de AWS KMS que ha creado en Crear un cliente.
Para obtener ayuda con la habilitación y deshabilitación de claves KMS en la consola de AWS KMS, consulte Habilitación y deshabilitación de claves.
- Java
-
Para obtener más detalles sobre la implementación de Java, consulte el método enableKey en la Referencia de la API de 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 obtener más información, consulte el método EnableKey en 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 obtener más información, consulte el método enable_key
en 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 obtener más información, consulte el método de instancia enable_key
en 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 obtener más información, consulte el método EnableKey en 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 obtener más información, consulte la propiedad EnableKey en AWSel SDK JavaScript de 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 una clave KMS, utilice el cmdlet Enable-. KmsKey
# 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 los AWS KMS PowerShell cmdlets, instale AWS.Tools. KeyManagementServicemódulo. Para obtener más información, consulte la AWS Tools for Windows PowerShellGuía del usuario de .
Deshabilitación de AWS KMS key
Para deshabilitar una clave KMS, utilice la DisableKeyoperación. Desactivar una clave KMS impide que se utilice en operaciones criptográficas.
En los idiomas que requieren un objeto cliente, estos ejemplos usan el objeto cliente de AWS KMS que ha creado en Crear un cliente.
Para obtener ayuda con la habilitación y deshabilitación de claves KMS en la consola de AWS KMS, consulte Habilitación y deshabilitación de claves.
- Java
-
Para obtener más detalles, consulte el método disableKey en la Referencia de la API de 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 obtener más información, consulte el método DisableKey en 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 obtener más información, consulte el método disable_key
en 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 obtener más información, consulte el método de instancia disable_key
en 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 obtener más información, consulte el método DisableKey en 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 obtener más información, consulta la propiedad DisableKey en AWSel SDK JavaScript o en 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 deshabilitar una clave KMS, utilice el cmdlet Disable-. KmsKey
# 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 los AWS KMS PowerShell cmdlets, instale AWS.Tools. KeyManagementServicemódulo. Para obtener más información, consulte la Guía del usuario de AWS Tools for Windows PowerShell.