Atualizando AWS KMS chaveiros - AWS Encryption SDK

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á.

Atualizando AWS KMS chaveiros

Os AWS KMS chaveiros do AWS Encryption SDK for C, do AWS Encryption SDK para o.NET e do AWS Encryption SDK para JavaScriptoferecem suporte às melhores práticas, permitindo que você especifique chaves de agrupamento ao criptografar e descriptografar. Se você criar um token de autenticação de descoberta do AWS KMS, você o fará de maneira explícita.

nota

A versão mais antiga do AWS Encryption SDK para.NET é a versão 3.0. x. Todas as versões do AWS Encryption SDK para.NET oferecem suporte às melhores práticas de segurança introduzidas na versão 2.0. x do AWS Encryption SDK. É possível atualizar com segurança para a versão mais recente sem fazer alterações no código ou nos dados.

Quando você atualiza para o mais recente 1. Na versão x do AWS Encryption SDK, você pode usar um filtro de descoberta para limitar as chaves de agrupamento que um chaveiro de AWS KMS descoberta ou um chaveiro de descoberta AWS KMS regional usa ao descriptografar para aquelas em particular. Contas da AWS Filtrar um chaveiro de descoberta é uma prática AWS Encryption SDK recomendada.

Os exemplos nesta seção mostram como adicionar o filtro de descoberta a um token de autenticação de descoberta regional do AWS KMS .

Saiba mais sobre migração

Para todos os AWS Encryption SDK usuários, saiba como definir sua política de compromisso emComo definir sua política de compromisso.

Para usuários da CLI de AWS criptografia e AWS Encryption SDK for Java AWS Encryption SDK for Python, saiba mais sobre uma atualização necessária para os provedores de chaves mestras em. Atualizando provedores de chaves AWS KMS mestras

 

Você pode ter um código como o seguinte na aplicação. Este exemplo cria um token de autenticação de descoberta regional do AWS KMS que só pode usar chaves de encapsulamento na região Oeste dos EUA (Oregon) (us-west-2). Este exemplo representa o código em AWS Encryption SDK versões anteriores à 1.7. x. No entanto, ele ainda é válido nas versões 1.7x e 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 da versão 1.7. x, você pode adicionar um filtro de descoberta a qualquer chaveiro de AWS KMS descoberta. Esse filtro de descoberta limita o AWS KMS keys que eles AWS Encryption SDK podem usar para decodificação àqueles na partição e nas contas especificadas. Antes de usar esse código, altere a partição, se necessário, e substitua a conta IDs de exemplo por outras válidas.

C

Para obter um exemplo 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 obter um exemplo 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' } })