

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

# Trabalhando com Amazon CloudWatch Logs e AWS CloudHSM Audit Logs
<a name="get-hsm-audit-logs-using-cloudwatch"></a>

Quando um HSM em sua conta recebe um comando das [ferramentas da linha de AWS CloudHSM comando](command-line-tools.md) ou das [bibliotecas de software](use-hsm.md), ele registra a execução do comando no formato de registro de auditoria. Os logs de auditoria do HSM incluem todos os [comandos de gerenciamento](cloudhsm-audit-log-reference.md) iniciados pelo cliente, inclusive os que criam e excluem o HSM, fazem login e logout do HSM e gerenciam usuários e chaves. Esses logs fornecem um registro confiável de ações que foram alterados no estado do HSM.

AWS CloudHSM coleta seus registros de auditoria do HSM e os envia para a [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) em seu nome. Você pode usar os recursos do CloudWatch Logs para gerenciar seus registros de AWS CloudHSM auditoria, incluindo pesquisar e filtrar os logs e exportar dados de log para o Amazon S3. Você pode trabalhar com seus registros de auditoria do HSM no [ CloudWatch console da Amazon](https://console.aws.amazon.com/cloudwatch/) ou usar os comandos CloudWatch Logs no [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/logs/index.html)e [CloudWatch Logs SDKs](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/).

**Topics**
+ [Como funciona o registro em log de auditoria do HSM](get-audit-logs-from-cloudwatch.md)
+ [Visualização AWS CloudHSM de registros de auditoria em CloudWatch Registros](understand-audit-logs.md)
+ [Interpretação de registros de AWS CloudHSM auditoria](interpreting-audit-logs.md)
+ [AWS CloudHSM referência do registro de auditoria](cloudhsm-audit-log-reference.md)

# Como funciona o registro em log de auditoria do HSM
<a name="get-audit-logs-from-cloudwatch"></a>

O registro de auditoria é ativado automaticamente em todos os AWS CloudHSM clusters. Ele não pode ser desativado ou desativado, e nenhuma configuração pode AWS CloudHSM impedir a exportação dos registros para o CloudWatch Logs. Cada evento de log tem um time stamp e um número sequencial que indicam a ordem dos eventos e ajudam a detectar qualquer violação de logs. 

Cada instância do HSM gera seu próprio log. É provável que os registros de auditoria de vários HSMs, mesmo aqueles no mesmo cluster, sejam diferentes. Por exemplo, apenas o primeiro HSM em cada cluster registra a inicialização do HSM. Os eventos de inicialização não aparecem nos registros HSMs que são clonados dos backups. Da mesma forma, quando você cria uma chave, o HSM que gera a chave registra um evento de geração de chave. Os outros HSMs no cluster registram um evento quando recebem a chave por meio de sincronização.

AWS CloudHSM coleta os registros e os publica em CloudWatch Logs da sua conta. Para se comunicar com o serviço de CloudWatch registros em seu nome, AWS CloudHSM use uma função [vinculada ao serviço](service-linked-roles.md). A política do IAM associada à função permite AWS CloudHSM realizar somente as tarefas necessárias para enviar os registros de auditoria para a CloudWatch Logs.

**Importante**  
Se tiver criado um cluster antes de 20 de janeiro de 2018 e ainda não tiver criado uma função vinculada ao serviço, você deverá criar uma manualmente. Isso é necessário CloudWatch para receber registros de auditoria do seu AWS CloudHSM cluster. Para obter mais informações sobre a criação da função vinculada ao serviço, consulte [Noções básicas das funções vinculadas ao serviço](service-linked-roles.md), bem como [Criar uma função vinculada ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role) no *Guia do usuário do IAM*.

# Visualização AWS CloudHSM de registros de auditoria em CloudWatch Registros
<a name="understand-audit-logs"></a>

O Amazon CloudWatch Logs organiza os registros de auditoria em *grupos de registros* e, dentro de um grupo de registros, em *fluxos de registros*. Cada entrada de registro é um *evento*. AWS CloudHSM cria um *grupo de registros* para cada cluster e um *fluxo de registros* para cada HSM no cluster. Você não precisa criar nenhum componente do CloudWatch Logs nem alterar nenhuma configuração.
+ O nome do *grupo de logs* é `/aws/cloudhsm/<cluster ID>`; por exemplo, `/aws/cloudhsm/cluster-likphkxygsn`. Ao usar o nome do grupo de registros em um PowerShell comando AWS CLI or, certifique-se de colocá-lo entre aspas duplas.
+ O nome do *fluxo de logs* é o ID do HSM; por exemplo, `hsm-nwbbiqbj4jk`. 

  Em geral, há um fluxo de logs para cada HSM. No entanto, qualquer ação que altera o ID do HSM, como quando um HSM falha e é substituída, cria um novo fluxo de logs.

Para obter mais informações sobre CloudWatch os conceitos de registros, consulte [Conceitos](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogsConcepts.html) no *Guia do usuário do Amazon CloudWatch Logs*.

[Você pode visualizar os registros de auditoria de um HSM na página CloudWatch Logs Console de gerenciamento da AWS, nos [comandos CloudWatch Logs](https://docs.aws.amazon.com/cli/latest/reference/logs/index.html#cli-aws-logs) no AWS CLI, nos [ PowerShellcmdlets CloudWatch Logs](https://docs.aws.amazon.com/powershell/latest/reference/items/Amazon_CloudWatch_Logs_cmdlets.html) ou nos Logs. CloudWatch SDKs](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/) Para obter instruções, consulte [Exibir dados de registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData) no *Guia do usuário do Amazon CloudWatch Logs*. 

Por exemplo, a imagem a seguir mostra o grupo de logs do cluster do `cluster-likphkxygsn` no Console de gerenciamento da AWS.

![\[O grupo de registros de um AWS CloudHSM cluster em CloudWatch Logs.\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/cloudwatch-logs-cluster.png)


Ao escolher o nome do grupo de logs do cluster, você pode visualizar o fluxo de log de cada um HSMs no cluster. A imagem a seguir mostra os fluxos de log do HSMs no `cluster-likphkxygsn` cluster.

![\[O fluxo de log de um HSM em CloudWatch Logs.\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/cloudwatch-logs-hsm.png)


Ao escolher um nome do fluxo de logs do HSM, você pode visualizar os eventos no log de auditoria. Por exemplo, este evento, que tem um número de sequência de 0x0 e um `Opcode` de `CN_INIT_TOKEN`, geralmente é o primeiro evento do primeiro HSM em cada cluster. Ele registra a inicialização do HSM no cluster. 

![\[Um evento em um registro AWS CloudHSM de auditoria no CloudWatch Logs.\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/cloudwatch-logs-event.png)


Você pode usar todos os vários recursos do CloudWatch Logs para gerenciar seus registros de auditoria. Por exemplo, você pode usar o recurso **Filtrar eventos** para encontrar um texto em especial em um evento, como o `CN_CREATE_USER` `Opcode`.

Para encontrar todos os eventos que não incluam o texto especificado, adicione um sinal de subtração (-) antes do texto. Por exemplo, para encontrar eventos que não incluam `CN_CREATE_USER`, digite **-CN\$1CREATE\$1USER**.

![\[Filtrar um evento em um registro AWS CloudHSM de auditoria no CloudWatch Logs por seu Opcode valor.\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/cloudwatch-logs-event-filter.png)


# Interpretação de registros de AWS CloudHSM auditoria
<a name="interpreting-audit-logs"></a>

Os eventos nos logs de auditoria do HSM têm campos padrão. Alguns tipos de eventos têm campos adicionais que capturam informações úteis sobre o evento. Por exemplo, eventos de login de usuário e gerenciamento de usuários incluem o nome de usuário e o tipo do usuário. Os comandos de gerenciamento de chaves incluem o identificador de chaves.

Vários dos campos fornecem informações especialmente importantes. O `Opcode` identifica o comando de gerenciamento que está sendo registrado. O `Sequence No` identifica um evento no fluxo de logs e indica a ordem em que ele foi registrado. 

Por exemplo, o evento de exemplo a seguir é o segundo evento (`Sequence No: 0x1`) no fluxo de logs para um HSM. Ele mostra o HSM gerando uma chave de criptografia da senha, que faz parte da rotina de inicialização.

```
Time: 12/19/17 21:01:17.140812, usecs:1513717277140812
Sequence No : 0x1
Reboot counter : 0xe8
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_GEN_PSWD_ENC_KEY (0x1d)
Session Handle : 0x1004001
Response : 0:HSM Return: SUCCESS
Log type : MINIMAL_LOG_ENTRY (0)
```

Os campos a seguir são comuns a todos os AWS CloudHSM eventos no registro de auditoria. 

**Hora**  
A hora em que o evento ocorreu no fuso horário UTC. A hora é exibida como uma hora legível e hora Unix em microssegundos. 

**Contador de reinicializações**  
Um contador ordinal persistente de 32 bits incrementado quando o hardware do HSM é reinicializado.   
Todos os eventos em um fluxo de logs têm o mesmo valor do contador de reinicializações. No entanto, o contador de reinicializações pode não ser exclusivo de um fluxo de logs, porque ele pode ser diferente em diferentes instâncias do HSM no mesmo cluster.

**Número da sequência**  
Um contador ordinal de 64 bits incrementado para cada evento de log. O primeiro evento em cada fluxo de logs tem um número de sequência de 0x0. Não deve haver espaço nos valores de `Sequence No`. O número de sequência só é exclusivo em um fluxo de logs.

**Tipo de comando**  
Um valor hexadecimal que representa a categoria do comando. Comandos nos fluxos de logs do AWS CloudHSM têm um tipo de comando de `CN_MGMT_CMD` (0x0) ou `CN_CERT_AUTH_CMD` (0x9).

**Opcode**  
Identifica o comando de gerenciamento executado. Para obter uma lista de `Opcode` valores nos registros AWS CloudHSM de auditoria, consulte[AWS CloudHSM referência do registro de auditoria](cloudhsm-audit-log-reference.md).

**Identificador da sessão**  
Identifica a sessão em que o comando foi executado e o evento foi registrado.

**Resposta**  
Registra a resposta ao comando de gerenciamento. Você pode pesquisar os valores `SUCCESS` e `ERROR` no campo `Response`.

**Tipo de log**  
Indica o tipo de AWS CloudHSM registro do registro que gravou o comando.  
+ `MINIMAL_LOG_ENTRY (0)`
+ `MGMT_KEY_DETAILS_LOG (1)`
+ `MGMT_USER_DETAILS_LOG (2)`
+ `GENERIC_LOG`

## Exemplos de eventos de log de auditoria
<a name="example-audit-log"></a>

Os eventos em um fluxo de logs registram o histórico do HSM da criação à exclusão. Você pode usar o registro para revisar o ciclo de vida do seu HSMs e obter informações sobre sua operação. Quando você interpretar os eventos, observe o `Opcode`, que indica o comando de gerenciamento ou ação, e o `Sequence No`, que indica a ordem dos eventos. 

**Topics**
+ [Exemplo: inicializar o primeiro HSM em um cluster](#example-audit-log-first-hsm)
+ [Eventos de login e logout](#example-audit-log-login-logout)
+ [Exemplo: criar e excluir usuários](#example-audit-log-first-hsm)
+ [Exemplo: criar e excluir um par de chaves](#example-audit-log-manage-keys)
+ [Exemplo: gerar e sincronizar uma chave](#audit-log-example-gen-key)
+ [Exemplo: exportar uma chave](#audit-log-example-export-key)
+ [Exemplo: importar uma chave](#audit-log-example-import-key)
+ [Exemplo: compartilhar e descompartilhar uma chave](#audit-log-example-share-unshare-key)

### Exemplo: inicializar o primeiro HSM em um cluster
<a name="example-audit-log-first-hsm"></a>

O fluxo de registros de auditoria do primeiro HSM em cada cluster difere significativamente dos fluxos de registros de outros HSMs no cluster. O log de auditoria do primeiro HSM em cada cluster registra a criação e a inicialização. Os registros adicionais HSMs no cluster, que são gerados a partir de backups, começam com um evento de login.

**Importante**  
As seguintes entradas de inicialização não aparecerão nos CloudWatch registros dos clusters inicializados antes do lançamento do recurso de registro de auditoria do CloudHSM (30 de agosto de 2018). Para obter mais informações, consulte [Histórico do documento](document-history.md).

Os eventos de exemplo a seguir aparecem no fluxo de logs do primeiro HSM em um cluster. O primeiro evento no log, aquele com `Sequence No 0x0`, representa o comando para inicializar o HSM (`CN_INIT_TOKEN`). A resposta indica que o comando foi bem-sucedido (`Response : 0: HSM Return: SUCCESS`).

```
Time: 12/19/17 21:01:16.962174, usecs:1513717276962174
Sequence No : 0x0
Reboot counter : 0xe8
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_INIT_TOKEN (0x1)
Session Handle : 0x1004001
Response : 0:HSM Return: SUCCESS
Log type : MINIMAL_LOG_ENTRY (0)
```

O segundo evento neste fluxo de logs de exemplo (`Sequence No 0x1`) registra o comando para criar a chave de criptografia de senha que o HSM usa (`CN_GEN_PSWD_ENC_KEY`). 

Esta é uma sequência de inicialização típica para o primeiro HSM em cada cluster. Como os subseqüentes HSMs no mesmo cluster estão clones do primeiro, eles usam a mesma chave de criptografia de senha.

```
Time: 12/19/17 21:01:17.140812, usecs:1513717277140812
Sequence No : 0x1
Reboot counter : 0xe8
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_GEN_PSWD_ENC_KEY (0x1d)
Session Handle : 0x1004001
Response : 0:HSM Return: SUCCESS
Log type : MINIMAL_LOG_ENTRY (0)
```

O terceiro evento neste fluxo de logs de exemplo (`Sequence No 0x2`) é a criação do [usuário do dispositivo (AU)](understanding-users-cmu.md#appliance-user-cmu), que é o serviço AWS CloudHSM . Os eventos que envolvem os usuários do HSM incluem campos extras para o nome do usuário e o tipo de usuário. 

```
Time: 12/19/17 21:01:17.174902, usecs:1513717277174902
Sequence No : 0x2
Reboot counter : 0xe8
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_CREATE_APPLIANCE_USER (0xfc)
Session Handle : 0x1004001
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : app_user
User Type : CN_APPLIANCE_USER (5)
```

O quarto evento neste fluxo de logs de exemplo (`Sequence No 0x3`) registra o evento `CN_INIT_DONE`, que conclui a inicialização do HSM. 

```
Time: 12/19/17 21:01:17.298914, usecs:1513717277298914
Sequence No : 0x3
Reboot counter : 0xe8
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_INIT_DONE (0x95)
Session Handle : 0x1004001
Response : 0:HSM Return: SUCCESS
Log type : MINIMAL_LOG_ENTRY (0)
```

Você pode seguir os demais eventos na sequência de inicialização. Esses eventos podem incluir vários eventos de login e de logout e a geração da chave de criptografia de chaves (KEK- key encryption key). O evento a seguir registra o comando que altera a senha do [responsável pela pré-criptografia (PRECO)](understanding-users-cmu.md#preco). Esse comando ativa o cluster.

```
Time: 12/13/17 23:04:33.846554, usecs:1513206273846554
Sequence No: 0x1d
Reboot counter: 0xe8
Command Type(hex): CN_MGMT_CMD (0x0)
Opcode: CN_CHANGE_PSWD (0x9)
Session Handle: 0x2010003
Response: 0:HSM Return: SUCCESS
Log type: MGMT_USER_DETAILS_LOG (2)
User Name: admin
User Type: CN_CRYPTO_PRE_OFFICER (6)
```

### Eventos de login e logout
<a name="example-audit-log-login-logout"></a>

Ao interpretar o log de auditoria, observe eventos que registram usuários que fazem login e logout do HSM. Esses eventos ajudam você a determinar qual usuário é responsável por comandos de gerenciamento que aparecem na sequência entre os comandos de login e logout.

Por exemplo, essa entrada de log registra um login por um responsável pela criptografia chamado `admin`. O número de sequência, `0x0`, indica que esse é o primeiro evento neste fluxo de logs. 

Quando um usuário faz login em um HSM, o outro HSMs no cluster também registra um evento de login para o usuário. Você pode encontrar os eventos de login correspondentes nos fluxos de log de outros HSMs no cluster logo após o evento de login inicial. 

```
Time: 01/16/18 01:48:49.824999, usecs:1516067329824999
Sequence No : 0x0
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0x7014006
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : admin
User Type : CN_CRYPTO_OFFICER (2)
```

O evento de exemplo a seguir registra o logout do responsável pela criptografia `admin`. O número de sequência, `0x2`, indica que esse é o terceiro evento no fluxo de logs. 

Se o usuário conectado fechar a sessão sem fazer logout, o fluxo de logs incluirá um `CN_APP_FINALIZE`, ou evento de fechamento da sessão (`CN_SESSION_CLOSE`), em vez de um evento `CN_LOGOUT`. Diferentemente do evento de login, esse evento de logout normalmente só será registrado pelo HSM que executar o comando.

```
Time: 01/16/18 01:49:55.993404, usecs:1516067395993404
Sequence No : 0x2
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGOUT (0xe)
Session Handle : 0x7014000
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : admin
User Type : CN_CRYPTO_OFFICER (2)
```

Se uma tentativa de login falhar porque o nome do usuário é inválido, o HSM registrará um evento `CN_LOGIN` com o nome de usuário e o tipo fornecidos no comando de login. A resposta exibe a mensagem de erro 157, que explica que o nome do usuário não existe.

```
Time: 01/24/18 17:41:39.037255, usecs:1516815699037255
Sequence No : 0x4
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0xc008002
Response : 157:HSM Error: user isn't initialized or user with this name doesn't exist
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : ExampleUser
User Type : CN_CRYPTO_USER (1)
```

Se uma tentativa de login falhar porque a senha é inválida, o HSM registrará um evento `CN_LOGIN` com o nome de usuário e o tipo fornecidos no comando de login. A resposta exibe a mensagem de erro com o código de erro `RET_USER_LOGIN_FAILURE`.

```
Time: 01/24/18 17:44:25.013218, usecs:1516815865013218
Sequence No : 0x5
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0xc008002
Response : 163:HSM Error: RET_USER_LOGIN_FAILURE
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : testuser
User Type : CN_CRYPTO_USER (1)
```

### Exemplo: criar e excluir usuários
<a name="example-audit-log-first-hsm"></a>

Este exemplo mostra os eventos de log registrados quando um responável pela criptografia (CO) cria e exclui os usuários. 

O primeiro evento registra um CO, `admin`, fazendo login no HSM. O número de sequência de `0x0` indica que esse é o primeiro evento no fluxo de logs. O nome e o tipo do usuário que se conectou são incluídos no evento.

```
Time: 01/16/18 01:48:49.824999, usecs:1516067329824999
Sequence No : 0x0
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0x7014006
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : admin
User Type : CN_CRYPTO_OFFICER (2)
```

O próximo evento na sequência de logs (sequência `0x1`) registra o CO criando um novo usuário de criptografia (CU). O nome e o tipo do novo usuário são incluídos no evento. 

```
Time: 01/16/18 01:49:39.437708, usecs:1516067379437708
Sequence No : 0x1
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_CREATE_USER (0x3)
Session Handle : 0x7014006
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : bob
User Type : CN_CRYPTO_USER (1)
```

Em seguida, o CO cria outro responsável pela criptografia, `alice`. O número de sequência indica que essa ação seguiu a anterior, sem ações de intervenção.

```
Time: 01/16/18 01:49:55.993404, usecs:1516067395993404
Sequence No : 0x2
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_CREATE_CO (0x4)
Session Handle : 0x7014007
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : alice
User Type : CN_CRYPTO_OFFICER (2)
```

Posteriormente, o CO chamado `admin` faz login e exclui o responsável pela criptografia chamado `alice`. O HSM registra um evento `CN_DELETE_USER`. O nome e o tipo do usuário excluído são incluídos no evento.

```
Time: 01/23/18 19:58:23.451420, usecs:1516737503451420
Sequence No : 0xb
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_DELETE_USER (0xa1)
Session Handle : 0x7014007
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : alice
User Type : CN_CRYPTO_OFFICER (2)
```

### Exemplo: criar e excluir um par de chaves
<a name="example-audit-log-manage-keys"></a>

Este exemplo mostra os eventos que são registrados em um log de auditoria do HSM ao criar e excluir um par de chaves. 

O evento a seguir registra o usuário de criptografia (CU) chamado `crypto_user` fazendo login no HSM. 

```
Time: 12/13/17 23:09:04.648952, usecs:1513206544648952
Sequence No: 0x28
Reboot counter: 0xe8
Command Type(hex): CN_MGMT_CMD (0x0)
Opcode: CN_LOGIN (0xd)
Session Handle: 0x2014005
Response: 0:HSM Return: SUCCESS
Log type: MGMT_USER_DETAILS_LOG (2)
User Name: crypto_user
User Type: CN_CRYPTO_USER (1)
```

Em seguida, o usuário gera um par de chaves (`CN_GENERATE_KEY_PAIR`). A chave privada possui o identificador de chave `131079`. A chave pública possui o identificador de chave `131078`. 

```
Time: 12/13/17 23:09:04.761594, usecs:1513206544761594
Sequence No: 0x29
Reboot counter: 0xe8
Command Type(hex): CN_MGMT_CMD (0x0)
Opcode: CN_GENERATE_KEY_PAIR (0x19)
Session Handle: 0x2014004
Response: 0:HSM Return: SUCCESS
Log type: MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle: 131079
Public Key Handle: 131078
```

O usuário exclui imediatamente o par de chaves. Um evento CN\$1DESTROY\$1OBJECT registra a exclusão da chave pública (131078). 

```
Time: 12/13/17 23:09:04.813977, usecs:1513206544813977
Sequence No: 0x2a
Reboot counter: 0xe8
Command Type(hex): CN_MGMT_CMD (0x0)
Opcode: CN_DESTROY_OBJECT (0x11)
Session Handle: 0x2014004
Response: 0:HSM Return: SUCCESS
Log type: MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle: 131078
Public Key Handle: 0
```

Em seguida, um segundo evento `CN_DESTROY_OBJECT` registra a exclusão da chave privada (`131079`).

```
Time: 12/13/17 23:09:04.815530, usecs:1513206544815530
Sequence No: 0x2b
Reboot counter: 0xe8
Command Type(hex): CN_MGMT_CMD (0x0)
Opcode: CN_DESTROY_OBJECT (0x11)
Session Handle: 0x2014004
Response: 0:HSM Return: SUCCESS
Log type: MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle: 131079
Public Key Handle: 0
```

Por fim, o usuário faz logout. 

```
Time: 12/13/17 23:09:04.817222, usecs:1513206544817222
Sequence No: 0x2c
Reboot counter: 0xe8
Command Type(hex): CN_MGMT_CMD (0x0)
Opcode: CN_LOGOUT (0xe)
Session Handle: 0x2014004
Response: 0:HSM Return: SUCCESS
Log type: MGMT_USER_DETAILS_LOG (2)
User Name: crypto_user
User Type: CN_CRYPTO_USER (1)
```

### Exemplo: gerar e sincronizar uma chave
<a name="audit-log-example-gen-key"></a>

Este exemplo mostra o efeito da criação de uma chave em um cluster com várias HSMs. A chave é gerada em um HSM, extraída do HSM como um objeto mascarado e inserida no outro HSMs como um objeto mascarado.

**nota**  
As ferramentas de cliente podem falhar ao sincronizar a chave. Ou o comando pode incluir o **min\$1srv** parâmetro, que sincroniza a chave somente com o número especificado de HSMs. Em ambos os casos, o AWS CloudHSM serviço sincroniza a chave com a outra HSMs no cluster. Como eles HSMs registram somente comandos de gerenciamento do lado do cliente em seus registros, a sincronização do lado do servidor não é registrada no registro do HSM.

Primeiro considere o fluxo de logs do HSM que recebe e executa os comandos. O fluxo de logs é nomeado de acordo com o ID do HSM, `hsm-abcde123456`, mas o ID do HSM não aparece nos eventos de log. 

Primeiro, o usuário de criptografia (CU) `testuser` faz login no HSM do `hsm-abcde123456`.

```
Time: 01/24/18 00:39:23.172777, usecs:1516754363172777
Sequence No : 0x0
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0xc008002
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : testuser
User Type : CN_CRYPTO_USER (1)
```

A UC executa um [exSymKey](key_mgmt_util-genSymKey.md)comando para gerar uma chave simétrica. O HSM `hsm-abcde123456` gera uma chave simétrica com um identificador de chaves de `262152`. O HSM registra um evento `CN_GENERATE_KEY` em seu log. 

```
Time: 01/24/18 00:39:30.328334, usecs:1516754370328334
Sequence No : 0x1
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_GENERATE_KEY (0x17)
Session Handle : 0xc008004
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 262152
Public Key Handle : 0
```

O próximo evento no fluxo de logs de `hsm-abcde123456` registra a primeira etapa no processo de sincronização de chaves. A nova chave (identificador de chaves `262152`) é extraída do HSM como um objeto mascarado. 

```
Time: 01/24/18 00:39:30.330956, usecs:1516754370330956
Sequence No : 0x2
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_EXTRACT_MASKED_OBJECT_USER (0xf0)
Session Handle : 0xc008004
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 262152
Public Key Handle : 0
```

Agora, considere o fluxo de logs do HSM `hsm-zyxwv987654`, outro HSM no mesmo cluster. Esse fluxo de logs também inclui um evento de login do usuário `testuser`. O valor de tempo mostra que ocorre logo depois que o usuário faz login no HSM `hsm-abcde123456`.

```
Time: 01/24/18 00:39:23.199740, usecs:1516754363199740
Sequence No : 0xd
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0x7004004
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : testuser
User Type : CN_CRYPTO_USER (1)
```

Esse fluxo de logs desse HSM não tem um evento `CN_GENERATE_KEY`. No entanto, ele não possui um evento que registra a sincronização da chave desse HSM. O evento `CN_INSERT_MASKED_OBJECT_USER` registra o recebimento da chave `262152` como um objeto mascarado. Agora, a chave `262152` existe HSMs em ambos no cluster.

```
Time: 01/24/18 00:39:30.408950, usecs:1516754370408950
Sequence No : 0xe
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_INSERT_MASKED_OBJECT_USER (0xf1)
Session Handle : 0x7004003
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 262152
Public Key Handle : 0
```

Quando o usuário faz login, esse evento `CN_LOGOUT` é exibido somente no fluxo de logs do HSM que recebeu os comandos. 

### Exemplo: exportar uma chave
<a name="audit-log-example-export-key"></a>

Este exemplo mostra os eventos do log de auditoria que são registrados quando um usuário criptográfico (UC) exporta chaves de um cluster com várias HSMs. 

O evento a seguir registra o CU (`testuser`) fazendo login no [key\$1mgmt\$1util](key_mgmt_util.md). 

```
Time: 01/24/18 19:42:22.695884, usecs:1516822942695884
Sequence No : 0x26
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0x7004004
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : testuser
User Type : CN_CRYPTO_USER (1)
```

A UC executa um [exSymKey](key_mgmt_util-exSymKey.md)comando para exportar a chave`7`, uma chave AES de 256 bits. O comando usa key`6`, uma chave AES de 256 bits no HSMs, como chave de empacotamento. 

O HSM que recebe o comando registra um evento `CN_WRAP_KEY` para a chave `7`, a chave que está sendo exportada. 

```
Time: 01/24/18 19:51:12.860123, usecs:1516823472860123
Sequence No : 0x27
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_WRAP_KEY (0x1a)
Session Handle : 0x7004003
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 7
Public Key Handle : 0
```

Em seguida, o HSM registra um evento `CN_NIST_AES_WRAP` para a chave de encapsulamento, a chave `6`. A chave é encapsulada e, em seguida, desencapsulada imediatamente, mas o HSM registra apenas um evento.

```
Time: 01/24/18 19:51:12.905257, usecs:1516823472905257
Sequence No : 0x28
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_NIST_AES_WRAP (0x1e)
Session Handle : 0x7004003
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 6
Public Key Handle : 0
```

O comando **exSymKey** grava a chave exportada em um arquivo, mas não altera a chave no HSM. Consequentemente, não há eventos correspondentes nos registros de outros HSMs no cluster. 

### Exemplo: importar uma chave
<a name="audit-log-example-import-key"></a>

Este exemplo mostra os eventos do log de auditoria que são registrados quando você importa chaves para o HSMs em um cluster. Neste exemplo, o usuário criptográfico (CU) usa o [imSymKey](key_mgmt_util-imSymKey.md)comando para importar uma chave AES para o. HSMs O comando usa a chave `6` como a chave de encapsulamento. 

O HSM que recebe os comandos primeiro registra um evento `CN_NIST_AES_WRAP` para a chave `6`, a chave de encapsulamento. 

```
Time: 01/24/18 19:58:23.170518, usecs:1516823903170518
Sequence No : 0x29
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_NIST_AES_WRAP (0x1e)
Session Handle : 0x7004003
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 6
Public Key Handle : 0
```

Em seguida, o HSM registra um evento `CN_UNWRAP_KEY` que representa a operação de importação. A chave importada é atribuída a um identificador de chaves de `11`.

```
Time: 01/24/18 19:58:23.200711, usecs:1516823903200711
Sequence No : 0x2a
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_UNWRAP_KEY (0x1b)
Session Handle : 0x7004003
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 11
Public Key Handle : 0
```

Quando uma nova chave é gerada ou importada, as ferramentas do cliente tentam automaticamente sincronizar a nova chave com outra HSMs no cluster. Neste caso, o HSM registra um evento `CN_EXTRACT_MASKED_OBJECT_USER` quando a chave `11` é extraída do HSM como um objeto mascarado.

```
Time: 01/24/18 19:58:23.203350, usecs:1516823903203350
Sequence No : 0x2b
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_EXTRACT_MASKED_OBJECT_USER (0xf0)
Session Handle : 0x7004003
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 11
Public Key Handle : 0
```

Os fluxos de log de outros HSMs no cluster refletem a chegada da chave recém-importada. 

Por exemplo, este evento foi registrado no fluxo de logs de um HSM diferente no mesmo cluster. Esse evento `CN_INSERT_MASKED_OBJECT_USER` registra a chegada de um objeto mascarado que representa a chave `11`.

```
Time: 01/24/18 19:58:23.286793, usecs:1516823903286793
Sequence No : 0xb
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_INSERT_MASKED_OBJECT_USER (0xf1)
Session Handle : 0xc008004
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 11
Public Key Handle : 0
```

### Exemplo: compartilhar e descompartilhar uma chave
<a name="audit-log-example-share-unshare-key"></a>

Este exemplo mostra o evento de log de auditoria que é registrado quando um usuário de criptografia (CU) compartilha ou descompartilha a chave privada do ECC com outros usuários de criptografia. O CU usa o comando [shareKey](cloudhsm_mgmt_util-shareKey.md) e fornece o identificador da chave, o ID de usuário e o valor `1` para compartilhar ou o valor `0` para descompartilhar a chave. 

No exemplo a seguir, o HSM que recebe o comando, registra um evento `CM_SHARE_OBJECT` que representa a operação de compartilhamento.

```
Time: 02/08/19 19:35:39.480168, usecs:1549654539480168
Sequence No	: 0x3f
Reboot counter	: 0x38
Command Type(hex)	: CN_MGMT_CMD (0x0)
Opcode	: CN_SHARE_OBJECT (0x12)
Session Handle	: 0x3014007
Response	: 0:HSM Return: SUCCESS
Log type	: UNKNOWN_LOG_TYPE (5)
```

# AWS CloudHSM referência do registro de auditoria
<a name="cloudhsm-audit-log-reference"></a>

AWS CloudHSM registra os comandos de gerenciamento do HSM em eventos de registro de auditoria. Cada evento tem um valor do código de operação (`Opcode`) que identifica a ação ocorrida e sua resposta. Você pode usar os valores `Opcode` para pesquisar, classificar e filtrar os logs.

A tabela a seguir define os `Opcode` valores em um registro AWS CloudHSM de auditoria.


| Código de operação (Opcode) | Description | 
| --- |--- |
| **Login do usuário**: esses eventos incluem o nome do usuário e o tipo de usuário | 
| --- |
| CN\$1LOGIN (0xd) | [Login do usuário](cloudhsm_mgmt_util-loginLogout.md) | 
| CN\$1LOGOUT (0xe) | [Logout do usuário](cloudhsm_mgmt_util-loginLogout.md) | 
| CN\$1APP\$1FINALIZE | A conexão com o HSM foi encerrada. Todas as chaves de sessão ou tokens de quórum dessa conexão foram excluídos. | 
| CN\$1CLOSE\$1SESSION | A sessão com o HSM foi encerrada. Todas as chaves de sessão ou tokens de quórum dessa sessão foram excluídos. | 
| **Gerenciamento de usuários**: esses eventos incluem o nome do usuário e o tipo de usuário | 
| --- |
| CN\$1CREATE\$1USER (0x3) | [Criar um usuário de criptografia (CU)](cloudhsm_mgmt_util-createUser.md) | 
| CN\$1CREATE\$1CO | [Criar um responsável pela criptografia (CO)](cloudhsm_mgmt_util-createUser.md) | 
| CN\$1DELETE\$1USER | [Exclusão de um usuário](cloudhsm_mgmt_util-deleteUser.md) | 
| CN\$1CHANGE\$1PSWD | [Alterar a senha de um usuário](cloudhsm_mgmt_util-changePswd.md) | 
| CN\$1SET\$1M\$1VALUE | Definir [autenticação de quorum](quorum-auth-chsm-cli.md) (M de N) para uma ação do usuário | 
| CN\$1APPROVE\$1TOKEN | Aprovar um token de [autenticação de quórum](quorum-auth-chsm-cli.md) para uma ação do usuário | 
| CN\$1DELETE\$1TOKEN | Excluir um ou mais tokens de [quórum](quorum-auth-chsm-cli.md) | 
| CN\$1GET\$1TOKEN | Solicitar um token de assinatura para iniciar uma operação de [quórum](quorum-auth-chsm-cli.md) | 
| **Gerenciamento de chaves**: esses eventos incluem o identificador de chaves | 
| --- |
| CN\$1GENERATE\$1KEY | [Gerar uma chave simétrica](key_mgmt_util-genSymKey.md) | 
| CN\$1GENERATE\$1KEY\$1PAIR (0x19) | Gere um par de chaves assimétrico | 
| CN\$1CREATE\$1OBJECT | Importar uma chave pública (sem encapsulamento) | 
| CN\$1MODIFY\$1OBJECT | Definir um atributo-chave | 
| CN\$1DESTROY\$1OBJECT (0x11) | Exclusão de uma chave de [sessão](https://docs.aws.amazon.com/cloudhsm/latest/userguide/manage-key-sync.html#concepts-key-sync) | 
| CN\$1TOMBSTONE\$1OBJECT | Exclusão de uma [chave de token](https://docs.aws.amazon.com/cloudhsm/latest/userguide/manage-key-sync.html#concepts-key-sync) | 
| CN\$1SHARE\$1OBJECT | [Compartilhar ou descompartilhar uma chave](cloudhsm_mgmt_util-shareKey.md) | 
| CN\$1WRAP\$1KEY | Exportar uma cópia criptografada de uma chave ([wrapKey](key_mgmt_util-wrapKey.md)) | 
| CN\$1UNWRAP\$1KEY | Importar uma cópia criptografada de uma chave ([unwrapKeyy](key_mgmt_util-unwrapKey.md)) | 
| CN\$1DERIVE\$1KEY | Derivar uma chave simétrica de uma chave existente | 
| CN\$1NIST\$1AES\$1WRAP |  Criptografar ou descriptografar uma chave com uma chave AES  | 
| CN\$1INSERT\$1MASKED\$1OBJECT\$1USER | Insira uma chave criptografada com atributos de outro HSM no cluster. | 
| CN\$1EXTRACT\$1MASKED\$1OBJECT\$1USER | Encapsula/criptografa uma chave com atributos do HSM para ser enviada para outro HSM no cluster. | 
| **Session Management** | 
| --- |
| CN\$1ENCRYPT\$1SESSION\$1V2 (0x107) | Estabelece uma sessão end-to-end criptografada autenticada. | 
| END\$1MARKER\$1OPCODE (0xffff) | Insere um marcador final no buffer de registros de auditoria indicando que não são permitidos mais comandos registráveis no HSM | 
| **Back up HSMs** | 
| --- |
| CN\$1BACKUP\$1BEGIN | Inicie o processo de backup | 
| CN\$1BACKUP\$1END | Concluiu o processo de backup | 
| CN\$1RESTORE\$1BEGIN | Comece a restaurar a partir de um backup | 
| CN\$1RESTORE\$1END | Concluiu o processo de restauração a partir de um backup | 
| **Certificate-Based Authentication** | 
| --- |
| CN\$1CERT\$1AUTH\$1STORE\$1CERT | Armazena o certificado de cluster | 
| **HSM Instance Commands** | 
| --- |
| CN\$1INIT\$1TOKEN (0x1) | Inicie o processo de inicialização do HSM | 
| CN\$1INIT\$1DONE | O processo de inicialização do HSM foi concluído | 
| CN\$1GEN\$1KEY\$1ENC\$1KEY | Gerar uma Key Encryption Key (KEK - Chave de criptografia de chaves) | 
| CN\$1GEN\$1PSWD\$1ENC\$1KEY (0x1d) | Gerar uma Password Encryption Key (PEK - Chave de criptografia de senhas) | 
| **HSM crypto commands** | 
| --- |
| CN\$1FIPS\$1RAND | Gere um número aleatório compatível com FIPS [1](#hsm-audit-log-note-1) | 

[1] Só é registrado para clusters hsm1.medium.