

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 em repouso no Amazon QLDB
<a name="encryption-at-rest"></a>

**Importante**  
Aviso de fim do suporte: os clientes existentes poderão usar o Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte [Migrar um Amazon QLDB Ledger para o Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Todos os dados de usuário armazenados no Amazon QLDB são totalmente criptografados em repouso. A *criptografia QLDB em repouso* fornece segurança aprimorada ao criptografar todos os dados contábeis em repouso usando chaves de criptografia em (). AWS Key Management Service AWS KMS Essa funcionalidade ajuda a reduzir a carga e complexidade operacionais necessárias para proteger dados confidenciais. Com a criptografia de dados em repouso, você pode criar aplicativos confidenciais do ledger que atendem a requisitos rigorosos de conformidade e regulamentação de criptografia.

A criptografia em repouso se integra ao gerenciamento da chave de criptografia usada AWS KMS para proteger seus livros contábeis do QLDB. Para obter mais informações sobre AWS KMS, consulte [AWS Key Management Service os conceitos](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) no *Guia do AWS Key Management Service desenvolvedor*.

No QLDB, você pode especificar o tipo de para cada recurso AWS KMS key contábil. Ao criar um novo ledger ou atualizar um ledger existente, você pode escolher um dos seguintes tipos de chaves KMS para proteger seus dados contábeis:
+ *Chave pertencente à AWS*: o tipo de criptografia padrão A chave pertence ao QLDB (sem custo adicional).
+ *Chave gerenciada pelo cliente*: a chave é armazenada na sua Conta da AWS e é você quem cria, detém e gerencia. Você tem controle total sobre a chave (AWS KMS taxas aplicáveis).

**nota**  
O Amazon QLDB lançou o suporte para AWS KMS keys gerenciamento de clientes em 22 de julho de 2021. Todos os livros contábeis criados antes do lançamento são protegidos Chaves pertencentes à AWS por padrão, mas atualmente não estão qualificados para criptografia em repouso usando chaves gerenciadas pelo cliente.  
Você pode ver a hora de criação do seu ledger contábil no console do QLDB.

Quando você acessa um ledger, o QLDB descriptografa os dados de forma transparente. Você pode alternar entre a chave gerenciada pelo cliente Chave pertencente à AWS e a chave gerenciada pelo cliente a qualquer momento. Você não precisa alterar códigos ou aplicações para usar ou gerenciar tabelas criptografadas.

Você pode especificar uma chave de criptografia ao criar um novo livro contábil ou alterar a chave de criptografia em um livro contábil existente usando a Console de gerenciamento da AWS, a API QLDB ou a (). AWS Command Line Interface AWS CLI Para obter mais informações, consulte [Usar chaves gerenciadas pelo cliente no Amazon QLDB](encryption-at-rest.using-cust-keys.md).

**nota**  
Por padrão, o Amazon QLDB habilita automaticamente a criptografia em repouso, usando Chaves pertencentes à AWS sem custo adicional. No entanto, AWS KMS cobranças são cobradas pelo uso de uma chave gerenciada pelo cliente. Para obter mais informações sobre preços, consulte [Preços do AWS Key Management Service](https://aws.amazon.com/kms/pricing).  
A criptografia QLDB em repouso está disponível em todos os Regiões da AWS lugares onde o QLDB está disponível.

**Topics**
+ [

# Criptografia em repouso: como funciona no Amazon QLDB
](encryption-at-rest.how-it-works.md)
+ [

# Usar chaves gerenciadas pelo cliente no Amazon QLDB
](encryption-at-rest.using-cust-keys.md)

# Criptografia em repouso: como funciona no Amazon QLDB
<a name="encryption-at-rest.how-it-works"></a>

A *criptografia do QLDB em repouso* criptografa seus dados usando Advanced Encryption Standard (AES-256) de 256 bits. Isso ajuda a proteger seus dados contra o acesso não autorizado ao armazenamento subjacente. Por padrão, todos os dados armazenados nos ledgers do QLDB são criptografados em repouso. A criptografia do lado do servidor é transparente, o que significa que não são necessárias alterações nos aplicativos. 

A criptografia em repouso se integra com AWS Key Management Service (AWS KMS) para gerenciar a chave de criptografia usada para proteger seus livros contábeis do QLDB. Ao criar um novo ledger ou atualizar um ledger existente, você pode escolher um dos seguintes tipos de chaves AWS KMS :
+ *Chave pertencente à AWS*: o tipo de criptografia padrão A chave pertence ao QLDB (sem custo adicional).
+ *Chave gerenciada pelo cliente*: a chave é armazenada na sua Conta da AWS e é você quem cria, detém e gerencia. Você tem controle total sobre a chave (AWS KMS taxas aplicáveis).

**Topics**
+ [

## Chave pertencente à AWS
](#encryption-at-rest.aws-owned)
+ [

## Chave gerenciada pelo cliente
](#encryption-at-rest.customer-managed)
+ [

## Como o Amazon QLDB usa subsídios em AWS KMS
](#encryption-at-rest.grants)
+ [

## Restaurar concessões em AWS KMS
](#encryption-at-rest.restoring-grants)
+ [

## Considerações sobre criptografia em repouso
](#encryption-at-rest.considerations)

## Chave pertencente à AWS
<a name="encryption-at-rest.aws-owned"></a>

Chaves pertencentes à AWS não estão armazenados no seu Conta da AWS. Elas fazem parte de uma coleção de chaves KMS que AWS possui e gerencia para uso em várias Contas da AWS. Serviços da AWS pode ser usado Chaves pertencentes à AWS para proteger seus dados.

Você não precisa criar ou gerenciar Chaves pertencentes à AWS. No entanto, você não pode visualizar Chaves pertencentes à AWS, monitorar ou auditar seu uso. Não é cobrada uma taxa mensal ou uma taxa de uso Chaves pertencentes à AWS, e elas não contam nas AWS KMS cotas da sua conta.

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

## Chave gerenciada pelo cliente
<a name="encryption-at-rest.customer-managed"></a>

As chaves gerenciadas pelo cliente são chaves KMS Conta da AWS que você cria, possui e gerencia. Você tem controle total sobre essas chaves KMS. O QLDB só oferece suporte a chaves de criptografia simétricas KMS.

Use uma chave gerenciada pelo cliente para obter os seguintes recursos:
+ Configurar e manter políticas de chaves, políticas do IAM e concessões para controlar o acesso à chave.
+ Habilitar e desabilitar a chave
+ Material criptográfico rotativo para a chave
+ Criação de tags-chave e aliases
+ Agendar a exclusão da chave
+ Importar seu próprio material de chave ou usar um armazenamento de chaves personalizado de sua propriedade e que você gerencia.
+ Usando o AWS CloudTrail Amazon CloudWatch Logs para rastrear as solicitações que o QLDB envia AWS KMS em seu nome

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

As chaves gerenciadas pelo cliente são [cobradas](https://aws.amazon.com/kms/pricing/) por cada chamada de API, e as AWS KMS cotas se aplicam a essas chaves do KMS. Para obter mais informações, consulte [Cotas de solicitação ou de recursos AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html).

Quando você especifica uma chave gerenciada pelo cliente como a chave do KMS para um ledger, todos os dados do ledger no armazenamento do diário e no armazenamento indexado são protegidos pela mesma chave gerenciada pelo cliente.

**Chaves gerenciadas pelo cliente inacessíveis**

Se você desativar sua chave gerenciada pelo cliente, programar a chave para exclusão ou revogar as concessões da chave, o status da criptografia contábil será `KMS_KEY_INACCESSIBLE`. Nesse estado, o ledger está comprometido e não aceita nenhuma solicitação de leitura ou gravação. Uma chave inacessível impede que todos os usuários e o serviço QLDB criptografem ou descriptografem dados e realizem operações de leitura e gravação no ledger. O QLDB deve ter acesso à sua chave de criptografia KMS para garantir que você possa continuar acessando seu ledger e evitar a perda de dados.

**Importante**  
Um ledger danificado retorna automaticamente ao estado ativo depois que você restaura as concessões na chave ou depois de reativar a chave que foi desativada.  
No entanto, a exclusão de uma chave gerenciada pelo cliente é *irreversível*. Depois que uma chave é excluída, não é mais possível acessar os ledgers que estão protegidos com ela, e **os dados ficam irrecuperáveis permanentemente**.

Para verificar o status da criptografia de um livro contábil, use a operação Console de gerenciamento da AWS ou a [DescribeLedger](ledger-management.basics.md#ledger-management.basics.describe)API.

## Como o Amazon QLDB usa subsídios em AWS KMS
<a name="encryption-at-rest.grants"></a>

O QLDB *exige* concessões para usar sua chave gerenciada pelo cliente. Quando você cria um livro contábil protegido com uma chave gerenciada pelo cliente, o QLDB cria concessões em seu nome enviando solicitações para. [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) AWS KMS As concessões AWS KMS são usadas para dar ao QLDB acesso a uma chave KMS em um cliente. Conta da AWS Para obter mais informações, consulte [Uso de concessões](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) no *Guia do desenvolvedor do AWS Key Management Service *.

O QLDB exige concessões para usar sua chave gerenciada pelo cliente para as seguintes AWS KMS operações internas:
+ [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)— Verifique se a chave KMS de criptografia simétrica especificada é válida.
+ [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)— Gere uma chave de dados simétrica exclusiva que o QLDB usa para criptografar dados em repouso em seu livro contábil.
+ [Descriptografar](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): descriptografa dados que foram criptografados com a chave gerenciada pelo cliente.
+ [Criptografar](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html): criptografe texto simples em texto cifrado usando sua chave gerenciada pelo cliente.

É possível revogar o acesso à concessão, ou remover o acesso do serviço à chave gerenciada pelo cliente quando você quiser. Se você fizer isso, a chave ficará inacessível e o QLDB perderá o acesso a qualquer um dos dados contábeis protegidos pela chave gerenciada pelo cliente. Nesse estado, o ledger está comprometido e não aceita nenhuma solicitação de leitura ou gravação até que você restaure as concessões na chave.

## Restaurar concessões em AWS KMS
<a name="encryption-at-rest.restoring-grants"></a>

Para restaurar concessões em uma chave gerenciada pelo cliente e recuperar o acesso a um ledger no QLDB, você pode atualizar o ledger e especificar a mesma chave KMS. Para instruções, consulte [Como atualizar o AWS KMS key de um ledger existente](encryption-at-rest.using-cust-keys.md#encryption-at-rest.using-cust-keys.update).

## Considerações sobre criptografia em repouso
<a name="encryption-at-rest.considerations"></a>

Considere o seguinte ao usar criptografia em repouso em QLDB.
+ A criptografia do lado do servidor em repouso está habilitada em todos os dados do ledger do QLDB e não pode ser desabilitada. Não é possível criptografar apenas um subconjunto de itens em um ledger.
+ A criptografia em repouso só criptografa dados enquanto eles estão estáticos (em repouso) em uma mídia de armazenamento persistente. Se a segurança dos dados for motivo de preocupação para dados em trânsito ou dados em uso, talvez seja necessário tomar outras medidas, como:
  + *Dados em trânsito*: todos os dados no QLDB são criptografados em trânsito. Por padrão, as comunicações de e para o QLDB usam o protocolo HTTPS, que protege o tráfego de rede usando a criptografia Secure Sockets Layer (SSL)/Transport Layer Security (TLS).
  + *Dados em uso*: proteja seus dados antes de enviá-los ao QLDB, usando a criptografia do lado do cliente.

Para saber como implementar chaves gerenciadas pelo cliente para ledgers, vá para [Usar chaves gerenciadas pelo cliente no Amazon QLDB](encryption-at-rest.using-cust-keys.md).

# Usar chaves gerenciadas pelo cliente no Amazon QLDB
<a name="encryption-at-rest.using-cust-keys"></a>

Você pode usar a API Console de gerenciamento da AWS, the AWS Command Line Interface (AWS CLI) ou QLDB para especificar para novos livros contábeis e livros contábeis existentes AWS KMS key no Amazon QLDB. Os tópicos a seguir descrevem como gerenciar e monitorar o uso de suas chaves gerenciadas pelo cliente no QLDB.

**Topics**
+ [

## Pré-requisitos
](#encryption-at-rest.using-cust-keys.prereqs)
+ [

## Como especificar o AWS KMS key para um novo ledger
](#encryption-at-rest.using-cust-keys.specify)
+ [

## Como atualizar o AWS KMS key de um ledger existente
](#encryption-at-rest.using-cust-keys.update)
+ [

## Monitorar a AWS KMS keys
](#encryption-at-rest.using-cust-keys.monitor)

## Pré-requisitos
<a name="encryption-at-rest.using-cust-keys.prereqs"></a>

Antes de proteger um livro contábil do QLDB com uma chave gerenciada pelo cliente, você deve primeiro criar a chave em (). AWS Key Management Service AWS KMS Você também deve especificar uma política de chaves que permita que o QLDB crie concessões em seu nome AWS KMS key .

**Criar uma chave gerenciada pelo cliente**  
Para criar uma chave gerenciada pelo cliente, siga as etapas em [Criar chaves KMS de criptografia simétrica](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) no *Guia do desenvolvedor do AWS Key Management Service *. O QLDB não oferece suporte para [chaves assimétricas](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html).

**Definir uma política de chaves**  
Políticas-chave são a principal forma de controlar o acesso às chaves gerenciadas pelo cliente em AWS KMS. Cada chave gerenciada pelo cliente deve ter exatamente uma política de chaves. As instruções no documento de política de chaves determinam quem tem permissão para usar a chave do KMS e como eles podem usá-la. Para obter mais informações, consulte [Usando políticas de chaves em AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html).  
Você pode especificar uma política de chaves quando criar uma chave gerenciada pelo cliente. Para alterar uma política de chave para uma chave gerenciada pelo cliente existente, consulte [Alterar uma política de chave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html).  
Para permitir que o QLDB use sua chave gerenciada pelo cliente, a política de chaves deve incluir permissões para as seguintes ações: AWS KMS   
+ [kms: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) — Adiciona uma [concessão](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) a uma chave gerenciada pelo cliente. Concede acesso a controle para uma chave KMS especificada.

  Quando você cria ou atualiza um ledger com uma chave gerenciada pelo cliente especificada, o QLDB cria concessões que permitem acesso às [operações de concessão](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations) necessárias. As operações de concessão incluem o seguinte:
  + [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)
  + [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)
  + [Encrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html)
+ [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) — Retorna informações detalhadas sobre uma chave gerenciada pelo cliente. O QLDB usa essas informações para validar a chave.
**Exemplo de política de chave**  
Veja a seguir um exemplo de política de chave que pode ser usada para o QLDB. Essa política permite que entidades principais autorizadas a usar o QLDB da conta `111122223333` para chamar as operações `DescribeKey` e `CreateGrant` no recurso `arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`.  
Para usar essa política*us-east-1*, substitua e*111122223333*, *1234abcd-12ab-34cd-56ef-1234567890ab* no exemplo, por suas próprias informações.  

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid" : "Allow access to principals authorized to use Amazon QLDB",
            "Effect" : "Allow",
            "Principal" : {
                "AWS" : "*"
            },
            "Action" : [
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource" : "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
            "Condition" : {
                "StringEquals" : {
                    "kms:ViaService" : "qldb.us-east-1.amazonaws.com",
                    "kms:CallerAccount" : "111122223333"
                }
            }
        }
    ]
}
```

## Como especificar o AWS KMS key para um novo ledger
<a name="encryption-at-rest.using-cust-keys.specify"></a>

Siga estas etapas para especificar uma chave KMS ao criar um novo ledger usando o console QLDB ou o AWS CLI.

É possível especificar uma chave gerenciada pelo cliente usando um ID, alias ou nome do recurso da Amazon (ARN). Para saber mais, consulte [Identificadores de chave (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id) no *Guia do AWS Key Management Service desenvolvedor*.

**nota**  
Chaves entre regiões não são compatíveis. A chave KMS especificada deve estar na mesma Região da AWS do seu livro contábil.

### Criar um ledger (console)
<a name="encryption-at-rest.using-cust-keys.specify.con"></a>

1. [Faça login no e abra Console de gerenciamento da AWS o console do Amazon QLDB em /qldb. https://console.aws.amazon.com](https://console.aws.amazon.com/qldb)

1. Escolha **(Criar ledger)**.

1. Na página **Criar Ledger**, faça o seguinte:
   + **Informações do livro contábil** — insira um **nome de livro contábil** exclusivo entre todos os livros contábeis atuais e da região. Conta da AWS 
   + **Modo de permissões**: escolha um modo de permissões para atribuir ao ledger:
     + **Permitir tudo**
     + **Padrão** (*recomendado*)
   + **Criptografar dados em repouso**: escolha o tipo de chave do KMS a ser usada para a criptografia em repouso:
     + **Use uma chave KMS AWS própria** — Use uma chave KMS que seja de propriedade e gerenciada AWS em seu nome. Essa é a opção padrão e não requer configuração adicional.
     + **Escolha uma AWS KMS chave diferente** — Use uma chave KMS de criptografia simétrica em sua conta que você cria, possui e gerencia.

       Para criar uma nova chave usando o AWS KMS console, escolha **Criar uma AWS KMS chave**. Para obter mais informações, consulte [Criar chaves do KMS simétricas](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) no *Guia do desenvolvedor do AWS Key Management Service *.

       Para usar uma chave KMS existente, escolha uma na lista suspensa ou especifique um ARN da chave KMS.

1. Quando estiver satisfeito com as configurações, escolha **Criar ledger**.

   Você pode acessar seu ledger do QLDB quando seu status se tornar **Ativo**. Isso pode demorar vários minutos.

### Criar um ledger (AWS CLI)
<a name="encryption-at-rest.using-cust-keys.specify.cli"></a>

Use o AWS CLI para criar um livro contábil no QLDB com a chave Chave pertencente à AWS padrão ou uma chave gerenciada pelo cliente.

**Example — Para criar um ledger com o padrão Chave pertencente à AWS**  

```
aws qldb create-ledger --name my-example-ledger --permissions-mode STANDARD
```

**Example — Para criar um ledger com uma chave gerenciada pelo cliente**  

```
aws qldb create-ledger \
    --name my-example-ledger \
    --permissions-mode STANDARD \
    --kms-key arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
```

## Como atualizar o AWS KMS key de um ledger existente
<a name="encryption-at-rest.using-cust-keys.update"></a>

Você também pode usar o console do QLDB ou o para atualizar AWS CLI a chave KMS de um livro contábil existente em uma chave gerenciada pelo cliente ou em uma chave gerenciada pelo cliente a Chave pertencente à AWS qualquer momento.

**nota**  
O Amazon QLDB lançou o suporte para AWS KMS keys gerenciamento de clientes em 22 de julho de 2021. Todos os livros contábeis criados antes do lançamento são protegidos Chaves pertencentes à AWS por padrão, mas atualmente não estão qualificados para criptografia em repouso usando chaves gerenciadas pelo cliente.  
Você pode ver a hora de criação do seu ledger contábil no console do QLDB.

As alterações de chave no QLDB são assíncronas. O ledger é totalmente acessível sem nenhum impacto no desempenho enquanto a alteração da chave está sendo processada. O tempo necessário para atualizar uma chave varia dependendo do tamanho do ledger.

É possível especificar uma chave gerenciada pelo cliente usando um ID, alias ou nome do recurso da Amazon (ARN). Para saber mais, consulte [Identificadores de chave (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id) no *Guia do AWS Key Management Service desenvolvedor*.

**nota**  
Chaves entre regiões não são compatíveis. A chave KMS especificada deve estar na mesma Região da AWS do seu livro contábil.

### Atualizar um ledger (console)
<a name="encryption-at-rest.using-cust-keys.update.con"></a>

1. [Faça login no e abra Console de gerenciamento da AWS o console do Amazon QLDB em /qldb. https://console.aws.amazon.com](https://console.aws.amazon.com/qldb)

1. No painel de navegação, escolha **Ledgers**.

1. Na lista de ledgers, selecione o ledger que você deseja atualizar e escolha **Editar ledger.**

1. Na página **Editar ledger**, escolha o tipo de chave KMS a ser usada para criptografia em repouso:
   + **Use uma chave KMS AWS própria** — Use uma chave KMS que seja de propriedade e gerenciada AWS em seu nome. Essa é a opção padrão e não requer configuração adicional.
   + **Escolha uma AWS KMS chave diferente** — Use uma chave KMS de criptografia simétrica em sua conta que você cria, possui e gerencia.

     Para criar uma nova chave usando o AWS KMS console, escolha **Criar uma AWS KMS chave**. Para obter mais informações, consulte [Criar chaves do KMS simétricas](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) no *Guia do desenvolvedor do AWS Key Management Service *.

     Para usar uma chave KMS existente, escolha uma na lista suspensa ou especifique um ARN da chave KMS.

1. Escolha **Confirmar alterações**.

### Atualizar um ledger (AWS CLI)
<a name="encryption-at-rest.using-cust-keys.update.cli"></a>

Use o AWS CLI para atualizar um livro contábil existente no QLDB com a chave Chave pertencente à AWS padrão ou uma chave gerenciada pelo cliente.

**Example — Para atualizar um ledger com o padrão Chave pertencente à AWS**  

```
aws qldb update-ledger --name my-example-ledger --kms-key AWS_OWNED_KMS_KEY
```

**Example — Para atualizar um ledger com uma chave gerenciada pelo cliente**  

```
aws qldb update-ledger \
    --name my-example-ledger \
    --kms-key arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
```

## Monitorar a AWS KMS keys
<a name="encryption-at-rest.using-cust-keys.monitor"></a>

Se você usar uma chave gerenciada pelo cliente para proteger seus livros contábeis do Amazon QLDB, poderá usar [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)o [ CloudWatch Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) Logs para rastrear as solicitações que o QLDB envia em seu nome. AWS KMS Para obter mais informações, consulte [Monitorar AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/monitoring-overview.html) no *Guia do Desenvolvedor do AWS Key Management Service *.

Os exemplos a seguir são entradas de CloudTrail registro para as operações `CreateGrant` `GenerateDataKey``Decrypt`,`Encrypt`,, `DescribeKey` e.

**CreateGrant**  
Quando você especifica uma chave gerenciada pelo cliente para proteger seu livro contábil, o QLDB `CreateGrant` envia solicitações em seu nome AWS KMS para permitir o acesso à sua chave KMS. Além disso, o QLDB usa a operação `RetireGrant` para remover concessões quando você exclui um ledger.  
As concessões que o QLDB cria são específicas para um ledger. A entidade principal na solicitação `CreateGrant` é o usuário que criou a tabela.  
O evento que registra a operação `CreateGrant` é semelhante ao evento de exemplo a seguir. Os parâmetros incluem o nome do recurso da Amazon (ARN) da chave gerenciada pelo cliente, a entidade principal favorecida e a entidade principal que está sendo retirada (o serviço QLDB) e as operações que a concessão abrange.  

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AKIAIOSFODNN7EXAMPLE:sample-user",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/sample-user",
        "accountId": "111122223333",
        "accessKeyId": "AKIAI44QH8DHBEXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AKIAIOSFODNN7EXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/Admin",
                "accountId": "111122223333",
                "userName": "Admin"
            },
            "webIdFederationData": {},
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2021-06-04T21:37:11Z"
            }
        },
        "invokedBy": "qldb.amazonaws.com"
    },
    "eventTime": "2021-06-04T21:40:00Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "qldb.amazonaws.com",
    "userAgent": "qldb.amazonaws.com",
    "requestParameters": {
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
        "granteePrincipal": "qldb.us-west-2.amazonaws.com",
        "operations": [
            "DescribeKey",
            "GenerateDataKey",
            "Decrypt",
            "Encrypt"
        ],
        "retiringPrincipal": "qldb.us-west-2.amazonaws.com"
    },
    "responseElements": {
        "grantId": "b3c83f999187ccc0979ef2ff86a1572237b6bba309c0ebce098c34761f86038a"
    },
    "requestID": "e99188d7-3b82-424e-b63e-e086d848ed60",
    "eventID": "88dc7ba5-4952-4d36-9ca8-9ab5d9598bab",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "111122223333"
}
```

**GenerateDataKey**  
Quando você especifica uma chave gerenciada pelo cliente para proteger seu ledger, o QLDB cria uma chave de dados exclusiva. Ele envia uma `GenerateDataKey` solicitação AWS KMS que especifica a chave gerenciada pelo cliente para o livro contábil.  
O evento que registra a operação `GenerateDataKey` é semelhante ao evento de exemplo a seguir. O usuário é a conta de serviço do QLDB. Os parâmetros incluem o ARN da chave gerenciada pelo cliente, um especificador de chave de dados que exige um comprimento de 32 bytes e o contexto de criptografia que identifica o nó interno da hierarquia de chaves.  

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "qldb.amazonaws.com"
    },
    "eventTime": "2021-06-04T21:40:01Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "qldb.amazonaws.com",
    "userAgent": "qldb.amazonaws.com",
    "requestParameters": {
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
        "numberOfBytes": 32,
        "encryptionContext": {
            "key-hierarchy-node-id": "LY4HWMnkeZWKYi6MlitVJC",
            "key-hierarchy-node-version": "1"
        }
    },
    "responseElements": null,
    "requestID": "786977c9-e77c-467a-bff5-9ad5124a4462",
    "eventID": "b3f082cb-3e75-454e-bf0a-64be13075436",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "111122223333",
    "sharedEventID": "26688de5-0b1c-43d3-bc4f-a18029b08446"
}
```

**Decrypt**  
Quando você acessa um ledger, o QLDB chama a operação `Decrypt` para descriptografar a chave de dados armazenada do ledger para que ele possa acessar os dados criptografados no ledger.  
O evento que registra a operação `Decrypt` é semelhante ao evento de exemplo a seguir. O usuário é a conta de serviço do QLDB. Os parâmetros incluem o ARN da chave gerenciada pelo cliente e o contexto de criptografia que identifica o nó interno da hierarquia de chaves.  

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "qldb.amazonaws.com"
    },
    "eventTime": "2021-06-04T21:40:56Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "qldb.amazonaws.com",
    "userAgent": "qldb.amazonaws.com",
    "requestParameters": {
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT",
        "encryptionContext": {
            "key-hierarchy-node-id": "LY4HWMnkeZWKYi6MlitVJC",
            "key-hierarchy-node-version": "1"
        }
    },
    "responseElements": null,
    "requestID": "28f2dd18-3cc1-4fe2-82f7-5154f4933ebf",
    "eventID": "603ad5d4-4744-4505-9c21-bd4a6cbd4b20",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "111122223333",
    "sharedEventID": "7b6ce3e3-a764-42ec-8f90-5418c97ec411"
}
```

**Encrypt**  
O QLDB chama a operação `Encrypt` para criptografar texto simples em texto cifrado usando sua chave gerenciada pelo cliente.  
O evento que registra a operação `Encrypt` é semelhante ao evento de exemplo a seguir. O usuário é a conta de serviço do QLDB. Os parâmetros incluem o ARN da chave gerenciada pelo cliente e o contexto de criptografia que especifica o ID exclusivo interno do ledger.  

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "qldb.amazonaws.com"
    },
    "eventTime": "2021-06-04T21:40:01Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Encrypt",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "qldb.amazonaws.com",
    "userAgent": "qldb.amazonaws.com",
    "requestParameters": {
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
        "encryptionContext": {
            "LedgerId": "F6qRNziJLUXA4Vy2ZUv8YY"
        },
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT"
    },
    "responseElements": null,
    "requestID": "b2daca7d-4606-4302-a2d7-5b3c8d30c64d",
    "eventID": "b8aace05-2e37-4fed-ae6f-a45a1c6098df",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "111122223333",
    "sharedEventID": "ce420ab0-288e-4b4f-aee8-541e18a28aa5"
}
```

**DescribeKey**  
O QLDB chama a operação `DescribeKey` para determinar se a chave do KMS que você especificou existe na Conta da AWS e na região.  
O evento que registra a operação `DescribeKey` é semelhante ao evento de exemplo a seguir. O principal é o usuário Conta da AWS que especificou a chave KMS. Os parâmetros incluem o ARN da chave gerenciada pelo cliente.  

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AKIAIOSFODNN7EXAMPLE:sample-user",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/sample-user",
        "accountId": "111122223333",
        "accessKeyId": "AKIAI44QH8DHBEXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AKIAIOSFODNN7EXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/Admin",
                "accountId": "111122223333",
                "userName": "Admin"
            },
            "webIdFederationData": {},
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2021-06-04T21:37:11Z"
            }
        },
        "invokedBy": "qldb.amazonaws.com"
    },
    "eventTime": "2021-06-04T21:40:00Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "DescribeKey",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "qldb.amazonaws.com",
    "userAgent": "qldb.amazonaws.com",
    "requestParameters": {
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    },
    "responseElements": null,
    "requestID": "a30586af-c783-4d25-8fda-33152c816c36",
    "eventID": "7a9caf07-2b27-44ab-afe4-b259533ebb88",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "111122223333"
}
```