View a markdown version of this page

Cifrar los recursos de Neptune en reposo - Amazon Neptune

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.

Cifrar los recursos de Neptune en reposo

Data-at-rest la recomendación es el cifrado. AWS Para obtener más información, consulte Data-at-Rest y Data-in-Transit cifrado. El cifrado se aplica en la AWS consola cuando se crea un nuevo clúster de base de datos Neptune o una nueva base de datos Neptune Global. Esto proporciona una capa adicional de protección de datos. Protege sus datos contra el acceso no autorizado al almacenamiento subyacente y ayuda a cumplir los requisitos de cumplimiento en materia de cifrado de datos en reposo.

Para administrar las claves utilizadas para cifrar y descifrar sus recursos de Neptune, utilice (). AWS Key Management ServiceAWS KMS AWS KMS combina hardware y software seguros y de alta disponibilidad para proporcionar un sistema de administración de claves adaptado a la nube. Con AWS KMSél, puede crear claves de cifrado y definir las políticas que controlan la forma en que se pueden usar estas claves. AWS KMS admite AWS CloudTrail, por lo que puede auditar el uso de las claves para comprobar que las claves se utilizan correctamente.

En reposo, todos los registros, copias de seguridad e instantáneas relacionados se cifran para todos los clústeres de bases de datos Neptune cifrados. El cifrado de Neptune no se aplica a los registros exportados a Amazon. CloudWatch

Cifrado de los recursos de Neptune

Al crear un clúster de base de datos Neptune o una base de datos global de Neptune, puede proporcionar el identificador de clave para su AWS KMS clave de cifrado. Si no especifica un identificador de AWS KMS clave, Neptune utiliza su clave de cifrado de Amazon RDS predeterminada (aws/rds) en la región. AWS KMS crea una clave de cifrado predeterminada para cada región de su AWS cuenta. En el caso de un clúster de Neptune Global, habrá tantas AWS KMS claves como regiones en él.

Después de crear un recurso de Neptune, no puede cambiar la clave de cifrado de ese recurso. Por lo tanto, asegúrese de determinar los requisitos de la clave de cifrado antes de crear el recurso de Neptune. Si se necesita una AWS KMS clave diferente, puede usar una instantánea del clúster de base de datos Neptune existente para crear uno nuevo con una AWS KMS clave diferente (consulteRestauración de una instantánea de clúster de base de datos).

Puede usar el nombre de recurso de Amazon (ARN) de una clave de otra cuenta para cifrar un recurso de Neptune. Si crea un recurso de Neptune con la misma AWS cuenta que posee la clave de AWS KMS cifrado, el identificador de AWS KMS clave que pase puede ser el alias de la AWS KMS clave en lugar del ARN de la clave.

importante

Si Neptune pierde el acceso a la clave de cifrado de un clúster de base de datos de Neptune (por ejemplo, cuando Neptune revoca el acceso a una clave), el clúster cifrado pasa a un estado terminal y solo se puede restaurar a partir de una copia de seguridad. Le recomendamos encarecidamente que siempre habilite las copias de seguridad de los clústeres de bases de datos Neptune cifrados para evitar la pérdida de datos cifrados en sus bases de datos.

Se necesitan permisos de claves para habilitar el cifrado

El usuario o rol de IAM que cree un clúster de base de datos de Neptune debe tener al menos los siguientes permisos para la clave de KMS:

  • "kms:Encrypt"

  • "kms:Decrypt"

  • "kms:GenerateDataKey"

  • "kms:ReEncryptTo"

  • "kms:GenerateDataKeyWithoutPlaintext"

  • "kms:CreateGrant"

  • "kms:ReEncryptFrom"

  • "kms:DescribeKey"

Este es un ejemplo (para una us-east-1 región) de una política de claves que incluye los permisos necesarios:

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 primera instrucción de esta política es opcional. Da acceso a la entidad principal raíz del usuario.

  • La segunda declaración proporciona acceso a todas las AWS KMS API necesarias para este rol, de ámbito exclusivo del director de servicio de RDS.

  • La tercera afirmación refuerza aún más la seguridad al garantizar que este rol no pueda utilizar esta clave para ningún otro servicio. AWS

También puede reducir aún más los permisos de createGrant añadiendo:

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

Limitaciones del cifrado de Neptune

Existen las siguientes limitaciones para Neptune Encryption:

  • No puede convertir un clúster de base de datos Neptune sin cifrar en uno cifrado. Solo puede habilitar el cifrado de un clúster de base de datos Neptune cuando se crea. Sin embargo, puede restaurar una instantánea de un clúster de base de datos Neptune sin cifrar en un clúster de base de datos Neptune cifrado. Para ello, especifique una clave de cifrado de KMS cuando restaure a partir de la instantánea del clúster de base de datos Neptune sin cifrar.

  • Por motivos de compatibilidad, aún es posible crear un clúster de base de datos Neptune sin cifrar mediante la CLI y los SDK. AWS La consola solo permite la creación de clústeres de bases de datos Neptune cifrados.

  • No puede mezclar clústeres de bases de datos Neptune cifrados y no cifrados en la misma base de datos Neptune Global. Todos los clústeres están cifrados o todos los clústeres no están cifrados. Esto se aplica en la configuración de la base de datos global de Neptune.