Fonctionnement du chiffrement au repos - Amazon DynamoDB

Fonctionnement du chiffrement au repos

Le chiffrement Amazon DynamoDB au repos chiffre vos données à l'aide du chiffrement Advanced Encryption Standard 256 bits (AES-256), ce qui contribue à sécuriser vos données contre tout accès non autorisé au stockage sous-jacent.

Le chiffrement au repos s'intègre avec AWS Key Management Service (AWS KMS) pour la gestion de la clé de chiffrement utilisée pour chiffrer vos tables.

Lorsque vous créez une table ou changez les clés de chiffrement sur une table existante, vous pouvez choisir l'une des clés AWS KMS keyssuivantes :

  • Clé détenue par AWS – Type de chiffrement par défaut. La clé est détenue par DynamoDB (sans frais supplémentaires).

  • Clé gérée par AWS – La clé est stockée dans votre compte et est gérée par AWS KMS (des frais AWS KMS s'appliquent).

  • Clé gérée par le client – La clé est créée, détenue et gérée par vous, et stockée dans votre compte. Vous disposez d'un contrôle total sur la clé KMS (des frais AWS KMS s'appliquent).

Clés détenues par AWS

Les clés Clés détenues par AWS ne sont pas stockées dans votre compte AWS. Elles font partie d'un ensemble de clés KMS qu'AWS possède et gère pour être utilisé dans plusieurs comptes AWS. Les services AWS peuvent utiliser les clés Clés détenues par AWS pour protéger vos données.

Vous ne pouvez pas afficher, gérer ou utiliser les clés Clés détenues par AWS, ou vérifier leur utilisation. Toutefois, vous n'avez pas besoin de faire quelque travail que ce soit ou de modifier les programmes pour protéger les clés qui chiffrent vos données.

Les clés Clés détenues par AWS n'occasionnent aucuns frais mensuels ou d'utilisation, et ne sont pas prises en compte dans le calcul des quotas AWS KMS pour votre compte.

Clés gérées par AWS

Les Clés gérées par AWS sont des clés KMS de votre compte qui sont créées, gérées et utilisées en votre nom par un service AWS intégré à AWS KMS. Vous pouvez afficher les clés Clés gérées par AWS dans votre compte, afficher leurs politiques de clé et contrôler leur utilisation dans les journaux AWS CloudTrail. Toutefois, vous ne pouvez pas gérer ces clés KMS ou modifier leurs autorisations.

Le chiffrement au repos s'intègre automatiquement avec AWS KMS pour la gestion de la clé Clé gérée par AWS pour DynamoDB (aws/dynamodb) qui est utilisée pour chiffrer vos tables. S'il n'existe pas de clé Clé gérée par AWS lorsque vous créez votre table DynamoDB chiffrée, AWS KMS en crée une automatiquement pour vous. Cette clé sera utilisée avec les tables chiffrées qui seront crées dans le futur. AWS KMS combine du matériel et des logiciels sécurisés et hautement disponibles pour fournir un système de gestion de clés à l'échelle du cloud.

Pour plus d'informations sur la gestion des autorisations de la clé Clé gérée par AWS, consultez Autorisation d'utilisation de la clé Clé gérée par AWS dans le Guide du développeur AWS Key Management Service.

Clés gérées par le client

Les clés gérées par le client sont des clés KMS de votre compte AWS que vous créez, possédez et gérez. Vous disposez d'un contrôle total sur ces clés KMS, incluant l'établissement et la gestion de leurs politiques de clé, politiques IAM et octrois, leur activation et désactivation, la rotation de leur contenu de chiffrement, l'ajout d'étiquettes, la création d'alias qui y font référence, et la planification de leur suppression. Pour plus d'informations sur la gestion des autorisations d'une clé gérée par le client, consultez Politique de clé gérée par le client.

Lorsque vous spécifiez une clé gérée par le client comme clé de chiffrement au niveau de la table, la table DynamoDB, les index secondaires locaux et globaux, ainsi que les flux sont chiffrés avec la même clé. Les sauvegardes à la demande sont chiffrées à l'aide de la clé de chiffrement au niveau de la table spécifiée au moment de leur création. La mise à jour de la clé de chiffrement au niveau de la table n'a pas pour effet de modifier la clé de chiffrement associée aux sauvegardes à la demande existantes.

La désactivation de la clé gérée par le client ou la planification de sa suppression empêchent tous les utilisateurs et le service DynamoDB de chiffrer ou déchiffrer des données, ainsi que d'effectuer des opérations de lecture et d'écriture sur la table. Pour vous permettre de continuer à accéder à votre table et vous éviter de perdre des données, DynamoDB doit avoir accès à votre clé de chiffrement.

Si vous désactivez votre clé gérée par le client ou planifiez sa suppression, l'état de votre table devient Inaccessible. Pour vous assurer de pouvoir continuer à utiliser la table, vous devez fournir à DynamoDB l'accès à la clé de chiffrement spécifiée dans un délai de sept jours. Dès que le service détecte que votre clé de chiffrement est inaccessible, DynamoDB vous envoie une notification par e-mail pour vous alerter.

Note
  • Si votre clé gérée par le client reste inaccessible au service DynamoDB pendant plus de sept jours, la table est archivée et n'est plus accessible. DynamoDB crée une sauvegarde à la demande de votre table et vous êtes facturé pour cela. Vous pouvez utiliser cette sauvegarde à la demande pour restaurer vos données vers une nouvelle table. Pour lancer la restauration, la dernière clé gérée par le client sur la table doit être activée et DynamoDB doit y avoir accès.

  • Si la clé gérée par le client qui a été utilisée pour chiffrer un réplica de table globale est inaccessible, DynamoDB supprime ce réplica du groupe de réplication. Le réplica n'est pas supprimé et la réplication depuis et vers cette région s'arrête 20 heures après que l'inaccessibilité de la clé gérée par le client a été détectée.

Remarques sur l'utilisation d'Clés gérées par AWS

Amazon DynamoDB ne peut lire les données de votre table que s'il a accès à la clé KMS stockée dans votre compte AWS KMS. DynamoDB utilise un chiffrement d'enveloppe et une hiérarchie de clés pour chiffrer les données. Votre clé de chiffrement AWS KMS est utilisée pour chiffrer la clé racine de cette hiérarchie de clés. Pour plus d'informations, consultez Chiffrement d'enveloppe dans le Guide du développeur AWS Key Management Service.

Vous pouvez utiliser AWS CloudTrail et Amazon CloudWatch Logs pour effectuer le suivi des demandes que DynamoDB envoie pour vous à AWS KMS. Pour plus d'informations, consultez Surveillance de l'interaction de DynamoDB avec AWS KMS dans le Guide du développeur AWS Key Management Service.

DynamoDB n'appelle pas AWS KMS pour chaque opération DynamoDB. La clé est actualisée une fois toutes les 5 minutes pour chaque connexion client ayant un trafic actif.

Assurez-vous d'avoir configuré le kit SDK pour réutiliser les connexions. Sinon, vous rencontrerez des latences liées à la nécessité pour DynamoDB de rétablir de nouvelles entrées de cache AWS KMS pour chaque opération de DynamoDB. Il se peut en outre que vous deviez faire face à des coûts AWS KMS et CloudTrail plus élevés. Par exemple, pour faire cela à l'aide du kit SDK Node.js, vous pouvez créer un agent HTTPS avec le paramètre keepAlive activé. Pour plus d'informations, consultez Configuration de maxSockets dans Node.js dans le Guide du développeurAWS SDK for JavaScript.