View a markdown version of this page

Criptografando recursos do Neptune em repouso - Amazon Neptune

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

Criptografando recursos do Neptune em repouso

Data-at-rest criptografia é a AWS recomendação. Para obter mais informações, consulte Data-at-Rest e Data-in-Transit criptografia. A criptografia é aplicada no AWS console quando você cria um novo cluster de banco de dados Neptune ou um novo banco de dados global do Neptune. Isso fornece uma camada adicional de proteção de dados. Ele protege seus dados contra acesso não autorizado ao armazenamento subjacente e ajuda a cumprir os requisitos de conformidade para criptografia de dados em repouso.

Para gerenciar as chaves usadas para criptografar e descriptografar seus recursos do Neptune, você usa (). AWS Key Management ServiceAWS KMS AWS KMS combina hardware e software seguros e altamente disponíveis para fornecer um sistema de gerenciamento de chaves dimensionado para a nuvem. Usando AWS KMS, você pode criar chaves de criptografia e definir as políticas que controlam como essas chaves podem ser usadas. AWS KMS suporta AWS CloudTrail, para que você possa auditar o uso da chave para verificar se as chaves estão sendo usadas adequadamente.

Em repouso, todos os registros, backups e instantâneos relacionados são criptografados para qualquer cluster de banco de dados Neptune criptografado. A criptografia do Neptune não se aplica aos registros exportados para a Amazon. CloudWatch

Criptografia dos recursos do Neptune

Ao criar um cluster de banco de dados Neptune ou um banco de dados global do Neptune, você pode fornecer o identificador de chave para sua AWS KMS chave de criptografia. Se você não especificar um identificador de AWS KMS chave, o Neptune usa sua chave de criptografia padrão do Amazon RDS (aws/rds) na região. AWS KMS cria uma chave de criptografia padrão para cada região em sua AWS conta. Para um cluster Neptune Global, haverá tantas AWS KMS chaves quanto regiões nele.

Depois de criar um recurso do Neptune, você não poderá alterar a chave de criptografia desse recurso. Portanto, certifique-se de determinar seus requisitos de chave de criptografia antes de criar seu recurso Neptune. Se for necessária uma AWS KMS chave diferente, você poderá usar um instantâneo do cluster de banco de dados Neptune existente para criar um novo com uma AWS KMS chave diferente (consulte). Restaurar a partir de um snapshot de cluster de banco de dados

Você pode usar o nome de recurso da Amazon (ARN) de uma chave de outra conta para criptografar um recurso do Neptune. Se você criar um recurso do Neptune com a mesma AWS conta que possui a chave de AWS KMS criptografia, o ID da AWS KMS chave transmitido poderá ser o alias da AWS KMS chave em vez do ARN da chave.

Importante

Se o Neptune perder o acesso à chave de criptografia de um cluster de banco de dados Neptune — por exemplo, quando o acesso do Neptune a uma chave for revogado — o cluster criptografado será colocado em um estado terminal e só poderá ser restaurado a partir de um backup. É altamente recomendável que você sempre habilite backups para clusters de banco de dados Neptune criptografados para evitar a perda de dados criptografados em seus bancos de dados.

Permissões de chave necessárias ao habilitar a criptografia

O usuário ou a função do IAM que está criando um cluster de banco de dados Neptune deve ter pelo menos as seguintes permissões para a chave KMS:

  • "kms:Encrypt"

  • "kms:Decrypt"

  • "kms:GenerateDataKey"

  • "kms:ReEncryptTo"

  • "kms:GenerateDataKeyWithoutPlaintext"

  • "kms:CreateGrant"

  • "kms:ReEncryptFrom"

  • "kms:DescribeKey"

Aqui está um exemplo (por us-east-1 região) de uma política de chaves que inclui as permissões necessárias:

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" } } } ] }
  • A primeira declaração desta política é opcional. Ela concede acesso à entidade principal raiz do usuário.

  • A segunda declaração fornece acesso a todas as AWS KMS APIs necessárias para essa função, com escopo reduzido ao RDS Service Principal.

  • A terceira declaração reforça ainda mais a segurança ao afirmar que essa chave não pode ser usada por essa função em nenhum outro serviço. AWS

Você também pode reduzir ainda mais o escopo das permissões createGrant adicionando:

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

Limitações da criptografia do Neptune

Existem as seguintes limitações para a Criptografia de Netuno:

  • Você não pode converter um cluster de banco de dados Neptune não criptografado em um criptografado. Você só pode habilitar a criptografia para um cluster de banco de dados Neptune quando ele é criado. No entanto, você pode restaurar um snapshot não criptografado do Neptune DB Cluster em um cluster de banco de dados Neptune criptografado. Para fazer isso, especifique uma chave de criptografia KMS ao restaurar a partir do snapshot não criptografado do Neptune DB Cluster.

  • Por motivos de compatibilidade, ainda é possível criar um cluster de banco de dados Neptune não criptografado por meio da CLI e dos SDKs. AWS O console só permite a criação de clusters de banco de dados Neptune criptografados.

  • Você não pode misturar clusters de banco de dados Neptune criptografados e não criptografados no mesmo banco de dados global do Neptune. Ou todos os clusters são criptografados ou todos os clusters não são criptografados. Isso é aplicado na configuração do Neptune Global DB.