Mise à jour des AWS KMS porte-clés - AWS Encryption SDK

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mise à jour des AWS KMS porte-clés

Les AWS KMS trousseaux de clés contenus dans Kit SDK de chiffrement AWS pour C, AWS Encryption SDK pour .NET et dans le cadre du Kit SDK de chiffrement AWS pour JavaScriptsupport prennent en charge les meilleures pratiques en vous permettant de spécifier des clés d'encapsulage lors du chiffrement et du déchiffrement. Si vous créez un trousseau de clés de AWS KMS découverte, vous le faites explicitement.

Note

La version la plus ancienne de AWS Encryption SDK pour .NET est la version 3.0. x. Toutes les versions de AWS Encryption SDK for .NET respectent les meilleures pratiques de sécurité introduites dans la version 2.0. x du AWS Encryption SDK. Vous pouvez passer à la dernière version en toute sécurité sans aucune modification de code ou de données.

Lorsque vous effectuez une mise à jour vers la dernière version 1. version x du AWS Encryption SDK, vous pouvez utiliser un filtre de découverte pour limiter les clés d'encapsulation utilisées par un jeu de clés de AWS KMS découverte ou un trousseau de clés de découverte AWS KMS régional lors du déchiffrement vers celles-ci en particulier. Comptes AWS Le filtrage d'un trousseau de clés de découverte est une AWS Encryption SDK bonne pratique.

Les exemples présentés dans cette section vous montrent comment ajouter le filtre de découverte à un trousseau de clés de découverte AWS KMS régional.

En savoir plus sur la migration

Pour tous les AWS Encryption SDK utilisateurs, découvrez comment définir votre politique d'engagement dansDéfinition de votre politique d'engagement.

Pour Kit SDK de chiffrement AWS pour Java Kit SDK de chiffrement AWS pour Python, et les utilisateurs de la CLI de AWS chiffrement, découvrez une mise à jour requise pour les fournisseurs de clés principales dansMise à jour des fournisseurs de clés AWS KMS principales.

 

Il se peut que votre application comporte un code tel que celui-ci. Cet exemple crée un jeu de clés de découverte AWS KMS régional qui ne peut utiliser des clés d'encapsulage que dans la région USA Ouest (Oregon) (us-west-2). Cet exemple représente le code des AWS Encryption SDK versions antérieures à 1.7. x. Cependant, il est toujours valide dans les versions 1.7. x et versions ultérieures.

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 })

À partir de la version 1.7. x, vous pouvez ajouter un filtre de découverte à n'importe quel trousseau de clés de AWS KMS découverte. Ce filtre de découverte limite ce AWS KMS keys qu'ils AWS Encryption SDK peuvent utiliser pour le déchiffrement à ceux de la partition et des comptes spécifiés. Avant d'utiliser ce code, modifiez la partition, si nécessaire, et remplacez le compte d'exemple par IDs des comptes valides.

C

Pour un exemple complet, consultez le fichier 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

Pour un exemple complet, consultez 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' } })