

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

# Criptografia de dados em repouso para clusters elásticos do Amazon DocumentDB
<a name="elastic-encryption"></a>

Os tópicos a seguir ajudam você a aprender, criar e monitorar chaves de AWS Key Management Service criptografia para clusters elásticos do Amazon DocumentDB:

**Topics**
+ [Como os clusters elásticos do Amazon DocumentDB usam concessões em AWS KMS](#ec-encrypt-grants)
+ [Criar uma chave gerenciada pelo cliente](#ec-encrypt-create)
+ [Monitorar suas chaves de criptografia para clusters elásticos do Amazon DocumentDB](#ec-encrypt-monitor)
+ [Saiba mais](#ec-encrypt-learn)

Os clusters elásticos do Amazon DocumentDB se integram automaticamente com AWS Key Management Service (AWS KMS) para gerenciamento de chaves e usam um método conhecido como criptografia de envelope para proteger seus dados. Para ter mais informações sobre a criptografia de envelope, consulte [Criptografia de envelope](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#enveloping) no *Guia do desenvolvedor do AWS Key Management Service *.

An AWS KMS key é uma representação lógica de uma chave. A chave do KMS inclui metadados, como o ID da chave, a data de criação, a descrição e o estado da chave. A chave do KMS também contém o material de chave usado para criptografar e descriptografar dados. Para obter mais informações sobre as chaves do KMS, consulte [AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) no *Guia do desenvolvedor do AWS Key Management Service *.

Os clusters elásticos do Amazon DocumentDB oferecem suporte à criptografia com dois tipos de chaves:
+ **AWS chaves próprias —** os clusters elásticos do Amazon DocumentDB usam essas chaves por padrão para criptografar automaticamente dados de identificação pessoal. Você não pode visualizar, gerenciar ou usar chaves AWS de propriedade, nem auditar seu uso. No entanto, não é necessário tomar nenhuma medida nem alterar qualquer programa para proteger as chaves que criptografam seus dados. Para obter mais informações, consulte chaves de propriedade da [AWS no ](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)Guia do desenvolvedor do *AWS Key Management Service *.
+ **Chaves gerenciadas pelo cliente —** simétricas AWS KMS keys que você cria, possui e gerencia. Como você tem controle total dessa camada de criptografia, você pode realizar tarefas como:
  + Estabelecer e manter as políticas de chave
  + Estabelecer e manter subsídios e IAM policies
  + Habilitar e desabilitar políticas de chaves
  + Alternar os materiais de criptografia de chave
  + Adicionar etiquetas
  + Criar réplicas de chaves
  + Chaves de agendamento para exclusão

  Para obter mais informações, consulte [Customer managed keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no *Guia do desenvolvedor do AWS Key Management Service *.

**Importante**  
Você deve usar uma chave do KMS de criptografia simétrica para criptografar seu cluster, pois o Amazon DocumentDB só oferece suporte a chaves KMS de criptografia simétrica. Não use uma chave KMS assimétrica para tentar criptografar os dados nos clusters elásticos do Amazon DocumentDB. Para obter mais informações, consulte [Chaves assimétricas no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) no *Guia do desenvolvedor do AWS Key Management Service *.  
Se o Amazon DocumentDB não puder mais obter acesso à chave de criptografia de um cluster por exemplo, quando o acesso a uma chave for revogado o cluster criptografado entrará em um estado de terminal. Nesse caso, só é possível restaurar o cluster a partir de um backup. Para o Amazon DocumentDB, os backups estão sempre habilitados para 1 dia. Além disso, se você desativar a chave para um cluster criptografado do Amazon DocumentDB, acabará perdendo o acesso de leitura e gravação a esse cluster. Quando o Amazon DocumentDB encontra um cluster que é criptografado por uma chave à qual ele não tem acesso, ele coloca o cluster em um estado terminal. Nesse estado, o cluster deixa de estar disponível e o estado atual do banco de dados não pode ser recuperado. Para restaurar o cluster, você deve reativar o acesso à chave de criptografia para o Amazon DocumentDB e, depois, restaurar o cluster a partir de um backup.

**Importante**  
Não é possível alterar a chave KMS para um cluster criptografado depois de já tê-lo criado. Certifique-se de determinar seus requisitos de chave de criptografia antes de criar seu cluster elástico criptografado.

## Como os clusters elásticos do Amazon DocumentDB usam concessões em AWS KMS
<a name="ec-encrypt-grants"></a>

Os clusters elásticos do Amazon DocumentDB exigem uma [concessão](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) para usar sua chave gerenciada pelo cliente.

Quando você cria um cluster criptografado com uma chave gerenciada pelo cliente, os clusters elásticos do Amazon DocumentDB criam uma concessão em seu nome enviando uma `CreateGrant` solicitação para. AWS KMS As concessões AWS KMS são usadas para dar aos clusters elásticos do Amazon DocumentDB acesso a uma chave KMS em uma conta de cliente.

Os clusters elásticos do Amazon DocumentDB exigem a concessão para usar sua chave gerenciada pelo cliente para as seguintes operações internas:
+ Envie `DescribeKey` solicitações AWS KMS para verificar se o ID simétrico da chave KMS gerenciada pelo cliente, inserido ao criar um rastreador ou uma coleção de cercas geográficas, é válido.
+ Envie `GenerateDataKey` solicitações AWS KMS para gerar chaves de dados criptografadas pela chave gerenciada pelo cliente.
+ Envie `Decrypt` solicitações AWS KMS para descriptografar as chaves de dados criptografadas para que elas possam ser usadas para criptografar seus dados.
+ É possível revogar o acesso à concessão, ou remover o acesso do serviço à chave gerenciada pelo cliente a qualquer momento. Se você fizer isso, os clusters elásticos do Amazon DocumentDB não poderão acessar nenhum dos dados criptografados com a chave gerenciada pelo cliente, o que afetará as operações que dependerem desses dados.

## Criar uma chave gerenciada pelo cliente
<a name="ec-encrypt-create"></a>

Você pode criar uma chave simétrica gerenciada pelo cliente usando a Console de gerenciamento da AWS ou a AWS KMS API.

**Criação das chaves simétricas gerenciadas pelo cliente**

Siga as etapas de [Criar uma chave simétrica gerenciada pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) no *Guia do desenvolvedor do AWS Key Management Service *.

**Política de chave**

As políticas de chaves controlam o acesso à chave gerenciada pelo cliente. Cada chave gerenciada pelo cliente deve ter exatamente uma política de chaves, que contém declarações que determinam quem pode usar a chave e como pode usá-la. Ao criar a chave gerenciada pelo cliente, é possível especificar uma política de chaves. Para obter mais informações, consulte as informações de acesso à chave KMS localizadas na [Visão geral do AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) no *Guia do desenvolvedor do AWS Key Management Service *.

Para usar sua chave gerenciada pelo cliente com recursos de cluster elástico do Amazon DocumentDB, as seguintes operações de API devem ser permitidas na política de chaves:
+ [https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html): Adiciona uma concessão a uma chave gerenciada pelo cliente. Concede acesso de controle a uma chave KMS especificada, que permite o acesso às operações de concessão exigidas pelo Amazon Location Service. Para obter mais informações sobre o uso de concessões, consulte [Concessões no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) no *Guia do desenvolvedor do AWS Key Management Service *.
+ [https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html): fornece os principais detalhes gerenciados pelo cliente para permitir que o Docdb Elastic valide a chave.
+ [https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): permite que o Docdb Elastic use a chave de dados criptografada armazenada para acesse os dados criptografados.
+ [https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) : permite que o Docdb Elastic gere uma chave de dados criptografada e a armazene, porque a chave de dados não é usada imediatamente para criptografar.

Para obter mais informações, consulte [Permissões para AWS serviços nas principais políticas](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-services.html) e [Solução de problemas de acesso por chave](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) no *Guia do AWS Key Management Service desenvolvedor*.

**Restringir o acesso à chave gerenciada pelo cliente por meio de políticas do IAM**

Além das políticas de chaves KMS, você também pode restringir as permissões da chave KMS em uma política do IAM.

É possível tornar a política do IAM mais rígida de várias maneiras. Por exemplo, para permitir que a chave gerenciada pelo cliente só seja usada para solicitações provenientes do cluster elástico do Amazon DocumentDB, é possível utilizar a [chave de condição `kms:ViaService`](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service) com o valor `docdb-elastic.<region-name>.amazonaws.com`.

Para obter mais informações, consulte [Como permitir que usuários em outras contas usem uma chave do KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) no *Guia do desenvolvedor do AWS Key Management Service *.

## Monitorar suas chaves de criptografia para clusters elásticos do Amazon DocumentDB
<a name="ec-encrypt-monitor"></a>

Ao usar uma chave gerenciada pelo AWS KMS key cliente com seus recursos do Docdb Elastic, você pode usar AWS CloudTrail o Amazon CloudWatch Logs para rastrear as solicitações para as quais o Docdb Elastic envia. AWS KMS

Os exemplos a seguir são AWS CloudTrail eventos para`CreateGrant`, `GenerateDataKeyWithoutPlainText``Decrypt`, e `DescribeKey` para monitorar AWS KMS key operações chamadas pelos clusters elásticos do Amazon DocumentDB para acessar dados criptografados pela chave gerenciada pelo cliente:

------
#### [ CreateGrant ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:assumed-role/Admin/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Sampleuser01"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-05-09T23:04:20Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "docdb-elastic.amazonaws.com"
    },
    "eventTime": "2023-05-09T23:55:48Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "docdb-elastic.amazonaws.com",
    "userAgent": "docdb-elastic.amazonaws.com",
    "requestParameters": {
        "retiringPrincipal": "docdb-elastic.us-east-1.amazonaws.com",
        "granteePrincipal": "docdb-elastic.us-east-1.amazonaws.com",
        "operations": [
            "Decrypt",
            "Encrypt",
            "GenerateDataKey",
            "GenerateDataKeyWithoutPlaintext",
            "ReEncryptFrom",
            "ReEncryptTo",
            "CreateGrant",
            "RetireGrant",
            "DescribeKey"
        ],
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "responseElements": {
        "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
        {
            "accountId": "AWS Internal",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------
#### [ GenerateDataKey ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:assumed-role/Admin/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Sampleuser01"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-05-10T18:02:59Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "docdb-elastic.amazonaws.com"
    },
    "eventTime": "2023-05-10T18:03:25Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "docdb-elastic.amazonaws.com",
    "userAgent": "docdb-elastic.amazonaws.com",
    "requestParameters": {
        "keySpec": "AES_256",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "AWS Internal",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------
#### [ Decrypt ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:assumed-role/Admin/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Sampleuser01"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-05-10T18:05:49Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "docdb-elastic.amazonaws.com"
    },
    "eventTime": "2023-05-10T18:06:19Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "docdb-elastic.amazonaws.com",
    "userAgent": "docdb-elastic.amazonaws.com",
    "requestParameters": {
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT"
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "AWS Internal",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------
#### [ DescribeKey ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:assumed-role/Admin/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Sampleuser01"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-05-09T23:04:20Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "docdb-elastic.amazonaws.com"
    },
    "eventTime": "2023-05-09T23:55:48Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "DescribeKey",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "docdb-elastic.amazonaws.com",
    "userAgent": "docdb-elastic.amazonaws.com",
    "requestParameters": {
        "keyId": "alias/SampleKmsKey"
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "AWS Internal",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------

## Saiba mais
<a name="ec-encrypt-learn"></a>

Os recursos a seguir fornecem mais informações sobre a criptografia de dados em pausa:
+ Para obter mais informações sobre AWS KMS conceitos, consulte [os conceitos AWS Key Management Service básicos](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) no *Guia do AWS Key Management Service desenvolvedor*.
+ Para obter mais informações sobre AWS KMS segurança, consulte [as melhores práticas de segurança AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) no *Guia do AWS Key Management Service desenvolvedor*.