Actualización de los conjuntos de clave AWS KMS - AWS Encryption SDK

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.

Actualización de los conjuntos de clave AWS KMS

Los conjuntos de claves AWS KMS en el SDK de cifrado de AWS para C, los de AWS Encryption SDK para .NET y los SDK de cifrado de AWS para JavaScript admiten las prácticas recomendadas al permitirle especificar claves de ajuste al cifrar y descifrar. Si crea un AWS KMSconjunto de claves de detección, lo hace de forma explícita.

nota

La primera versión de AWS Encryption SDK para .NET es la 3.0.x. Todas las versiones AWS Encryption SDK de .NET son compatibles con las prácticas recomendadas de seguridad introducidas en la versión 2.0.x del AWS Encryption SDK. Puede actualizar de forma segura a la última versión sin cambios de código o datos.

Al actualizar a la última versión 1.x del AWS Encryption SDK, puede utilizar un filtro de detección para limitar las claves de encapsulación que un conjunto de claves de detección AWS KMS o un conjunto de claves de detección AWS KMS regional utiliza al descifrar esas Cuentas de AWS en particular. Filtrar un conjunto de claves de detección es una de las prácticas recomendadas de AWS Encryption SDK.

Los ejemplos de esta sección le mostrarán cómo añadir el filtro de detección a un conjunto de claves de detección regional AWS KMS.

Obtenga más información sobre la migración

Para todos los usuarios de AWS Encryption SDK, infórmese sobre cómo establecer su política de compromiso en Establecer su política de compromiso.

Para SDK de cifrado de AWS para Java, SDK de cifrado de AWS para Python, y los usuarios de la CLI de cifrado de AWS, infórmese sobre la actualización necesaria para los proveedores de claves maestras en Actualización de los proveedores de claves maestras AWS KMS.

 

Es posible que tenga un código como el siguiente en su aplicación. En este ejemplo, se crea un conjunto de claves de detección regional AWS KMS que solo puede usar claves de encapsulación en la región del oeste de EE. UU. (Oregón) (us-west-2). Este ejemplo representa el código de versiones anteriores AWS Encryption SDK a la 1.7.x. Sin embargo, sigue siendo válido en las versiones 1.7.x y versiones posteriores.

C
struct aws_cryptosdk_keyring *kms_regional_keyring = Aws::Cryptosdk::KmsKeyring::Builder() .WithKmsClient(create_kms_client(Aws::Region::US_WEST_2)).BuildDiscovery());
JavaScript Browser
const clientProvider = getClient(KMS, { credentials }) const discovery = true const clientProvider = limitRegions(['us-west-2'], getKmsClient) const keyring = new KmsKeyringBrowser({ clientProvider, discovery })
JavaScript Node.js
const discovery = true const clientProvider = limitRegions(['us-west-2'], getKmsClient) const keyring = new KmsKeyringNode({ clientProvider, discovery })

A partir de la versión 1.7.x, puede añadir un filtro de detección a cualquier conjunto de claves de AWS KMS detección. Este filtro de detección limita las AWS KMS keys que AWS Encryption SDK puede utilizar para el descifrado a las que se encuentran en la partición y las cuentas especificadas. Antes de usar este código, cambie la partición, si es necesario, y sustituya los ID de cuenta de ejemplo por otros válidos.

C

Para ver un ejemplo completo, consulte: kms_discovery.cpp.

std::shared_ptr<KmsKeyring::DiscoveryFilter> discovery_filter( KmsKeyring::DiscoveryFilter::Builder("aws") .AddAccount("111122223333") .AddAccount("444455556666") .Build()); struct aws_cryptosdk_keyring *kms_regional_keyring = Aws::Cryptosdk::KmsKeyring::Builder() .WithKmsClient(create_kms_client(Aws::Region::US_WEST_2)).BuildDiscovery(discovery_filter));
JavaScript Browser
const clientProvider = getClient(KMS, { credentials }) const discovery = true const clientProvider = limitRegions(['us-west-2'], getKmsClient) const keyring = new KmsKeyringBrowser(clientProvider, { discovery, discoveryFilter: { accountIDs: ['111122223333', '444455556666'], partition: 'aws' } })
JavaScript Node.js

Para ver un ejemplo completo, consulte: kms_filtered_discovery.ts.

const discovery = true const clientProvider = limitRegions(['us-west-2'], getKmsClient) const keyring = new KmsKeyringNode({ clientProvider, discovery, discoveryFilter: { accountIDs: ['111122223333', '444455556666'], partition: 'aws' } })