View a markdown version of this page

Chiffrement des ressources Neptune au repos - Amazon Neptune

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.

Chiffrement des ressources Neptune au repos

Data-at-rest le chiffrement est AWS recommandé. Pour plus d'informations, consultez Data-at-Rest la section Data-in-Transit Chiffrement. Le chiffrement est appliqué dans la AWS console lorsque vous créez un nouveau cluster de bases de données Neptune ou une nouvelle base de données Neptune Global. Cela fournit une couche supplémentaire de protection des données. Il protège vos données contre tout accès non autorisé au stockage sous-jacent et contribue à satisfaire aux exigences de conformité en matière de chiffrement des données au repos.

Pour gérer les clés utilisées pour chiffrer et déchiffrer vos ressources Neptune, vous utilisez (). AWS Key Management ServiceAWS KMS AWS KMS combine du matériel et des logiciels sécurisés et hautement disponibles pour fournir un système de gestion des clés adapté au cloud. À l'aide de AWS KMS, vous pouvez créer des clés de chiffrement et définir les politiques qui contrôlent la manière dont ces clés peuvent être utilisées. AWS KMS supports AWS CloudTrail, afin que vous puissiez auditer l'utilisation des clés pour vérifier que les clés sont utilisées correctement.

Au repos, tous les journaux, sauvegardes et instantanés associés sont chiffrés pour tous les clusters de bases de données Neptune chiffrés. Le cryptage Neptune ne s'applique pas aux journaux exportés vers Amazon CloudWatch.

Chiffrement des ressources de Neptune

Lorsque vous créez un cluster de bases de données Neptune ou une base de données Neptune Global, vous pouvez fournir l'identifiant de AWS KMS clé pour votre clé de chiffrement. Si vous ne spécifiez pas d'identifiant de AWS KMS clé, Neptune utilise votre clé de chiffrement Amazon RDS par défaut (aws/rds) dans la région. AWS KMS crée une clé de cryptage par défaut pour chaque région de votre AWS compte. Pour un cluster Neptune Global, il contiendra autant de AWS KMS clés que de régions.

Une fois que vous avez créé une ressource Neptune, vous ne pouvez pas modifier la clé de chiffrement de cette ressource. Assurez-vous donc de déterminer vos exigences en matière de clé de cryptage avant de créer votre ressource Neptune. Si une AWS KMS clé différente est requise, vous pouvez utiliser un instantané du cluster de base de données Neptune existant pour en créer un nouveau avec une AWS KMS clé différente (voirRestauration à partir d'un instantané de cluster de base de données).

Vous pouvez utiliser l'Amazon Resource Name (ARN) d'une clé provenant d'un autre compte pour chiffrer une ressource Neptune. Si vous créez une ressource Neptune avec le même AWS compte que celui qui possède la clé de AWS KMS chiffrement, l'ID de AWS KMS clé que vous transmettez peut être l'alias de AWS KMS clé au lieu de l'ARN de la clé.

Important

Si Neptune perd l'accès à la clé de chiffrement d'un cluster de base de données Neptune, par exemple, lorsque Neptune révoque l'accès à une clé est révoqué, le cluster chiffré est placé dans un état terminal et ne peut être restauré qu'à partir d'une sauvegarde. Nous vous recommandons vivement de toujours activer les sauvegardes pour les clusters de bases de données Neptune cryptés afin de vous prémunir contre la perte de données chiffrées dans vos bases de données.

Autorisations de clés nécessaires pour activer le chiffrement

L'utilisateur ou le rôle IAM qui crée un cluster de base de données Neptune doit disposer au moins des autorisations suivantes pour la clé KMS :

  • "kms:Encrypt"

  • "kms:Decrypt"

  • "kms:GenerateDataKey"

  • "kms:ReEncryptTo"

  • "kms:GenerateDataKeyWithoutPlaintext"

  • "kms:CreateGrant"

  • "kms:ReEncryptFrom"

  • "kms:DescribeKey"

Voici un exemple (pour us-east-1 la région) d'une politique clé qui inclut les autorisations nécessaires :

JSON
{ "Version":"2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "Enable Permissions for root principal", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow use of the key for Neptune", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/NeptuneFullAccess" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:ReEncryptTo", "kms:GenerateDataKeyWithoutPlaintext", "kms:CreateGrant", "kms:ReEncryptFrom", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "rds.us-east-1.amazonaws.com" } } }, { "Sid": "Deny use of the key for non Neptune", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::123456789012:role/NeptuneFullAccess" }, "Action": [ "kms:*" ], "Resource": "*", "Condition": { "StringNotEquals": { "kms:ViaService": "rds.us-east-1.amazonaws.com" } } } ] }
  • La première déclaration de cette politique est facultative. Elle donne accès au principal root de l'utilisateur.

  • La deuxième instruction donne accès à toutes les AWS KMS API requises pour ce rôle, jusqu'au RDS Service Principal.

  • La troisième instruction renforce davantage la sécurité en imposant que cette clé n'est pas utilisable par ce rôle pour aucun autre AWS service.

Vous pouvez également réduire davantage les autorisations createGrant en ajoutant :

"Condition": { "Bool": { "kms:GrantIsForAWSResource": true } }

Limites du chiffrement Neptune

Les limites suivantes existent pour Neptune Encryption :

  • Vous ne pouvez pas convertir un cluster de base de données Neptune non chiffré en cluster chiffré. Vous ne pouvez activer le chiffrement pour un cluster de base de données Neptune que lors de sa création. Cependant, vous pouvez restaurer un instantané de cluster de bases de données Neptune non chiffré sur un cluster de bases de données Neptune chiffré. Pour ce faire, spécifiez une clé de chiffrement KMS lors de la restauration à partir du snapshot non chiffré du cluster de bases de données Neptune.

  • Pour des raisons de compatibilité, il est toujours possible de créer un cluster de base de données Neptune non chiffré via la CLI et AWS les SDK. La console permet uniquement la création de clusters de bases de données Neptune cryptés.

  • Vous ne pouvez pas mélanger des clusters Neptune DB chiffrés et non chiffrés dans la même base de données Neptune Global. Soit tous les clusters sont chiffrés, soit tous les clusters ne sont pas chiffrés. Ceci est appliqué dans la configuration Neptune Global DB.