

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
<a name="encrypt"></a>

Data-at-rest a criptografia é a AWS recomendação. Para obter mais informações, consulte [Data-at-Reste Data-in-Transit criptografia](https://docs.aws.amazon.com/whitepapers/latest/logical-separation/encrypting-data-at-rest-and--in-transit.html). A criptografia é aplicada no AWS console quando você cria um novo Neptune DB Cluster ou um novo Neptune Global DB. Isso fornece uma camada adicional de proteção de dados. Ele protege seus dados contra o 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](https://docs.aws.amazon.com/kms/latest/developerguide/) AWS KMS combina hardware e software seguros e de alta disponibilidade 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 das chaves para verificar se as chaves estão sendo usadas adequadamente.

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

## Criptografia dos recursos do Neptune
<a name="encrypt-enable"></a>

Ao criar um Neptune DB Cluster ou um Neptune Global DB, você pode fornecer AWS KMS o identificador de chave para sua 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 da sua AWS conta. Para um cluster Neptune Global, haverá AWS KMS tantas chaves quanto regiões nele.

Depois de criar um recurso do Neptune, você não pode 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 snapshot do Neptune DB Cluster existente para criar uma nova com uma chave AWS KMS diferente (consulte). [Restaurar a partir de um snapshot de cluster de banco de dados](backup-restore-restore-snapshot.md)

Você pode usar o Amazon Resource Name (ARN) de uma chave de outra conta para criptografar um recurso do Neptune. Se você criar um recurso do Neptune com a AWS mesma conta que possui a chave de criptografia, AWS KMS o ID da chave que você passar pode ser AWS KMS o alias AWS KMS da 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
<a name="encrypt-key-permissions"></a>

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 chave 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 aumenta ainda mais a segurança ao impor 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
<a name="encrypt-limitations"></a>

As seguintes limitações existem para o Neptune Encryption:
+ 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 Neptune DB Cluster 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 Neptune Global. Todos os clusters estão criptografados ou todos os clusters não estão criptografados. Isso é imposto na configuração do Neptune Global DB.