

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

# Usuários do HSM em AWS CloudHSM
<a name="manage-hsm-users"></a>

Antes de usar seu AWS CloudHSM cluster para processamento de criptografia, você deve criar usuários e [chaves](manage-keys.md) nos módulos de segurança de hardware (HSM) em seu cluster.

**nota**  
Os usuários do HSM são diferentes dos usuários do IAM. Os usuários do IAM que têm as credenciais corretas podem criar interagindo com recursos HSMs por meio da API da AWS. Depois que o HSM for criado, você deverá usar as credenciais de usuário do HSM para autenticar as operações no HSM.

 Em AWS CloudHSM, você deve usar as ferramentas de linha de comando da [CLI do [CloudHSM](cloudhsm_cli-getting-started.md) ou do CloudHSM Management Utility (CMU) para criar e gerenciar os usuários no seu HSM](cloudhsm_mgmt_util-getting-started.md). [A CLI do CloudHSM foi projetada para ser [usada com a série de versões mais recentes do SDK](use-hsm.md), enquanto a CMU foi projetada para ser usada com a série de versões anteriores do SDK.](choose-client-sdk.md)

Consulte os seguintes tópicos para obter mais informações sobre como gerenciar usuários do HSM no AWS CloudHSM. Você também pode aprender a usar a autenticação de quorum (também conhecida como controle de acesso M de N).

**Topics**
+ [Gerenciamento de usuários com a CLI do CloudHSM](manage-hsm-users-chsm-cli.md)
+ [Gerenciamento de usuários com o CMU](manage-hsm-users-cmu.md)

# Gerenciamento de usuários do HSM com a CLI do CloudHSM
<a name="manage-hsm-users-chsm-cli"></a>

 [Para gerenciar os usuários do módulo de segurança de hardware (HSM) AWS CloudHSM, você deve fazer login no HSM com o nome de usuário e a senha de um administrador.](understanding-users.md#admin) Somente administradores podem gerenciar usuários. O HSM contém um admin padrão chamado admin. Você define a senha para admin quando [ativou o cluster](activate-cluster.md). 

Este tópico fornece step-by-step instruções e detalhes sobre o gerenciamento de usuários do HSM com a CLI do CloudHSM. 

**Topics**
+ [Pré-requisitos](manage-hsm-users-chsm-cli-prereq.md)
+ [Tipos de usuário](understanding-users.md)
+ [Tabela de permissões](user-permissions-table-chsm-cli.md)
+ [Criar administrador](create-admin-cloudhsm-cli.md)
+ [Criar CUs](create-user-cloudhsm-cli.md)
+ [Listar todos os usuários](list-users-cloudhsm-cli.md)
+ [Alterar senhas](change-user-password-cloudhsm-cli.md)
+ [Excluir usuários](delete-user-cloudhsm-cli.md)
+ [Gerenciar a MFA de usuários](login-mfa-token-sign.md)
+ [Gerenciar autenticação de quórum (M de N)](quorum-auth-chsm-cli.md)

# Pré-requisitos para gerenciamento de usuários na CLI do CloudHSM
<a name="manage-hsm-users-chsm-cli-prereq"></a>

Antes de usar a CLI do CloudHSM para gerenciar AWS CloudHSM usuários de módulos de segurança de hardware (HSM) no, você deve preencher esses pré-requisitos. Os tópicos a seguir descrevem como começar a usar a CLI do CloudHSM.

**Topics**
+ [Obter o endereço IP do HSM](#manage-chsm-cli-users-ip)
+ [Fazer o download da CLI do CloudHSM](#get-cli-users-cloudhsm-cli)

## Obtenha o endereço IP de um HSM em AWS CloudHSM
<a name="manage-chsm-cli-users-ip"></a>

 Para usar a CLI do CloudHSM, você deve usar a ferramenta de configuração para atualizar a configuração local. Para obter instruções sobre como executar a ferramenta de configuração com a CLI do CloudHSM, consulte. [Introdução à Interface de Linha de AWS CloudHSM Comando (CLI)](cloudhsm_cli-getting-started.md) O parâmetro `-a` exige que você adicione o endereço IP de um HSM no seu cluster. Se você tiver vários HSMs, poderá usar qualquer endereço IP. Isso garante que a CLI do CloudHSM possa propagar todas as alterações que você fizer em todo o cluster. Lembre-se de que a CLI do CloudHSM usa seu arquivo local para rastrear as informações do cluster. Se o cluster mudou desde a última vez em que você usou o CloudHSM CLI de um host específico, você deve adicionar essas alterações ao arquivo de configuração local armazenado nesse host. Nunca remova um HSM enquanto estiver usando a CLI do CloudHSM. 

**Para obter um endereço IP para um HSM (console)**

1. Abra o AWS CloudHSM console em [https://console.aws.amazon.com/cloudhsm/casa](https://console.aws.amazon.com/cloudhsm/home).

1. Para alterar a região da Amazon Web Services, use o seletor de região no canto superior direito da página.

1. Para abrir a página de detalhes do cluster, na tabela do cluster, escolha o ID do cluster.

1. Para obter o endereço IP, vá até a HSMs guia. Para IPv4 clusters, escolha um endereço listado em ** IPv4 Endereço ENI**. **Para clusters de pilha dupla, use o endereço ENI IPv4 ou ENI. IPv6 ** 

**Para obter um endereço IP para um HSM (AWS CLI)**
+ Obtenha o endereço IP de um HSM usando o comando **[describe-clusters](https://docs.aws.amazon.com/cli/latest/reference/cloudhsmv2/describe-clusters.html)** do AWS CLI. Na saída do comando, o endereço IP do HSMs são os valores de `EniIp` e `EniIpV6` (se for um cluster de pilha dupla). 

  ```
  $ aws cloudhsmv2 describe-clusters
  {
      "Clusters": [
          { ... }
              "Hsms": [
                  {
  ...
                      "EniIp": "10.0.0.9",
  ...
                  },
                  {
  ...
                      "EniIp": "10.0.1.6",
                      "EniIpV6": "2600:113f:404:be09:310e:ed34:3412:f733",
  ...
  ```

## Fazer o download da CLI do CloudHSM
<a name="get-cli-users-cloudhsm-cli"></a>

A versão mais recente da CLI do CloudHSM está disponível para tarefas de gerenciamento de usuários do HSM para o Client SDK 5. Para baixar e instalar a CLI do CloudHSM, siga as instruções em [Instalar e configurar a CLI do CloudHSM](gs_cloudhsm_cli-install.md).

# Tipos de usuários do HSM para a CLI do CloudHSM
<a name="understanding-users"></a>

 A maioria das operações que você executa no módulo de segurança de hardware (HSM) exige as credenciais de um usuário do AWS CloudHSM *HSM*. O HSM autentica cada usuário do HSM e cada usuário do HSM tem um *tipo* que determina quais operações você pode realizar no HSM como esse usuário. 

**nota**  
Os usuários do HSM são diferentes dos usuários do IAM. Os usuários do IAM que têm as credenciais corretas podem criar interagindo com recursos HSMs por meio da API da AWS. Depois que o HSM for criado, você deverá usar as credenciais de usuário do HSM para autenticar as operações no HSM.

**Topics**
+ [Administrador desativado](#unactivated-admin)
+ [Administrador](#admin)
+ [Crypto user (CU) (usuário de criptografia)](#crypto-user-chsm-cli)
+ [Usuário de dispositivo (AU)](#appliance-user-chsm-cli)

## Administrador desativado
<a name="unactivated-admin"></a>

Na CLI do CloudHSM, o administrador não ativado é um usuário temporário que existe somente no primeiro HSM AWS CloudHSM em um cluster que nunca foi ativado. Use o comando [ na CLI do CloudHSM para ](activate-cluster.md)ativar um cluster.**cluster activate** Depois de executar esse comando, o administrador não ativado é solicitado a alterar a senha. Depois de alterar a senha, o administrador não ativado se torna administrador. 

## Administrador
<a name="admin"></a>

Na CLI do CloudHSM, o administrador pode realizar operações de gerenciamento de usuários. Por exemplo, eles podem criar e excluir usuários e alterar suas senhas. Para obter mais informações sobre administradores, consulte o [Tabela de permissões de usuário do HSM para a CLI do CloudHSM](user-permissions-table-chsm-cli.md). 

## Crypto user (CU) (usuário de criptografia)
<a name="crypto-user-chsm-cli"></a>

Um usuário de criptografia (CU) pode realizar as seguintes operações de criptografia e gerenciamento de chaves.
+ **Gerenciamento de chaves**: criar, excluir, compartilhar, importar e exportar chaves criptográficas.
+ **Operações criptográficas**: use chaves criptográficas para criptografia, descriptografia, assinatura, verificação e muito mais.

Para obter mais informações, consulte o [Tabela de permissões de usuário do HSM para a CLI do CloudHSM](user-permissions-table-chsm-cli.md).

## Usuário de dispositivo (AU)
<a name="appliance-user-chsm-cli"></a>

O usuário do equipamento (AU) pode realizar operações de clonagem e sincronização no seu cluster. HSMs AWS CloudHSM usa a AU para sincronizar o HSMs em um AWS CloudHSM cluster. O AU existe em todos os HSMs fornecidos por AWS CloudHSM, e tem permissões limitadas. Para obter mais informações, consulte o [Tabela de permissões de usuário do HSM para a CLI do CloudHSM](user-permissions-table-chsm-cli.md).

AWS não pode realizar nenhuma operação no seu HSMs . AWS não pode visualizar ou modificar seus usuários ou chaves e não pode realizar nenhuma operação criptográfica usando essas chaves.

# Tabela de permissões de usuário do HSM para a CLI do CloudHSM
<a name="user-permissions-table-chsm-cli"></a>

A tabela a seguir lista as operações do HSM classificadas pelo tipo de usuário ou sessão do HSM que pode realizar a operação no AWS CloudHSM.


|  | Administrador | Usuário de criptografia (CU) | Usuário de dispositivo (AU) | Sessão não autenticada | 
| --- | --- | --- | --- | --- | 
| Obter informações¹ básicas do cluster | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | 
| Alterar a própria senha | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | Não aplicável | 
| Alterar a senha de qualquer usuário | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Sim | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | 
| Adicionar, remover usuários | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Sim | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | 
| Obter status³ de sincronização | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | 
| Extrair, inserir objetos mascarados⁴ | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | 
| Funções de gerenciamento de chaves⁵ | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Sim | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | 
| Criptografar, descriptografar | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Sim | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | 
| Assinar, verificar | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Sim | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | 
| Gere resumos e HMACs | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Sim | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | 
+  [1] As informações básicas do cluster incluem o número de pessoas HSMs no cluster e o endereço IP, modelo, número de série, ID do dispositivo, ID do firmware, etc. 
+  [2] O usuário pode obter um conjunto de arquivos de resumo (hashes) que correspondem às chaves no HSM. Um aplicativo pode comparar esses conjuntos de resumos para entender o status de sincronização HSMs em um cluster. 
+  [3] Objetos mascarados são chaves criptografadas antes de sair do HSM. Elas não podem ser descriptografadas fora do HSM. Somente são descriptografadas depois de serem inseridas em um HSM que esteja no mesmo cluster que o HSM do qual foram extraídas. Um aplicativo pode extrair e inserir objetos mascarados para sincronizá-los HSMs em um cluster. 
+  [4] As funções de gerenciamento de chaves incluem criar, excluir, encapsular, desencapsular e modificar os atributos das chaves. 

# Criar um administrador de usuários do HSM usando a CLI do CloudHSM
<a name="create-admin-cloudhsm-cli"></a>

Siga essas etapas para criar um usuário administrador do HSM usando a CLI do CloudHSM.

1. Use o comando a seguir para iniciar o modo interativo da CLI do CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Use o comando **login** e faça login no cluster como administrador.

   ```
   aws-cloudhsm > login --username <username> --role admin
   ```

1. O sistema solicita que você forneça sua senha. Você insere a senha e a saída mostra que o comando foi bem-sucedido.

   ```
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "admin"
     }
   }
   ```

1. Insira o seguinte comando para criar um administrador:

   ```
   aws-cloudhsm > user create --username <username> --role admin
   ```

1. Digite a senha do novo usuário.

1. Digite a senha novamente para confirmar se a senha digitada está correta.

# Criar um usuário criptográfico do HSM usando a CLI do CloudHSM
<a name="create-user-cloudhsm-cli"></a>

Siga estas etapas para criar um usuário de criptografia do HSM usando a CLI do CloudHSM.

1. Use o comando a seguir para iniciar o modo interativo da CLI do CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Use o comando **login** e faça login no cluster como administrador.

   ```
   aws-cloudhsm > login --username <username> --role admin
   ```

1. O sistema solicita que você forneça sua senha. Você insere a senha e a saída mostra que o comando foi bem-sucedido.

   ```
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<USERNAME>",
       "role": "admin"
     }
   }
   ```

1. Digite o comando a seguir para criar um novo usuário de criptografia:

   ```
   aws-cloudhsm > user create --username <username> --role crypto-user
   ```

1. Digite a senha do novo usuário de criptografia.

1. Digite a senha novamente para confirmar se a senha digitada está correta.

# Listar todos os usuários do HSM no cluster usando a CLI do CloudHSM
<a name="list-users-cloudhsm-cli"></a>

 Use o comando **user list** na CLI do CloudHSM para listar todos os usuários no cluster do AWS CloudHSM . Você não precisa fazer login para executar**user list**. Todos os tipos de usuário podem listar usuários. 

**Siga estas etapas para listar todos os usuários no cluster**

1. Use o comando a seguir para iniciar o modo interativo da CLI do CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Insira o comando a seguir para listar todos os usuários no cluster:

   ```
   aws-cloudhsm > user list
   ```

Para obter mais informações sobre **user list**, consulte [lista de usuários](cloudhsm_cli-user-list.md).

# Alterar as senhas de usuário do HSM usando a CLI do CloudHSM
<a name="change-user-password-cloudhsm-cli"></a>

 Use o comando **user change-password** na CLI do CloudHSM para alterar a senha de um usuário do HSM. 

 Os tipos de usuários e as senhas diferenciam maiúsculas e minúsculas, mas os nomes de usuários não.

 Admin, os usuários de criptografia (CUs) e os usuários do dispositivo (AUs) podem alterar suas próprias senhas. Para alterar a senha de outro usuário, você deve fazer login como administrador. Não é possível alterar a senha de um usuário que está conectado no momento. 

**Para alterar sua senha**

1. Use o comando a seguir para iniciar o modo interativo da CLI do CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Use o **login** comando e faça login como usuário com a senha que você deseja alterar.

   ```
   aws-cloudhsm > login --username <username> --role <role>
   ```

1. Digite a senha do usuário.

   ```
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "<role>"
     }
   }
   ```

1. Digite o comando **user change-password**.

   ```
   aws-cloudhsm > user change-password --username <username> --role <role>
   ```

1. Digite a nova senha.

1. Digite novamente a nova senha.

**Para alterar a senha de outro usuário**

1. Use o comando a seguir para iniciar o modo interativo da CLI do CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Usando a CloudHSM CLI, faça login como administrador.

   ```
   aws-cloudhsm > login --username <admin> --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "admin"
     }
   }
   ```

1. Digite o **user change-password** comando junto com o nome de usuário do usuário cuja senha você deseja alterar.

   ```
   aws-cloudhsm > user change-password --username <username> --role <role>
   ```

1. Digite a nova senha.

1. Digite novamente a nova senha.

Para obter mais informações sobre a exclusão **user change-password**, consulte [troca de senha de usuário](cloudhsm_cli-user-change-password.md).

# Excluir usuários do HSM usando a CLI do CloudHSM
<a name="delete-user-cloudhsm-cli"></a>

Use **user delete** na CLI do CloudHSM para excluir um usuário do HSM. Você deve fazer login como administrador para excluir outro usuário.

**dica**  
 Você não pode excluir usuários de criptografia (CU) que possuem chaves. 

**Para excluir um usuário**

1. Use o comando a seguir para iniciar o modo interativo da CLI do CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Use o comando **login** e faça login no cluster como administrador.

   ```
   aws-cloudhsm > login --username <username> --role admin
   ```

1. O sistema solicita que você forneça sua senha. Você insere a senha e a saída mostra que o comando foi bem-sucedido.

   ```
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "admin"
     }
   }
   ```

1. Use o comando **user delete** para excluir um usuário.

   ```
   aws-cloudhsm > user delete --username <username> --role <role>
   ```

Para obter mais informações sobre **user delete**, consulte [deleteUser](cloudhsm_cli-user-delete.md).

# Gerenciar a MFA para usuários do HSM usando a CLI do CloudHSM
<a name="login-mfa-token-sign"></a>

Para aumentar a segurança, você pode configurar a autenticação multifator (MFA) para que os usuários ajudem a proteger AWS CloudHSM o cluster. 

Ao fazer login em um cluster com uma conta de usuário do HSM habilitada para MFA, você fornece sua senha à CLI do CloudHSM, o primeiro fator, o que você conhece, e a CLI do CloudHSM fornece um token e solicita que você assine o token.

Para fornecer o segundo fator, o que você tem, você assina o token com uma chave privada de um par de chaves que já criou e associou ao usuário do HSM. Para acessar o cluster, você fornece o token assinado à CLI do CloudHSM.

Para obter mais informações sobre como configurar a MFA para um usuário, consulte [Configurar o MFA para a CLI do CloudHSM](set-up-mfa-for-cloudhsm-cli.md)

Os tópicos a seguir fornecem mais informações sobre como trabalhar com a autenticação de quorum no AWS CloudHSM.

**Topics**
+ [Autenticação de quórum](quorum-mfa-cloudhsm-cli.md)
+ [Requisitos de pares de chaves](mfa-key-pair-cloudhsm-cli.md)
+ [Configurar MFA](set-up-mfa-for-cloudhsm-cli.md)
+ [Criar usuários](create-mfa-users-cloudhsm-cli.md)
+ [Usuários de login](login-mfa-cloudhsm-cli.md)
+ [Alternar chaves](rotate-mfa-cloudhsm-cli.md)
+ [Cancele o registro de uma chave pública de MFA](deregister-mfa-cloudhsm-cli.md)
+ [Referência do arquivo de token](reference-mfa-cloudhsm-cli.md)

# Autenticação de quorum e MFA em clusters AWS CloudHSM usando o CloudHSM CLI
<a name="quorum-mfa-cloudhsm-cli"></a>

O AWS CloudHSM cluster usa a mesma chave para autenticação de quórum e para autenticação multifator (MFA). Isso significa que um usuário com MFA habilitado está efetivamente registrado para controle de acesso MoFN ou quórum. Para usar com sucesso a autenticação MFA e de quórum para o mesmo usuário do HSM, considere os seguintes pontos:
+ Se estiver usando a autenticação de quórum para um usuário hoje, você deve usar o mesmo par de chaves que criou para o usuário do quórum para habilitar a MFA para ele.
+ Se você adicionar o requisito de MFA para um usuário não MFA que não seja um usuário de autenticação de quórum, registre esse usuário como um quórum (MoFN) com autenticação MFA.
+ Se você remover o requisito de MFA ou alterar a senha de um usuário de MFA que também seja usuário de autenticação de quórum, também removerá o registro do usuário do quórum como usuário do Quorum (MoFN).
+ Se você remover o requisito de MFA ou alterar a senha de um usuário de MFA que também é usuário de autenticação de quórum, mas *ainda quiser que esse usuário participe da autenticação de quórum*, deverá registrá-lo novamente como usuário do MoFN.

Para obter mais informações sobre a autenticação de quórum, consulte [Gerenciar autenticação de quórum (M de N)](quorum-auth-chsm-cli.md).

# Requisitos de pares de chaves de MFA para usar a CLI do AWS CloudHSM CloudHSM
<a name="mfa-key-pair-cloudhsm-cli"></a>

Para habilitar a autenticação multifator (MFA) para um usuário do módulo de segurança de hardware (HSM) AWS CloudHSM em, você pode criar um novo par de chaves ou usar uma chave existente que atenda aos seguintes requisitos:
+ **Tipo de chave:** assimétrico
+ **Uso da chave:** assinar e verificar
+ **Especificação da chave:** RSA\$12048
+ O **algoritmo de assinatura inclui: SHA256with** RSAEncryption

**nota**  
Se você estiver usando a autenticação de quórum ou planeja usar a autenticação de quórum, consulte [Autenticação de quorum e MFA em clusters AWS CloudHSM usando o CloudHSM CLI](quorum-mfa-cloudhsm-cli.md).

Você pode usar a CLI do CloudHSM e o par de chaves para criar um novo usuário administrador com o MFA habilitado.

# Configurar o MFA para a CLI do CloudHSM
<a name="set-up-mfa-for-cloudhsm-cli"></a>

Siga estas etapas para configurar a autenticação multifator (MFA) para a CLI do CloudHSM. 

1. Para configurar o MFA usando a Token Sign Strategy, você deve primeiro gerar uma chave privada RSA de 2048 bits e a chave pública associada.

   ```
   $ openssl genrsa -out officer1.key 2048
   Generating RSA private key, 2048 bit long modulus (2 primes)
   ...........................................................+++++
   ....................................................................+++++
   e is 65537 (0x010001)
   
   $ openssl rsa -in officer1.key -outform PEM -pubout -out officer1.pub
   writing RSA key
   ```

1. Digite o seguinte comando para iniciar o CLI no modo interativo.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Usando a CLI do CloudHSM, faça login na sua conta de usuário.

   ```
   aws-cloudhsm > login --username <admin> --role <admin> --cluster-id <cluster ID>
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "<admin>"
     }
   }
   ```

1. Em seguida, execute o comando para alterar sua estratégia de MFA. Você deve fornecer o parâmetro`--token`. Esse parâmetro especifica um arquivo que terá tokens não assinados gravados nele.

   ```
   aws-cloudhsm > user change-mfa token-sign --token unsigned-tokens.json --username <username> --role crypto-user --change-quorum
   Enter password:
   Confirm password:
   ```

1. Agora você tem um arquivo com tokens não assinados que precisam ser assinados:`unsigned-tokens.json`. O número de tokens nesse arquivo depende do número de HSMs no seu cluster. Cada token representa um HSM. Esse arquivo está no formato JSON e contém tokens que precisam ser assinados para provar que você tem uma chave privada.

   ```
   $ cat unsigned-tokens.json
   {
     "version": "2.0",
     "tokens": [
   {
       {
         "unsigned": "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=",
         "signed": ""
       },
       {
         "unsigned": "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=",
         "signed": ""
       },
       {
         "unsigned": "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=",
         "signed": ""
       }
     ]
   }
   ```

1. A próxima etapa é assinar esses tokens com a chave privada criada na etapa 1. Coloque as assinaturas de volta no arquivo. Primeiro, você precisa extrair e decodificar os tokens codificados em base64.

   ```
   $ echo "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=" > token1.b64
   $ echo "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=" > token2.b64
   $ echo "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=" > token3.b64
   $ base64 -d token1.b64 > token1.bin
   $ base64 -d token2.b64 > token2.bin
   $ base64 -d token3.b64 > token3.bin
   ```

1. Agora, você tem tokens binários que podem ser assinados usando a chave privada RSA criada na etapa 1.

   ```
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token1.bin \
         -out token1.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token2.bin \
         -out token2.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token3.bin \
         -out token3.sig.bin
   ```

1. Agora você tem assinaturas binárias dos tokens. Codifique-os usando base64 e coloque-os novamente em seu arquivo de token.

   ```
   $ base64 -w0 token1.sig.bin > token1.sig.b64
   $ base64 -w0 token2.sig.bin > token2.sig.b64 
   $ base64 -w0 token3.sig.bin > token3.sig.b64
   ```

1. Finalmente, você pode copiar e colar os valores de base64 de volta em seu arquivo de token:

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=",
         "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w=="
       },
       {
         "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=",
         "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w=="
       },
       {
         "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=",
         "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA=="
       }
     ]
   }
   ```

1. Agora que seu arquivo de token tem todas as assinaturas necessárias, você pode continuar. Insira o nome do arquivo que contém os tokens assinados e pressione a tecla enter. Por fim, insira o caminho da sua chave pública.

   ```
   Enter signed token file path (press enter if same as the unsigned token file):
   Enter public key PEM file path:officer1.pub
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "crypto-user"
     }
   }
   ```

   Agora você configurou seu usuário com MFA.

   ```
   {
       "username": "<username>",
       "role": "crypto-user",
       "locked": "false",
       "mfa": [
         {
           "strategy": "token-sign",
           "status": "enabled"
         }
       ],
       "cluster-coverage": "full"
   },
   ```

# Crie usuários com MFA habilitado para a CLI do CloudHSM
<a name="create-mfa-users-cloudhsm-cli"></a>

Siga estas etapas para criar AWS CloudHSM usuários com a autenticação multifator (MFA) ativada. 

1. Use a CLI do CloudHSM para fazer login no HSM como administrador.

1. Use o [**user create**](cloudhsm_cli-user-create.md)comando para criar um usuário de sua escolha. Em seguida, siga as etapas [Configurar o MFA para a CLI do CloudHSM](set-up-mfa-for-cloudhsm-cli.md) para configurar o MFA para o usuário.

# Faça login com os usuários com MFA habilitado para a CLI do CloudHSM
<a name="login-mfa-cloudhsm-cli"></a>

Siga estas etapas para fazer login de AWS CloudHSM usuários com a autenticação multifator (MFA) ativada. 

1. Use o [**login mfa-token-sign**](cloudhsm_cli-login-mfa-token-sign.md)comando na CLI do CloudHSM para iniciar o processo de login com o MFA para um usuário que tenha o MFA habilitado.

   ```
   aws-cloudhsm > login --username <username> --role <role> mfa-token-sign --token <unsigned-tokens.json>
   Enter password:
   ```

1. Insira a senha. Em seguida, você será solicitado a inserir o caminho para o arquivo de token que contém unsigned/signed pares de tokens, onde tokens assinados são aqueles gerados usando sua chave privada.

   ```
   aws-cloudhsm > login --username <username> --role <role> mfa-token-sign --token <unsigned-tokens.json>
   Enter password:
   Enter signed token file path (press enter if same as the unsigned token file):
   ```

1. Quando solicitado a inserir o caminho do arquivo de token assinado, você pode inspecionar o arquivo de token não assinado em um terminal separado. Identifique o arquivo com tokens não assinados que precisam ser assinados:`<unsigned-tokens.json>`. O número de tokens nesse arquivo depende do número de HSMs no seu cluster. Cada token representa um HSM. Esse arquivo está no formato JSON e contém tokens que precisam ser assinados para provar que você tem uma chave privada.

   ```
   $ cat <unsigned-tokens.json>
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=",
         "signed": ""
       },
       {
         "unsigned": "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=",
         "signed": ""
       },
       {
         "unsigned": "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=",
         "signed": ""
       }
     ]
   }
   ```

1. Assine os tokens não assinados com a chave privada criada na etapa 2. Primeiro, você precisa extrair e decodificar os tokens codificados em base64.

   ```
   $ echo "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=" > token1.b64
   $ echo "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=" > token2.b64
   $ echo "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=" > token3.b64
   $ base64 -d token1.b64 > token1.bin 
   $ base64 -d token2.b64 > token2.bin
   $ base64 -d token3.b64 > token3.bin
   ```

1. Agora você tem tokens binários. Assine-os usando a chave privada RSA que você criou anteriormente na [etapa 1 da configuração da MFA](set-up-mfa-for-cloudhsm-cli.md).

   ```
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token1.bin \
         -out token1.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token2.bin \
         -out token2.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token3.bin \
         -out token3.sig.bin
   ```

1. Agora você tem assinaturas binárias dos tokens. Codifique-os usando base64 e coloque-os novamente em seu arquivo de token.

   ```
   $ base64 -w0 token1.sig.bin > token1.sig.b64
   $ base64 -w0 token2.sig.bin > token2.sig.b64
   $ base64 -w0 token3.sig.bin > token3.sig.b64
   ```

1. Finalmente, você pode copiar e colar os valores de base64 de volta em seu arquivo de token:

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=",
         "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w=="
       },
       {
         "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=",
         "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w=="
       },
       {
         "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=",
         "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA=="
       }
     ]
   }
   ```

1. Agora que seu arquivo de token tem todas as assinaturas necessárias, você pode continuar. Insira o nome do arquivo que contém os tokens assinados e pressione a tecla enter. Agora você deve fazer login com sucesso.

   ```
   aws-cloudhsm > login --username <username> --role <role> mfa-token-sign --token <unsigned-tokens.json>
   Enter password:
   Enter signed token file path (press enter if same as the unsigned token file):
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "<role>"
     }
   }
   ```

# Rotacione as chaves para usuários com MFA habilitado para CLI do CloudHSM
<a name="rotate-mfa-cloudhsm-cli"></a>

Siga estas etapas para alternar as chaves para AWS CloudHSM usuários com a autenticação multifator (MFA) ativada.

1. Use a CLI do CloudHSM para fazer login no HSM como qualquer administrador ou como o usuário específico que tem o MFA ativado ([consulte Fazer login]() de usuários com o MFA habilitado para obter detalhes).

1. Em seguida, execute o comando para alterar sua estratégia de MFA. Você deve fornecer o parâmetro**--token**. Esse parâmetro especifica um arquivo que terá tokens não assinados gravados nele.

   ```
   aws-cloudhsm > user change-mfa token-sign --token unsigned-tokens.json --username <username> --role crypto-user --change-quorum
   Enter password:
   Confirm password:
   ```

1. Identifique o arquivo com tokens não assinados que precisam ser assinados:`unsigned-tokens.json`. O número de tokens nesse arquivo depende do número de HSMs no seu cluster. Cada token representa um HSM. Esse arquivo está no formato JSON e contém tokens que precisam ser assinados para provar que você tem uma chave privada. Essa será a nova chave privada do novo par de public/private chaves RSA que você deseja usar para rotacionar a chave pública atualmente registrada.

   ```
   $ cat unsigned-tokens.json
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=",
         "signed": ""
       },
       {
         "unsigned": "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=",
         "signed": ""
       },
       {
         "unsigned": "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=",
         "signed": ""
       }
     ]
   }
   ```

1. Assine esses tokens com a chave privada que você criou anteriormente durante a configuração. Primeiro, precisamos extrair e decodificar os tokens codificados em base64.

   ```
   $ echo "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=" > token1.b64
   $ echo "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=" > token2.b64
   $ echo "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=" > token3.b64
   $ base64 -d token1.b64 > token1.bin
   $ base64 -d token2.b64 > token2.bin
   $ base64 -d token3.b64 > token3.bin
   ```

1. Agora você tem tokens binários. Assine-os usando a chave privada RSA que você criou anteriormente durante a configuração.

   ```
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token1.bin \
         -out token1.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token2.bin \
         -out token2.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token3.bin \
         -out token3.sig.bin
   ```

1. Agora você tem assinaturas binárias dos tokens. Codifique-os usando base64 e coloque-os novamente em seu arquivo de token.

   ```
   $ base64 -w0 token1.sig.bin > token1.sig.b64
   $ base64 -w0 token2.sig.bin > token2.sig.b64 
   $ base64 -w0 token3.sig.bin > token3.sig.b64
   ```

1. Finalmente, você pode copiar e colar os valores de base64 de volta em seu arquivo de token:

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=",
         "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w=="
       },
       {
         "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=",
         "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w=="
       },
       {
         "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=",
         "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA=="
       }
     ]
   }
   ```

1. Agora que seu arquivo de token tem todas as assinaturas necessárias, você pode continuar. Insira o nome do arquivo que contém os tokens assinados e pressione a tecla enter. Por fim, insira o caminho da sua nova chave pública. Agora você verá o seguinte como parte da saída da [lista de usuários]().

   ```
   Enter signed token file path (press enter if same as the unsigned token file):
   Enter public key PEM file path:officer1.pub
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "crypto-user"
     }
   }
   ```

   Agora configuramos nosso usuário com MFA.

   ```
   {
       "username": "<username>",
       "role": "crypto-user",
       "locked": "false",
       "mfa": [
         {
           "strategy": "token-sign",
           "status": "enabled"
         }
       ],
       "cluster-coverage": "full"
   },
   ```

Você assinou o arquivo de token formatado em JSON gerado com sua chave privada e registrou uma nova chave pública de MFA.

# Cancelar o registro de uma chave pública de MFA usando a CLI do CloudHSM
<a name="deregister-mfa-cloudhsm-cli"></a>

Siga estas etapas para cancelar o registro de uma chave pública de autenticação multifator (MFA) para usuários administradores do AWS CloudHSM quando a chave pública de MFA for registrada.

1. Use a CLI do CloudHSM para fazer login no HSM como administrador com MFA ativado.

1. Use o **user change-mfa token-sign** comando para remover o MFA de um usuário.

   ```
   aws-cloudhsm > user change-mfa token-sign --username <username> --role admin --deregister --change-quorum
   Enter password:
   Confirm password:
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "admin"
     }
   }
   ```

# Referência de arquivo de token para MFA com CLI do CloudHSM
<a name="reference-mfa-cloudhsm-cli"></a>

O arquivo de token gerado ao registrar uma chave pública de autenticação multifator (MFA) ou ao tentar fazer login na CLI do CloudHSM usando a MFA consiste no seguinte:
+ **Tokens:** uma matriz de pares de unsigned/signed tokens codificados em base64 na forma de literais de objetos JSON.
+ **Não assinado: um token** codificado e SHA256 com hash em base64.
+ **Assinado**: um token assinado codificado em base64 (assinatura) do token não assinado, usando a chave privada RSA de 2048 bits.

```
{
  "version": "2.0",
  "tokens": [
    {
      "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=",
      "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w=="
    },
    {
      "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=",
      "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w=="
    },
    {
      "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=",
      "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA=="
    }
  ]
}
```

# Gerenciar a autenticação de quórum (controle de acesso M ou N) usando a CLI do CloudHSM
<a name="quorum-auth-chsm-cli"></a>

AWS CloudHSM os clusters oferecem suporte à autenticação de quorum, também conhecida como controle de acesso M of N. Esse atributo exige que os usuários do HSM cooperem em determinadas operações, adicionando uma camada extra de proteção.

Com a autenticação de quórum, nenhum usuário único no HSM pode realizar operações controladas pelo quórum no HSM. Em vez disso, um número mínimo de usuários do HSM (pelo menos 2) deve cooperar para realizar essas operações.

A autenticação de quorum pode controlar as seguintes operações:
+ Gerenciamento de usuários do HSM por [administrador](understanding-users.md#admin): criar e excluir usuários do HSM ou alterar a senha de um usuário do HSM diferente. Para obter mais informações, consulte [Gerenciamento de usuários com autenticação de quorum habilitada para usar o CloudHSM AWS CloudHSM CLI](quorum-auth-chsm-cli-admin.md).

Pontos-chave sobre a autenticação de quórum no AWS CloudHSM.
+ Um usuário do HSM pode assinar seu próprio token de quórum, ou seja, fornecer uma das aprovações necessárias para a autenticação de quórum.
+ Você escolhe o número mínimo de aprovadores de quórum, que varia de dois (2) a oito (8).
+ HSMs pode armazenar até 1024 tokens de quórum. Quando esse limite é atingido, o HSM limpa um token expirado para criar um novo.
+ Por padrão, os tokens expiram dez minutos após sua criação.
+ Se os clusters com MFA estiverem ativados, será usada a mesma chave para autenticação de quórum e para autenticação multifator (MFA). Consulte [Usar a CloudHSM CLI para gerenciar a MFA](login-mfa-token-sign.md) para obter mais informações.
+ Cada HSM pode conter apenas um token por serviço administrativo por vez, mas vários tokens por serviço de Usuário de criptografia.

Os seguintes tópicos fornecem mais informações sobre a autenticação de quorum no AWS CloudHSM.

**Topics**
+ [Processo de autenticação de quórum para a CLI do CloudHSM](quorum-auth-chsm-cli-overview.md)
+ [Nomes e tipos AWS CloudHSM de serviços compatíveis para autenticação de quórum com o CloudHSM CLI](quorum-auth-chsm-cli-service-names.md)
+ [Configurar a autenticação de quórum para AWS CloudHSM administradores usando o CloudHSM CLI](quorum-auth-chsm-cli-first-time.md)
+ [Gerenciamento de usuários com autenticação de quorum habilitada para usar o CloudHSM AWS CloudHSM CLI](quorum-auth-chsm-cli-admin.md)
+ [Alterar o valor mínimo do quórum para usar a CLI do AWS CloudHSM CloudHSM](quorum-auth-chsm-cli-min-value.md)

# Processo de autenticação de quórum para a CLI do CloudHSM
<a name="quorum-auth-chsm-cli-overview"></a>

As etapas a seguir resumem os processos de autenticação de quórum para a CLI do CloudHSM. Para conhecer as etapas e ferramentas específicas, consulte [Gerenciamento de usuários com autenticação de quorum habilitada para usar o CloudHSM AWS CloudHSM CLI](quorum-auth-chsm-cli-admin.md).

1. Cada usuário do módulo de segurança de hardware (HSM) cria uma chave assimétrica para assinatura. Isso é feito fora do HSM, tomando cuidado para proteger a chave apropriadamente.

1. Cada usuário do HSM faz login no HSM e registra a parte pública de sua chave de assinatura (a chave pública) no HSM.

1. Quando um usuário do HSM quer fazer uma operação controlada por quorum, ele faz login no HSM e obtém um *token de quorum*.

1. O usuário do HSM fornece esse token de quorum a um ou mais usuários do HSM e solicita sua aprovação.

1. Os outros usuários do HSM aprovam usando suas chaves para assinar criptograficamente o token de quorum. Isso ocorre fora do HSM.

1. Quando o usuário do HSM tem o número necessário de aprovações, ele faz login no HSM e executa a operação controlada por quórum com o argumento **--approval**, fornecendo o arquivo de token de quórum assinado, que contém todas as aprovações (assinaturas) necessárias.

1. O HSM usa as chaves públicas registradas de cada assinante para verificar as assinaturas. Se as assinaturas forem válidas, o HSM aprova o token e a operação controlada por quórum será executada.

# Nomes e tipos AWS CloudHSM de serviços compatíveis para autenticação de quórum com o CloudHSM CLI
<a name="quorum-auth-chsm-cli-service-names"></a>

**Serviços administrativos**: a autenticação de quórum é usada para serviços com privilégios administrativos, como criar usuários, excluir usuários, alterar senhas de usuários, definir valores de quórum e desativar recursos de quórum e MFA.

**Serviços de criptografia para usuários**: a autenticação de quórum é usada para serviços privilegiados de usuários criptográficos associados a uma chave específica, como assinar com uma chave, uma chave, sharing/unsharing uma chave e definir o atributo de wrapping/unwrapping uma chave. O valor do quórum de uma chave associada é configurado quando a chave é gerada, importada ou desencapsulada. O valor do quórum deve ser igual ou menor do que o número de usuários aos quais a chave está associada, o que inclui usuários com os quais a chave é compartilhada e o proprietário da chave.

Cada tipo de serviço é subdividido em um nome de serviço qualificado, que contém um conjunto específico de operações de serviço suportadas por quórum que podem ser executadas.


****  

| Nome do serviço | Tipo de serviço | Operações de serviço | 
| --- | --- | --- | 
| usuário | Administrador |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-auth-chsm-cli-service-names.html)  | 
| quorum | Administrador |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-auth-chsm-cli-service-names.html)  | 
| cluster1 | Administrador |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-auth-chsm-cli-service-names.html)  | 
| gerenciamento de chaves | Usuário de criptografia |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-auth-chsm-cli-service-names.html)  | 
| uso de chave | Usuário de criptografia |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-auth-chsm-cli-service-names.html)  | 

[1] O serviço de cluster está disponível exclusivamente em instâncias hsm2m.medium

# Configurar a autenticação de quórum para AWS CloudHSM administradores usando o CloudHSM CLI
<a name="quorum-auth-chsm-cli-first-time"></a>

Os tópicos a seguir descrevem as etapas que você deve concluir para configurar seu módulo de segurança de hardware (HSM) para que os AWS CloudHSM [administradores](understanding-users.md#admin) possam usar a autenticação de quorum. Você precisa realizar essas etapas apenas uma vez ao configurar inicialmente a autenticação de quorum para administradores. Depois de concluir essas etapas, consulte [Gerenciamento de usuários com autenticação de quorum habilitada para usar o CloudHSM AWS CloudHSM CLI](quorum-auth-chsm-cli-admin.md).

**Topics**
+ [Pré-requisitos](#quorum-admin-prerequisites)
+ [Etapa 1. Criar e registrar uma chave para assinatura](#quorum-admin-create-and-register-key)
+ [Etapa 2. Definir o valor mínimo do quorum no HSM](#quorum-admin-set-quorum-minimum-value-chsm-cli)
+ [Valores mínimos de quórum](#cloudhsm_cli-qm-list-minimum)

## Pré-requisitos
<a name="quorum-admin-prerequisites"></a>

Para entender esse exemplo, você deve estar familiarizado com o [CloudHSM CLI](cloudhsm_cli.md). 

## Etapa 1. Criar e registrar uma chave para assinatura
<a name="quorum-admin-create-and-register-key"></a>

Para usar a autenticação de quórum, cada administrador deve concluir *todas* as etapas a seguir: 

**Topics**
+ [Criar um par de chaves RSA](#mofn-key-pair-create-chsm-cli)
+ [Crie e assine um token de registro](#mofn-registration-token-chsm-cli)
+ [Registrar uma chave pública no HSM](#mofn-register-key-chsm-cli)

### Criar um par de chaves RSA
<a name="mofn-key-pair-create-chsm-cli"></a>

Existem muitas maneiras diferentes de criar e proteger um par de chaves. O exemplo a seguir mostra como fazer isso com o [OpenSSL](https://www.openssl.org/).

**Example Crie uma chave privada com o OpenSSL**  
O exemplo a seguir demonstra como usar o OpenSSL para criar uma chave RSA de 2048 bits. Para usar esse exemplo, *<admin.key>* substitua pelo nome do arquivo em que você deseja armazenar a chave.  

```
$ openssl genrsa -out <admin.key>
Generating RSA private key, 2048 bit long modulus
.....................................+++
.+++
e is 65537 (0x10001)
```

Em seguida, gere a chave pública usando a chave privada que você acabou de criar.

**Example Crie uma chave pública com o OpenSSL**  
O exemplo a seguir demonstra como usar o OpenSSL para criar uma chave pública a partir da chave privada que você acabou de criar.  

```
$ openssl rsa -in admin.key -outform PEM -pubout -out admin1.pub
writing RSA key
```

### Crie e assine um token de registro
<a name="mofn-registration-token-chsm-cli"></a>

Você cria um token e o assina com a chave privada que acabou de gerar na etapa anterior.

**Example Crie um token de registro**  

1. Use o comando a seguir para iniciar CloudHSM CLI:

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Crie um token de registro executando o comando [quorum token-sign generate](cloudhsm_cli-qm-token-gen.md):

   ```
   aws-cloudhsm > quorum token-sign generate --service registration --token /path/tokenfile
   {
     "error_code": 0,
     "data": {
       "path": "/path/tokenfile"
     }
   }
   ```

1. O comando [quorum token-sign generate](cloudhsm_cli-qm-token-gen.md) gera um token de registro no caminho de arquivo especificado. Inspecione o arquivo de token:

   ```
   $ cat /path/tokenfile
   {
     "version": "2.0",
     "tokens": [
       {
         "approval_data": <approval data in base64 encoding>,
         "unsigned": <unsigned token in base64 encoding>,
         "signed": ""
       }
     ]
   }
   ```

   O caminho do arquivo consiste no seguinte:
   + **approval\$1data**: um token de dados aleatório codificado em base64 cujos dados brutos não excedem o máximo de 245 bytes.
   + **unsigned**: um token codificado em base64 e com SHA256 hash do approval\$1data.
   + **signed**: um token assinado codificado em base64 (assinatura) do token não assinado, usando a chave privada RSA de 2048 bits gerada anteriormente com o OpenSSL.

   Você assina o token não assinado com a chave privada para demonstrar que tem acesso à chave privada. Você precisará do arquivo de token de registro totalmente preenchido com uma assinatura e a chave pública para registrar o administrador como usuário de quórum no cluster. AWS CloudHSM 

**Example Assine o token de registro não assinado**  

1. Decodifique o token não assinado codificado em base64 e coloque-o em um arquivo binário:

   ```
   $ echo -n '6BMUj6mUjjko6ZLCEdzGlWpR5sILhFJfqhW1ej3Oq1g=' | base64 -d > admin.bin
   ```

1. Use OpenSSL e a chave privada para assinar o token de registro não assinado, agora binário, e criar um arquivo de assinatura binária:

   ```
   $ openssl pkeyutl -sign \
   -inkey admin.key \
   -pkeyopt digest:sha256 \
   -keyform PEM \
   -in admin.bin \
   -out admin.sig.bin
   ```

1. Codifique a assinatura binária em base64:

   ```
   $ base64 -w0 admin.sig.bin > admin.sig.b64
   ```

1. Copie e cole a assinatura codificada em base64 no arquivo de token:

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "approval_data": <approval data in base64 encoding>,
         "unsigned": <unsigned token in base64 encoding>,
         "signed": <signed token in base64 encoding>
       }
     ]
   }
   ```

### Registrar uma chave pública no HSM
<a name="mofn-register-key-chsm-cli"></a>

Depois de criar uma chave, o administrador deve registrar a chave pública no AWS CloudHSM cluster.

**Para registrar uma chave pública no HSM**

1. Use o comando a seguir para iniciar CloudHSM CLI:

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Usando a CLI do CloudHSM, faça login como administrador.

   ```
   aws-cloudhsm > login --username <admin> --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "admin"
     }
   }
   ```

1. Use o comando **[Registrar a estratégia de quórum de assinatura de token de um usuário usando a CLI do CloudHSM](cloudhsm_cli-user-chqm-token-reg.md)** para registrar a chave pública. Para obter mais informações, consulte o exemplo a seguir ou use o comando **help user change-quorum token-sign register**.

**Example — Registrar uma chave pública com o AWS CloudHSM cluster**  
O exemplo a seguir mostra como usar o comando **user change-quorum token-sign register** na CloudHSM CLI para registrar a chave pública de um administrador no HSM. Para usar esse comando, o CO deve estar conectado no HSM. Substitua estes valores pelos seus próprios:  

```
aws-cloudhsm > user change-quorum token-sign register --public-key </path/admin.pub> --signed-token </path/tokenfile>
{
  "error_code": 0,
  "data": {
    "username": "admin",
    "role": "admin"
  }
}
```
**/path/admin.pub**: o caminho do arquivo PEM de chave pública  
**Obrigatório**: sim  
**/path/tokenfile**: o caminho do arquivo com token assinado pela chave privada do usuário  
**Obrigatório**: sim
Depois que todos os administradores registrarem suas chaves públicas, a saída do comando **user list** mostra essa informação no campo de quórum, informando a estratégia de quórum ativada em uso, conforme mostrado abaixo:  

```
aws-cloudhsm > user list
{
  "error_code": 0,
  "data": {
    "users": [
      {
        "username": "admin",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "admin2",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "admin3",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "admin4",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "app_user",
        "role": "internal(APPLIANCE_USER)",
        "locked": "false",
        "mfa": [],
        "quorum": [],
        "cluster-coverage": "full"
      }
    ]
  }
}
```
 Neste exemplo, o AWS CloudHSM cluster tem dois HSMs, cada um com os mesmos administradores, conforme mostrado na saída a seguir do **user list** comando. Para obter mais informações sobre a criação de usuários, consulte [Gerenciamento de usuários com a CLI do CloudHSM](manage-hsm-users-chsm-cli.md)

## Etapa 2. Definir o valor mínimo do quorum no HSM
<a name="quorum-admin-set-quorum-minimum-value-chsm-cli"></a>

Para usar a autenticação de quórum, um administrador deve fazer login no HSM e, em seguida, definir o *valor mínimo de quorum*. Esse é o número mínimo de aprovações de administrador necessárias para realizar operações de gerenciamento de usuários do HSM. Qualquer administrador no HSM pode definir o valor mínimo de quorum, incluindo administradores que não tenham registrado uma chave para assinatura. Você pode alterar o valor mínimo de quórum a qualquer momento. Para obter mais informações, consulte [Altere o valor mínimo](quorum-auth-chsm-cli-min-value.md).

**Para definir o valor mínimo do quorum no HSM**

1. Use o comando a seguir para iniciar CloudHSM CLI:

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Usando a CLI do CloudHSM, faça login como administrador.

   ```
   aws-cloudhsm > login --username <admin> --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "admin"
     }
   }
   ```

1. Use o comando **[Atualizar um valor de quórum usando a CLI do CloudHSM](cloudhsm_cli-qm-token-set-qm.md)** para definir o valor mínimo do quorum. O sinalizador `--service` identifica o serviço HSM para o qual você está definindo valores. Consulte o exemplo a seguir ou use o comando **help quorum token-sign set-quorum-value** para obter mais informações.

**Example Definir o valor mínimo do quorum no HSM**  
Este exemplo usa um valor mínimo de quorum de dois (2). Você pode escolher qualquer valor de dois (2) até oito (8), até o número total de administradores no HSM. Neste exemplo, o HSM tem quatro (4) administradores, então o valor máximo possível é quatro (4).  
Para usar o comando de exemplo a seguir, substitua o número final (*<2>*) pelo valor mínimo de quórum preferido.  

```
aws-cloudhsm > quorum token-sign set-quorum-value --service user --value <2>
{
  "error_code": 0,
  "data": "Set quorum value successful"
}
```
Neste exemplo, o comando **[Mostrar valores de quórum usando a CLI do CloudHSM](cloudhsm_cli-qm-token-list-qm.md)** lista os tipos, os nomes e as descrições de serviço do HSM que estão incluídos no serviço. 

## Valores mínimos de quórum
<a name="cloudhsm_cli-qm-list-minimum"></a>

Use o comando **quorum token-sign list-quorum-values** para obter o valor mínimo de quorum para um serviço:

```
aws-cloudhsm > quorum token-sign list-quorum-values
{
  "error_code": 0,
  "data": {
    "user": 2,
    "quorum": 1
  }
}
```

A saída do comando **quorum token-sign list-quorum-values** anterior mostra que o valor mínimo de quorum para as operações de gerenciamento de usuários do HSM, responsável pelas operações de gerenciamento de usuário, é agora dois (2). Depois de concluir essas etapas, consulte [Gerenciamento de usuários com quórum (M de N)](quorum-auth-chsm-cli-admin.md).

**Serviços administrativos**: a autenticação de quórum é usada para serviços com privilégios administrativos, como criar usuários, excluir usuários, alterar senhas de usuários, definir valores de quórum e desativar recursos de quórum e MFA.

**Serviços de criptografia para usuários**: a autenticação de quórum é usada para serviços privilegiados de usuários criptográficos associados a uma chave específica, como assinar com uma chave, uma chave, sharing/unsharing uma chave e definir o atributo de wrapping/unwrapping uma chave. O valor do quórum de uma chave associada é configurado quando a chave é gerada, importada ou desencapsulada. O valor do quórum deve ser igual ou menor do que o número de usuários aos quais a chave está associada, o que inclui usuários com os quais a chave é compartilhada e o proprietário da chave.

Cada tipo de serviço é subdividido em um nome de serviço qualificado, que contém um conjunto específico de operações de serviço suportadas por quórum que podem ser executadas.


****  

| Nome do serviço | Tipo de serviço | Operações de serviço | 
| --- | --- | --- | 
| usuário | Administrador |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| quorum | Administrador |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| cluster1 | Administrador |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| gerenciamento de chaves | Usuário de criptografia |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| uso de chave | Usuário de criptografia |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 

[1] O serviço de cluster está disponível exclusivamente em instâncias hsm2m.medium

# Gerenciamento de usuários com autenticação de quorum habilitada para usar o CloudHSM AWS CloudHSM CLI
<a name="quorum-auth-chsm-cli-admin"></a>

Um AWS CloudHSM [administrador](understanding-users.md#admin) no módulo de segurança de hardware (HSM) pode configurar a autenticação de quorum para as seguintes operações no cluster: AWS CloudHSM 
+ **[Crie um AWS CloudHSM usuário com o CloudHSM CLI](cloudhsm_cli-user-create.md)**
+ **[Excluir um AWS CloudHSM usuário com a CLI do CloudHSM](cloudhsm_cli-user-delete.md)**
+ **[Alterar a senha de um usuário com a CLI do CloudHSM](cloudhsm_cli-user-change-password.md)**
+ **[A categoria user change-mfa na CLI do CloudHSM](cloudhsm_cli-user-change-mfa.md)**

Depois que o AWS CloudHSM cluster é configurado para autenticação de quórum, os administradores não podem realizar as operações de gerenciamento de usuários do HSM sozinhos. O exemplo a seguir mostra a saída quando um administrador tenta criar um novo usuário no HSM. O comando falha com um erro, informando que a autenticação de quórum é necessária.

```
aws-cloudhsm > user create --username user1 --role crypto-user
Enter password:
Confirm password:
{
  "error_code": 1,
  "data": "Quorum approval is required for this operation"
}
```

Para realizar uma operação de gerenciamento de usuário do HSM, um administrador deve completar as seguintes tarefas:

**Topics**
+ [Etapa 1. Obter um token de quorum](#quorum-admin-gen-token-chsm-cli)
+ [Etapa 2. Obter assinaturas dos administradores de aprovação](#quorum-admin-get-approval-signatures-chsm-cli)
+ [Etapa 3. Aprovar o token no AWS CloudHSM cluster e executar uma operação de gerenciamento de usuários](#quorum-admin-approve-token-chsm-cli)

## Etapa 1. Obter um token de quorum
<a name="quorum-admin-gen-token-chsm-cli"></a>

Primeiro, o administrador deve usar a CLI do CloudHSM para solicitar um *token de quórum.*

**Para obter um token de quorum**

1. Use o comando a seguir para iniciar CloudHSM CLI.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Usando a CloudHSM CLI, faça login como administrador.

   ```
   aws-cloudhsm > login --username <admin> --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "admin"
     }
   }
   ```

1. Use o comando **quorum token-sign generate** para obter um token de quorum. Para obter mais informações, consulte o exemplo a seguir ou use o comando **help quorum token-sign generate**.

**Example Gere um token de quórum**  
Este exemplo obtém um token de quorum para o administrador com o nome de usuário `admin` e salva o token em um arquivo chamado `admin.token`. Para usar o exemplo de comando, substitua esses valores por seus próprios:  
+ *<admin>*— O nome do administrador que está recebendo o token. Este deve ser o mesmo administrador que está conectado ao HSM e executando esse comando.
+ *<admin.token>*— O nome do arquivo a ser usado para armazenar o token de quorum.
No comando a seguir, `user` identifica o *nome do serviço* para o qual você pode usar o token que você está gerando. Nesse caso, o token é para operações de gerenciamento de usuários do HSM (serviço `user`).  

```
aws-cloudhsm > login --username <admin> --role admin --password <password>
{
  "error_code": 0,
  "data": {
    "username": "<admin>",
    "role": "admin"
  }
}
```

```
aws-cloudhsm > quorum token-sign generate --service user --token </path/admin.token>
{
  "error_code": 0,
  "data": {
    "path": "/home/tfile"
  }
}
```
O comando **quorum token-sign generate** gera um token de quórum de serviço de usuário no caminho de arquivo especificado. O arquivo de token pode ser inspecionado:  

```
$ cat </path/admin.token>
{
  "version": "2.0",
  "service": "user-management",
  "approval_data": "AAEAAwAAABgAAAAAAAAAAJ9eFkfcP3mNzJAlfK+OWbNhZG1pbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj5vbeAAAAAAAAAAAAAQADAAAAFQAAAAAAAAAAW/v5Euk83amq1fij0zyvD2FkbWluAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPm9t4AAAAAAAAAAAABAAMAAAAUAAAAAAAAAABDw2XDwfK4hB8a15Xh1E0nYWRtaW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY+b23gAAAAAAAAAA",
  "token": "0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=",
  "signatures": []
}
```
O caminho do arquivo consiste no seguinte:  
+ **service**: um identificador do serviço de quórum ao qual o token está associado.
+ **approval\$1data**: um token de dados brutos codificado em base64 gerado pelo HSM.
+ **token**: um token codificado em base64 e com hash SHA-256 do approval\$1data
+ **signatures**: uma matriz de tokens assinados codificados em base64 (assinaturas) do token não assinado, em que cada assinatura de um aprovador está no formato literal de objeto JSON: 

  ```
  {
        "username": "<APPROVER_USERNAME>",
        "role": "<APPROVER_ROLE>",
        "signature": "<APPROVER_RSA2048_BIT_SIGNATURE>"
  }
  ```

  Cada assinatura é criada do resultado de um aprovador usando sua chave privada RSA de 2048 bits correspondente, cuja chave pública foi registrada no HSM.
É possível confirmar a existência do token de quórum do serviço de usuário gerado no cluster do CloudHSM executando o comando **quorum token-sign list**:  

```
aws-cloudhsm > quorum token-sign list
{
  "error_code": 0,
  "data": {
    "tokens": [
      {
        "username": "admin",
        "service": "user",
        "approvals-required": {
          "value": 2
        },
        "number-of-approvals": {
          "value": 0
        },
        "token-timeout-seconds": {
          "value": 597
        },
        "cluster-coverage": "full"
      }
    ]
  }
}
```
O tempo `token-timeout-seconds` indica o período de tempo limite em segundos para que um token gerado seja aprovado antes de expirar.

## Etapa 2. Obter assinaturas dos administradores de aprovação
<a name="quorum-admin-get-approval-signatures-chsm-cli"></a>

Um administrador que tenha um token de quorum deve fazer com que o token seja aprovado por outros administradores. Para darem sua aprovação, os outros administradores usam suas chaves de assinatura para assinar criptograficamente o token. Eles fazem isso fora do HSM.

Existem muitas maneiras diferentes de assinar o token. O exemplo a seguir mostra como fazer isso com o [OpenSSL](https://www.openssl.org/). Para usar uma ferramenta de assinatura diferente, certifique-se de que essa ferramenta use a chave privada (chave de assinatura) do administrador para assinar um resumo SHA-256 do token.

**Example Obter assinaturas dos administradores de aprovação**  
Neste exemplo, o administrador que possui o token (`admin`) precisa de pelo menos duas (2) aprovações. Os comandos do exemplo a seguir mostram como dois (2) administradores podem usar o OpenSSL para assinar criptograficamente o token.  

1. Decodifique o token não assinado codificado em base64 e coloque-o em um arquivo binário:

   ```
   $ echo -n '0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=' | base64 -d > admin.bin
   ```

1. Use o OpenSSL e a respectiva chave privada do aprovador `(admin3)` para assinar o token não assinado de quórum, agora binário, para o serviço ao usuário e criar um arquivo de assinatura binária:

   ```
   $ openssl pkeyutl -sign \
   -inkey admin3.key \
   -pkeyopt digest:sha256 \
   -keyform PEM \
   -in admin.bin \
   -out admin.sig.bin
   ```

1. Codifique a assinatura binária em base64:

   ```
   $ base64 -w0 admin.sig.bin > admin.sig.b64
   ```

1. Por fim, copie e cole a assinatura codificada em base64 no arquivo de token, seguindo o formato literal do objeto JSON especificado anteriormente para a assinatura do aprovador:

   ```
   {
     "version": "2.0",
     "approval_data": "AAEAAwAAABgAAAAAAAAAAJ9eFkfcP3mNzJAlfK+OWbNhZG1pbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj5vbeAAAAAAAAAAAAAQADAAAAFQAAAAAAAAAAW/v5Euk83amq1fij0zyvD2FkbWluAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPm9t4AAAAAAAAAAAABAAMAAAAUAAAAAAAAAABDw2XDwfK4hB8a15Xh1E0nYWRtaW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY+b23gAAAAAAAAAA",
     "token": "0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=",
     "signatures": [
       {
         "username": "admin2",
         "role": "admin",
         "signature": "O6qx7/mUaVkYYVr1PW7l8JJko+Kh3e8zBIqdk3tAiNy+1rW+OsDtvYujhEU4aOFVLcrUFmyB/CX9OQmgJLgx/pyK+ZPEH+GoJGqk9YZ7X1nOXwZRP9g7hKV+7XCtg9TuDFtHYWDpBfz2jWiu2fXfX4/jTs4f2xIfFPIDKcSP8fhxjQ63xEcCf1jzGha6rDQMu4xUWWdtDgfT7um7EJ9dXNoHqLB7cTzphaubNaEFbFPXQ1siGmYKmvETlqe/ssktwyruGFLpXs1n0tJOEglGhx2qbYTs+omKWZdORl5WIWEXW3IXw/Dg5vVObrNpvG0eZKO8nSMc27+cyPySc+ZbNw=="
       },
       {
         "username": "admin3",
         "role": "admin",
         "signature": "O6qx7/mUaVkYYVr1PW7l8JJko+Kh3e8zBIqdk3tAiNy+1rW+OsDtvYujhEU4aOFVLcrUFmyB/CX9OQmgJLgx/pyK+ZPEH+GoJGqk9YZ7X1nOXwZRP9g7hKV+7XCtg9TuDFtHYWDpBfz2jWiu2fXfX4/jTs4f2xIfFPIDKcSP8fhxjQ63xEcCf1jzGha6rDQMu4xUWWdtDgfT7um7EJ9dXNoHqLB7cTzphaubNaEFbFPXQ1siGmYKmvETlqe/ssktwyruGFLpXs1n0tJOEglGhx2qbYTs+omKWZdORl5WIWEXW3IXw/Dg5vVObrNpvG0eZKO8nSMc27+cyPySc+ZbNw=="
       }
     ]
   }
   ```

## Etapa 3. Aprovar o token no AWS CloudHSM cluster e executar uma operação de gerenciamento de usuários
<a name="quorum-admin-approve-token-chsm-cli"></a>

Depois que um administrador tiver as aprovações/assinaturas necessárias, conforme detalhado na seção anterior, ele poderá fornecer esse token ao cluster do AWS CloudHSM junto com uma das seguintes operações de gerenciamento de usuários:
+ **[criar](cloudhsm_cli-user-create.md)**
+ **[excluir](cloudhsm_cli-user-delete.md)**
+ **[change-password](cloudhsm_cli-user-change-password.md)**
+ **[user change-mfa](cloudhsm_cli-user-change-mfa.md)**

Para obter mais informações sobre como usar esses comandos, consulte [Gerenciamento de usuários com a CLI do CloudHSM](manage-hsm-users-chsm-cli.md).

Durante a transação, o token será aprovado no AWS CloudHSM cluster e executará a operação de gerenciamento de usuários solicitada. O sucesso da operação de gerenciamento de usuários depende tanto de um token de quórum válido aprovado quanto de uma operação válida de gerenciamento de usuários.

O administrador pode usar o token para apenas uma operação. Quando essa operação for bem-sucedida, o token não será mais válido. Para realizar outra operação de gerenciamento de usuários do HSM, o administrador deve repetir o processo descrito acima. Ou seja, o administrador deve obter um novo token de quorum, obter novas assinaturas dos aprovadores e, então, aprovar e consumir o novo token no HSM com a operação de gerenciamento de usuário solicitada.

**nota**  
O token de quórum só é válido enquanto sua sessão de login atual estiver aberta. Se você fizer log out da CLI do CloudHSM ou se a rede se desconectar, o token não será mais válido. Da mesma forma, um token autorizado só pode ser usado na CLI do CloudHSM. Ele não pode ser usado para autenticação em um aplicativo diferente.

**Example Criar um novo usuário como administrador**  
No comando do exemplo a seguir, um administrador logado cria um novo usuário no HSM:  

```
aws-cloudhsm > user create --username user1 --role crypto-user --approval /path/admin.token
Enter password:
Confirm password:
{
  "error_code": 0,
  "data": {
    "username": "user1",
    "role": "crypto-user"
  }
}
```
O administrador, então, insere o comando **user list** para confirmar a criação do novo usuário:  

```
aws-cloudhsm > user list
{
  "error_code": 0,
  "data": {
    "users": [
      {
        "username": "admin",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "admin2",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "admin3",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "admin4",
        "role": "admin",
        "locked": "false",
        "mfa": [],
        "quorum": [
          {
            "strategy": "token-sign",
            "status": "enabled"
          }
        ],
        "cluster-coverage": "full"
      },
      {
        "username": "user1",
        "role": "crypto-user",
        "locked": "false",
        "mfa": [],
        "quorum": [],
        "cluster-coverage": "full"
      },
      {
        "username": "app_user",
        "role": "internal(APPLIANCE_USER)",
        "locked": "false",
        "mfa": [],
        "quorum": [],
        "cluster-coverage": "full"
      }
    ]
  }
}
```
Se o administrador tentar executar outra operação de gerenciamento de usuário HSM, ele falhará com um erro de autenticação de quorum:  

```
aws-cloudhsm > user delete --username user1 --role crypto-user
{
  "error_code": 1,
  "data": "Quorum approval is required for this operation"
}
```
Conforme mostrado abaixo, o comando **quorum token-sign list** mostra que o administrador não tem tokens aprovados. Para realizar outra operação de gerenciamento de usuários do HSM, o administrador deve gerar um novo token de quórum, obter novas assinaturas dos aprovadores e executar a operação de gerenciamento de usuário desejada com o argumento --approval para fornecer o token de quórum a ser aprovado e consumido durante a execução da operação de gerenciamento de usuários.  

```
aws-cloudhsm > quorum token-sign list
{
  "error_code": 0,
  "data": {
    "tokens": []
  }
}
```

# Alterar o valor mínimo do quórum para usar a CLI do AWS CloudHSM CloudHSM
<a name="quorum-auth-chsm-cli-min-value"></a>

Depois de [definir o valor mínimo do quórum](quorum-auth-chsm-cli-first-time.md#quorum-admin-set-quorum-minimum-value-chsm-cli) para [administradores](understanding-users.md#admin) do CloudHSM, talvez seja necessário ajustar o valor mínimo do quórum. O HSM permite que você altere o valor mínimo de quórum somente quando o número de aprovadores é igual ou superior ao valor atual. Por exemplo, com um valor mínimo de dois (2) COs, pelo menos 2 (dois) COs deverão aprovar qualquer alteração.

**nota**  
O valor do quórum do serviço ao usuário deve sempre ser menor ou igual ao valor do quórum do serviço de quórum. Para obter mais informações sobre nomes de serviço, consulte [Nomes e tipos AWS CloudHSM de serviços compatíveis para autenticação de quórum com o CloudHSM CLI](quorum-auth-chsm-cli-service-names.md).

Para obter a aprovação do quorum para alterar o valor mínimo do quorum, você precisa de um *token de quorum* para **quorum service** usando o comando **quorum token-sign set-quorum-value**. Para gerar um token de quórum para o **quorum service** usando o comando **quorum token-sign set-quorum-value**, o serviço de quórum deve ser maior que um (1). Isso significa que, antes que você possa alterar o valor mínimo de quorum para o *serviço ao usuário*, talvez seja necessário alterar o valor mínimo do *serviço ao quorum*.

**Etapas para alterar o valor mínimo do quórum para administradores**

1. Inicie o modo interativo da CloudHSM CLI.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Usando a CloudHSM CLI, faça login como administrador.

   ```
   aws-cloudhsm > login --username <admin> --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "admin"
     }
   }
   ```

1. Verifique os valores mínimos do quórum atual:

   ```
   aws-cloudhsm > quorum token-sign list-quorum-values
   ```

1. Se o valor mínimo do quórum para o serviço de quórum for menor do que o valor para o serviço ao usuário, altere o valor do *serviço de quórum*:

   ```
   aws-cloudhsm > quorum token-sign set-quorum-value --service quorum --value <3>
   ```

1. [Gere um token de quórum](quorum-auth-chsm-cli-admin.md#quorum-admin-gen-token-chsm-cli) para o serviço de quórum.

1. [Obtenha aprovações (assinaturas) de outros admins](quorum-auth-chsm-cli-admin.md#quorum-admin-get-approval-signatures-chsm-cli).

1. [Aprove o token no cluster do CloudHSM e execute uma operação de gerenciamento de usuários. ](quorum-auth-chsm-cli-admin.md#quorum-admin-approve-token-chsm-cli). 

1. Altere o valor mínimo do quórum para o *serviço de usuário*:

   ```
   aws-cloudhsm > quorum token-sign set-quorum-value
   ```

**Example Ajustar os valores mínimos do *serviço de quórum***  

1. **Verifique os valores atuais**. O comando de exemplo a seguir mostra que o valor mínimo do quórum para o *serviço de usuário* atualmente é dois (2).

   ```
   aws-cloudhsm > quorum token-sign list-quorum-values
   {
     "error_code": 0,
     "data": {
       "user": 2,
       "quorum": 1
     }
   }
   ```

1. **Altere o valor do serviço de quórum**. Defina o valor mínimo do quórum para o *serviço de quórum* como igual ou maior do que o valor do *serviço de usuário*. Este exemplo define o valor mínimo do quórum para o *serviço de quórum* como dois (2), o mesmo valor definido para o *serviço de usuário* no exemplo anterior.

   ```
   aws-cloudhsm > quorum token-sign set-quorum-value --service quorum --value 2
   {
     "error_code": 0,
     "data": "Set quorum value successful"
   }
   ```

1. **Verifique as alterações**. Este comando mostra que o valor mínimo do quórum é agora dois (2) para o *serviço de usuário* e o *serviço de quórum*.

   ```
   aws-cloudhsm > quorum token-sign list-quorum-values
   {
     "error_code": 0,
     "data": {
       "user": 2,
       "quorum": 2
     }
   }
   ```

# Gerenciamento de usuários do HSM com o CloudHSM Management Utility (CMU)
<a name="manage-hsm-users-cmu"></a>

 Para gerenciar os usuários do módulo de segurança de hardware (HSM) AWS CloudHSM, você deve fazer login no HSM com o nome de usuário e a senha de um [oficial criptográfico](understanding-users-cmu.md#crypto-officer) (CO). Só COs pode gerenciar usuários. O HSM contém um CO padrão chamado admin. Você define a senha para admin quando [ativou o cluster](activate-cluster.md). 

Este tópico fornece step-by-step instruções e detalhes sobre o gerenciamento de usuários do HSM com o AWS CloudHSM Management Utility (CMU). 

**Topics**
+ [Pré-requisitos](understand-users.md)
+ [Tipos de usuário](understanding-users-cmu.md)
+ [Tabela de permissões](user-permissions-table-cmu.md)
+ [Criar usuários](create-users-cmu.md)
+ [Listar todos os usuários](list-users.md)
+ [Alterar senhas](change-user-password-cmu.md)
+ [Excluir usuários](delete-user.md)
+ [Gerenciar a 2FA para usuários](manage-2fa.md)
+ [Como usar o CMU para gerenciar a autenticação de quórum](quorum-authentication.md)

# Pré-requisitos para gerenciamento de usuários no Management Utility AWS CloudHSM
<a name="understand-users"></a>

Antes de usar o AWS CloudHSM Management Utility (CMU) para gerenciar usuários do módulo de segurança de hardware (HSM) em AWS CloudHSM, você deve preencher esses pré-requisitos. Os tópicos a seguir descrevem como começar a usar o CMU.

**Topics**
+ [Obtenha o endereço IP de um HSM em AWS CloudHSM](#user-cmu-prereq-ip)
+ [Usando o CMU com o Client SDK 3.2.1 e versões anteriores](#downlevel-cmu)
+ [Fazer o download de CloudHSM Management Utility](#get-cli-users-cmu)

## Obtenha o endereço IP de um HSM em AWS CloudHSM
<a name="user-cmu-prereq-ip"></a>

 Para usar o CMU, você deve usar a ferramenta de configuração para atualizar a configuração local. O CMU cria sua própria conexão com o cluster e essa conexão *não* reconhece o cluster. Para rastrear as informações do cluster, o CMU mantém um arquivo de configuração local. Isso significa que *toda vez* que você usa o CMU, você deve primeiro atualizar o arquivo de configuração executando a ferramenta de linha de comando [configure](configure-tool.md) com o `--cmu` parâmetro. Se você estiver usando o Client SDK 3.2.1 ou anterior, deverá usar um parâmetro diferente de. `--cmu` Para obter mais informações, consulte [Usando o CMU com o Client SDK 3.2.1 e versões anteriores](#downlevel-cmu). 

 O parâmetro `--cmu` exige que você adicione o endereço IP de um HSM no seu cluster. Se você tiver vários HSMs, poderá usar qualquer endereço IP. Isso garante que o CMU possa propagar todas as alterações que você fizer em todo o cluster. Lembre-se de que o CMU usa seu arquivo local para rastrear as informações do cluster. Se o cluster mudou desde a última vez em que você usou o CMU de um host específico, você deve adicionar essas alterações ao arquivo de configuração local armazenado nesse host. Nunca adicione ou remova um HSM enquanto estiver usando o CMU. 

**Para obter um endereço IP para um HSM (console)**

1. Abra o AWS CloudHSM console em [https://console.aws.amazon.com/cloudhsm/casa](https://console.aws.amazon.com/cloudhsm/home).

1. Para alterar a região da Amazon Web Services, use o seletor de região no canto superior direito da página.

1. Para abrir a página de detalhes do cluster, na tabela do cluster, escolha o ID do cluster.

1. Para obter o endereço IP, vá até a HSMs guia. Para IPv4 clusters, escolha um endereço listado em ** IPv4 Endereço ENI**. **Para clusters de pilha dupla, use o endereço ENI IPv4 ou ENI. IPv6 ** 

**Para obter um endereço IP para um HSM (AWS CLI)**
+ Obtenha o endereço IP de um HSM usando o comando **[describe-clusters](https://docs.aws.amazon.com/cli/latest/reference/cloudhsmv2/describe-clusters.html)** do AWS CLI. Na saída do comando, o endereço IP do HSMs são os valores de `EniIp` e `EniIpV6` (se for um cluster de pilha dupla). 

  ```
  $ aws cloudhsmv2 describe-clusters
  {
      "Clusters": [
          { ... }
              "Hsms": [
                  {
  ...
                      "EniIp": "10.0.0.9",
  ...
                  },
                  {
  ...
                      "EniIp": "10.0.1.6",
                      "EniIpV6": "2600:113f:404:be09:310e:ed34:3412:f733",
  ...
  ```

## Usando o CMU com o Client SDK 3.2.1 e versões anteriores
<a name="downlevel-cmu"></a>

Com o Client SDK 3.3.0, AWS CloudHSM foi adicionado suporte ao `--cmu` parâmetro, o que simplifica o processo de atualização do arquivo de configuração para CMU. Se você estiver usando uma versão do CMU do Client SDK 3.2.1 ou anterior, deverá continuar usando `-m` os parâmetros `-a` e para atualizar o arquivo de configuração. Para obter mais informações sobre estes parâmetros, consulte [Configurar ferramenta](configure-tool.md).

## Fazer o download de CloudHSM Management Utility
<a name="get-cli-users-cmu"></a>

A versão mais recente do CMU está disponível para tarefas de gerenciamento de usuários do HSM, independentemente de você estar usando o Client SDK 5 e o Client SDK 3. 

**Para fazer o download e instalar o CMU**
+ Faça download e instale o CMU.

------
#### [ Amazon Linux ]

  ```
  $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-mgmt-util-latest.el6.x86_64.rpm
  ```

  ```
  $ sudo yum install ./cloudhsm-mgmt-util-latest.el6.x86_64.rpm
  ```

------
#### [ Amazon Linux 2 ]

  ```
  $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-mgmt-util-latest.el7.x86_64.rpm
  ```

  ```
  $ sudo yum install ./cloudhsm-mgmt-util-latest.el7.x86_64.rpm
  ```

------
#### [ CentOS 7.8\$1 ]

  ```
  $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-mgmt-util-latest.el7.x86_64.rpm
  ```

  ```
  $ sudo yum install ./cloudhsm-mgmt-util-latest.el7.x86_64.rpm
  ```

------
#### [ CentOS 8.3\$1 ]

  ```
  $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL8/cloudhsm-mgmt-util-latest.el8.x86_64.rpm
  ```

  ```
  $ sudo yum install ./cloudhsm-mgmt-util-latest.el8.x86_64.rpm
  ```

------
#### [ RHEL 7 (7.8\$1) ]

  ```
  $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-mgmt-util-latest.el7.x86_64.rpm
  ```

  ```
  $ sudo yum install ./cloudhsm-mgmt-util-latest.el7.x86_64.rpm
  ```

------
#### [ RHEL 8 (8.3\$1) ]

  ```
  $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL8/cloudhsm-mgmt-util-latest.el8.x86_64.rpm
  ```

  ```
  $ sudo yum install ./cloudhsm-mgmt-util-latest.el8.x86_64.rpm
  ```

------
#### [ Ubuntu 16.04 LTS ]

  ```
  $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Xenial/cloudhsm-mgmt-util_latest_amd64.deb
  ```

  ```
  $ sudo apt install ./cloudhsm-mgmt-util_latest_amd64.deb
  ```

------
#### [ Ubuntu 18.04 LTS ]

  ```
  $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Bionic/cloudhsm-mgmt-util_latest_u18.04_amd64.deb
  ```

  ```
  $ sudo apt install ./cloudhsm-mgmt-util_latest_u18.04_amd64.deb
  ```

------
#### [ Windows Server 2012 ]

  1. Faça o download do [CloudHSM Management Utility](https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Windows/AWSCloudHSMManagementUtil-latest.msi).

  1. Execute o instalador CMU (**AWSCloudHSMManagementUtil-latest.msi**) com privilégios administrativos do Windows.

------
#### [ Windows Server 2012 R2 ]

  1. Faça o download do [CloudHSM Management Utility](https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Windows/AWSCloudHSMManagementUtil-latest.msi).

  1. Execute o instalador CMU (**AWSCloudHSMManagementUtil-latest.msi**) com privilégios administrativos do Windows.

------
#### [ Windows Server 2016 ]

  1. Faça o download do [CloudHSM Management Utility](https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Windows/AWSCloudHSMManagementUtil-latest.msi).

  1. Execute o instalador CMU (**AWSCloudHSMManagementUtil-latest.msi**) com privilégios administrativos do Windows.

------

# Tipos de usuário do HSM para o AWS CloudHSM Management Utility
<a name="understanding-users-cmu"></a>

 A maioria das operações que você executa no módulo de segurança de hardware (HSM) exige as credenciais de um usuário do AWS CloudHSM *HSM*. O HSM autentica cada usuário do HSM e cada usuário do HSM tem um *tipo* que determina quais operações você pode realizar no HSM como esse usuário. 

**nota**  
Os usuários do HSM são diferentes dos usuários do IAM. Os usuários do IAM que têm as credenciais corretas podem criar interagindo com recursos HSMs por meio da API da AWS. Depois que o HSM for criado, você deverá usar as credenciais de usuário do HSM para autenticar as operações no HSM.

**Topics**
+ [Responsável pela pré-criptografia (PRECO)](#preco)
+ [Responsável pela criptografia (CO)](#crypto-officer)
+ [Crypto user (CU) (usuário de criptografia)](#crypto-user-cmu)
+ [Usuário de dispositivo (AU)](#appliance-user-cmu)

## Responsável pela pré-criptografia (PRECO)
<a name="preco"></a>

Tanto no utilitário de gerenciamento de nuvem (CMU) quanto no utilitário de gerenciamento de chaves (KMU), o PRECO é um usuário temporário que existe somente no primeiro HSM em um cluster AWS CloudHSM . O primeiro HSM em um novo cluster contém um usuário PRECO indicando que esse cluster nunca foi ativado. Para [ativar um cluster](activate-cluster.md), você executa a cloudhsm-cli e executa o comando **cluster activate**. Faça login no HSM e altere a senha do PRECO. Ao alterar a senha, o usuário PRECO se torna um responsável pela criptografia (CO). 

## Responsável pela criptografia (CO)
<a name="crypto-officer"></a>

Tanto no utilitário de gerenciamento de nuvem (CMU) quanto no utilitário de gerenciamento de chaves (KMU), um responsável pela criptografia (CO) pode realizar operações de gerenciamento de usuários. Por exemplo, eles podem criar e excluir usuários e alterar suas senhas. Para obter mais informações sobre usuários CO, consulte [Tabela de permissões de usuário do HSM para o AWS CloudHSM Management Utility](user-permissions-table-cmu.md). Quando você ativa um novo cluster, o usuário muda de [Precrypto Officer (PRECO](#preco)) para Crypto Officer (CO). 

## Crypto user (CU) (usuário de criptografia)
<a name="crypto-user-cmu"></a>

Um usuário de criptografia (CU) pode realizar as seguintes operações de criptografia e gerenciamento de chaves.
+ **Gerenciamento de chaves**: criar, excluir, compartilhar, importar e exportar chaves criptográficas.
+ **Operações criptográficas**: use chaves criptográficas para criptografia, descriptografia, assinatura, verificação e muito mais.

Para obter mais informações, consulte o [Tabela de permissões de usuário do HSM para o AWS CloudHSM Management Utility](user-permissions-table-cmu.md).

## Usuário de dispositivo (AU)
<a name="appliance-user-cmu"></a>

O usuário do equipamento (AU) pode realizar operações de clonagem e sincronização no seu cluster. HSMs AWS CloudHSM usa a AU para sincronizar o HSMs em um AWS CloudHSM cluster. O AU existe em todos os HSMs fornecidos por AWS CloudHSM, e tem permissões limitadas. Para obter mais informações, consulte o [Tabela de permissões de usuário do HSM para o AWS CloudHSM Management Utility](user-permissions-table-cmu.md).

AWS não pode realizar nenhuma operação no seu HSMs . AWS não pode visualizar ou modificar seus usuários ou chaves e não pode realizar nenhuma operação criptográfica usando essas chaves.

# Tabela de permissões de usuário do HSM para o AWS CloudHSM Management Utility
<a name="user-permissions-table-cmu"></a>

A tabela a seguir lista as operações do HSM classificadas pelo tipo de usuário ou sessão do HSM que pode realizar a operação no AWS CloudHSM.


|  | Responsável pela criptografia (CO) | Usuário de criptografia (CU) | Usuário de dispositivo (AU) | Sessão não autenticada | 
| --- | --- | --- | --- | --- | 
| Obter informações¹ básicas do cluster | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | 
| Alterar a própria senha | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | Não aplicável | 
| Alterar a senha de qualquer usuário | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Sim | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | 
| Adicionar, remover usuários | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Sim | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | 
| Obter status³ de sincronização | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | 
| Extrair, inserir objetos mascarados⁴ | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Yes (Sim) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | 
| Funções de gerenciamento de chaves⁵ | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Sim | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | 
| Criptografar, descriptografar | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Sim | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | 
| Assinar, verificar | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Sim | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | 
| Gere resumos e HMACs | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[Yes\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-yes.png) Sim | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) No (Não) | ![\[No\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/images/icon-no.png) Não | 
+  [1] As informações básicas do cluster incluem o número de pessoas HSMs no cluster e o endereço IP, modelo, número de série, ID do dispositivo, ID do firmware, etc. 
+  [2] O usuário pode obter um conjunto de arquivos de resumo (hashes) que correspondem às chaves no HSM. Um aplicativo pode comparar esses conjuntos de resumos para entender o status de sincronização HSMs em um cluster. 
+  [3] Objetos mascarados são chaves criptografadas antes de sair do HSM. Elas não podem ser descriptografadas fora do HSM. Somente são descriptografadas depois de serem inseridas em um HSM que esteja no mesmo cluster que o HSM do qual foram extraídas. Um aplicativo pode extrair e inserir objetos mascarados para sincronizá-los HSMs em um cluster. 
+  [4] As funções de gerenciamento de chaves incluem criar, excluir, encapsular, desencapsular e modificar os atributos das chaves. 

# Crie usuários do HSM usando o AWS CloudHSM Management Utility
<a name="create-users-cmu"></a>

Use **createUser** no Utilitário AWS CloudHSM de Gerenciamento (CMU) para criar novos usuários no módulo de segurança de hardware (HSM). Você deve fazer login como CO para criar um usuário.

**Para criar um novo usuário CO**

1. Use a ferramenta de configuração para atualizar a configuração do CMU.

------
#### [ Linux ]

   ```
   $ sudo /opt/cloudhsm/bin/configure --cmu <IP address>
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\configure.exe" --cmu <IP address>
   ```

------

1. Iniciar o CMU.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\cloudhsm_mgmt_util.exe" C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_mgmt_util.cfg
   ```

------

1. Faça login no console do HSM como usuário CO.

   ```
   aws-cloudhsm > loginHSM CO admin co12345
   ```

   Certifique-se de que o número de conexões das listas CMU corresponda ao número de conexões HSMs no cluster. Caso contrário, saia e comece de novo.

1. Use **createUser** para criar um usuário de CO chamado **example\$1officer** com uma senha de **password1**.

   ```
   aws-cloudhsm > createUser CO example_officer password1
   ```

   O CMU avisa sobre a operação de criação de usuário.

   ```
   *************************CAUTION********************************
   This is a CRITICAL operation, should be done on all nodes in the
   cluster. AWS does NOT synchronize these changes automatically with the
   nodes on which this operation is not executed or failed, please
   ensure this operation is executed on all nodes in the cluster.
   ****************************************************************
   
   Do you want to continue(y/n)?
   ```

1. Digite **y**.

**Para criar um novo usuário CU**

1. Use a ferramenta de configuração para atualizar a configuração do CMU.

------
#### [ Linux ]

   ```
   $ sudo /opt/cloudhsm/bin/configure --cmu <IP address>
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\configure.exe" --cmu <IP address>
   ```

------

1. Iniciar o CMU.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\cloudhsm_mgmt_util.exe" C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_mgmt_util.cfg
   ```

------

1. Faça login no console do HSM como usuário CO.

   ```
   aws-cloudhsm > loginHSM CO admin co12345
   ```

   Certifique-se de que o número de conexões das listas CMU corresponda ao número de conexões HSMs no cluster. Caso contrário, saia e comece de novo.

1. Use **createUser** para criar um usuário de CU chamado **example\$1user** com uma senha de **password1**.

   ```
   aws-cloudhsm > createUser CU example_user password1
   ```

   O CMU avisa sobre a operação de criação de usuário.

   ```
   *************************CAUTION********************************
   This is a CRITICAL operation, should be done on all nodes in the
   cluster. AWS does NOT synchronize these changes automatically with the
   nodes on which this operation is not executed or failed, please
   ensure this operation is executed on all nodes in the cluster.
   ****************************************************************
   
   Do you want to continue(y/n)?
   ```

1. Digite **y**.

Para obter mais informações sobre **createUser**, consulte [CreateUser](cloudhsm_mgmt_util-createUser.md).

# Listar todos os usuários do HSM no cluster usando o AWS CloudHSM Management Utility
<a name="list-users"></a>

 Use o **listUsers** comando no Utilitário de AWS CloudHSM Gerenciamento (CMU) para listar todos os usuários no AWS CloudHSM cluster. Você não precisa fazer login para executar **listUsers** e todos os tipos de usuário podem listar usuários. 

**Para listar todos os usuários no cluster**

1. Use a ferramenta de configuração para atualizar a configuração do CMU.

------
#### [ Linux ]

   ```
   $ sudo /opt/cloudhsm/bin/configure --cmu <IP address>
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\configure.exe" --cmu <IP address>
   ```

------

1. Iniciar o CMU.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\cloudhsm_mgmt_util.exe" C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_mgmt_util.cfg
   ```

------

1.  Use **listUsers** para listar todos os usuários no cluster. 

   ```
   aws-cloudhsm > listUsers
   ```

   O CMU lista todos os usuários no cluster.

   ```
   Users on server 0(10.0.2.9):
   Number of users found:4
   
       User Id             User Type       User Name                          MofnPubKey    LoginFailureCnt         2FA
            1              AU              app_user                                 NO               0               NO
            2              CO              example_officer                          NO               0               NO
            3              CU              example_user                             NO               0               NO
   Users on server 1(10.0.3.11):
   Number of users found:4
   
       User Id             User Type       User Name                          MofnPubKey    LoginFailureCnt         2FA
            1              AU              app_user                                 NO               0               NO
            2              CO              example_officer                          NO               0               NO
            3              CU              example_user                             NO               0               NO
   Users on server 2(10.0.1.12):
   Number of users found:4
   
       User Id             User Type       User Name                          MofnPubKey    LoginFailureCnt         2FA
            1              AU              app_user                                 NO               0               NO
            2              CO              example_officer                          NO               0               NO
            3              CU              example_user                             NO               0               NO
   ```

Para obter mais informações sobre **listUsers**, consulte [listUsers](cloudhsm_mgmt_util-listUsers.md).

# Altere as senhas de usuário do HSM usando o AWS CloudHSM Management Utility
<a name="change-user-password-cmu"></a>

 Use **changePswd** no Utilitário AWS CloudHSM de Gerenciamento (CMU) para alterar a senha de um usuário do módulo de segurança de hardware (HSM). 

 Os tipos de usuários e as senhas diferenciam maiúsculas e minúsculas, mas os nomes de usuários não.

 CO, usuários de criptografia (CUs) e usuários do dispositivo (AUs) podem alterar suas próprias senhas. Para alterar a senha de outro usuário, você deve fazer login como um CO. Não é possível alterar a senha de um usuário que está conectado no momento. 

**Para alterar sua senha**

1. Use a ferramenta de configuração para atualizar a configuração do CMU.

------
#### [ Linux ]

   ```
   $ sudo /opt/cloudhsm/bin/configure --cmu <IP address>
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\configure.exe" --cmu <IP address>
   ```

------

1. Iniciar o CMU.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\cloudhsm_mgmt_util.exe" C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_mgmt_util.cfg
   ```

------

1. Fazer login em HSMs.

   ```
   aws-cloudhsm > loginHSM CO admin co12345
   ```

   Certifique-se de que o número de conexões das listas CMU corresponda ao número de conexões HSMs no cluster. Caso contrário, saia e comece de novo.

1. Use **changePswd** para alterar sua senha. 

   ```
   aws-cloudhsm > changePswd CO example_officer <new password>
   ```

   O CMU solicita a operação de alteração de senha.

   ```
   *************************CAUTION********************************
   This is a CRITICAL operation, should be done on all nodes in the
   cluster. AWS does NOT synchronize these changes automatically with the
   nodes on which this operation is not executed or failed, please
   ensure this operation is executed on all nodes in the cluster.
   ****************************************************************
   
   Do you want to continue(y/n)?
   ```

1. Digite **y**.

   O CMU solicita a operação de alteração de senha.

   ```
   Changing password for example_officer(CO) on 3 nodes
   ```

**Para alterar a senha de outro usuário**

1. Use a ferramenta de configuração para atualizar a configuração do CMU.

------
#### [ Linux ]

   ```
   $ sudo /opt/cloudhsm/bin/configure --cmu <IP address>
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\configure.exe" --cmu <IP address>
   ```

------

1. Iniciar o CMU.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\cloudhsm_mgmt_util.exe" C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_mgmt_util.cfg
   ```

------

1. Faça login no console do HSM como usuário CO.

   ```
   aws-cloudhsm > loginHSM CO admin co12345
   ```

   Certifique-se de que o número de conexões das listas CMU corresponda ao número de conexões HSMs no cluster. Caso contrário, saia e comece de novo.

1.  Use **changePswd** para alterar a senha de outro usuário. 

   ```
   aws-cloudhsm > changePswd CU example_user <new password>
   ```

   O CMU solicita a operação de alteração de senha.

   ```
   *************************CAUTION********************************
   This is a CRITICAL operation, should be done on all nodes in the
   cluster. AWS does NOT synchronize these changes automatically with the
   nodes on which this operation is not executed or failed, please
   ensure this operation is executed on all nodes in the cluster.
   ****************************************************************
   
   Do you want to continue(y/n)?
   ```

1. Digite **y**.

   O CMU solicita a operação de alteração de senha.

   ```
   Changing password for example_user(CU) on 3 nodes
   ```

Para obter mais informações sobre o **changePswd**, consulte [changePswd](cloudhsm_mgmt_util-changePswd.md).

# Excluir usuários do HSM usando o AWS CloudHSM Management Utility
<a name="delete-user"></a>

Use **deleteUser** no Utilitário AWS CloudHSM de Gerenciamento (CMU) para excluir um usuário do módulo de segurança de hardware (HSM). Você deve fazer login como CO para excluir outro usuário.

**dica**  
 Você não pode excluir usuários de criptografia (CU) que possuem chaves. 

**Para excluir um usuário**

1. Use a ferramenta de configuração para atualizar a configuração do CMU.

------
#### [ Linux ]

   ```
   $ sudo /opt/cloudhsm/bin/configure --cmu <IP address>
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\configure.exe" --cmu <IP address>
   ```

------

1. Iniciar o CMU.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\cloudhsm_mgmt_util.exe" C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_mgmt_util.cfg
   ```

------

1. Faça login no console do HSM como usuário CO.

   ```
   aws-cloudhsm > loginHSM CO admin co12345
   ```

   Certifique-se de que o número de conexões das listas CMU corresponda ao número de conexões HSMs no cluster. Caso contrário, saia e comece de novo.

1.  Use **deleteUser** para excluir um usuário. 

   ```
   aws-cloudhsm > deleteUser CO example_officer
   ```

   A CMU exclui o usuário.

   ```
   Deleting user example_officer(CO) on 3 nodes
   deleteUser success on server 0(10.0.2.9)
   deleteUser success on server 1(10.0.3.11)
   deleteUser success on server 2(10.0.1.12)
   ```

Para obter mais informações sobre **deleteUser**, consulte [deleteUser](cloudhsm_mgmt_util-deleteUser.md).

# Gerencie 2FA para usuários usando o AWS CloudHSM Management Utility
<a name="manage-2fa"></a>

Para aumentar a segurança, você pode configurar a autenticação de dois fatores (2FA) para ajudar a proteger o cluster do AWS CloudHSM . Você só pode ativar o 2FA para responsáveis pela criptografia (CO). 

Ao fazer login em um cluster com uma conta de módulo de serviço de hardware (HSM) habilitada para 2FA, você fornece sua senha ao cloudhsm\$1mgmt\$1util (CMU), o primeiro fator, o que você sabe, e a CMU fornece um token e solicita que você assine o token. Para fornecer o segundo fator, o que você tem, você assina o token com uma chave privada de um par de chaves que já criou e associou ao usuário do HSM. Para acessar o cluster, você fornece o token assinado à CMU.

**nota**  
Você não pode ativar a 2FA para usuários de criptografia (CU) ou aplicativos. A autenticação de dois fatores (2FA) é somente para usuários de CO.

**Topics**
+ [Autenticação de quórum](quorum-2fa.md)
+ [Requisitos de pares de chaves](enable-2fa-kms.md)
+ [Criar usuários](create-2fa.md)
+ [Gerenciar a 2FA para usuários](rotate-2fa.md)
+ [Desabilitar a 2FA](disable-2fa.md)
+ [Referência da configuração](reference-2fa.md)

# Autenticação de quorum e 2FA em AWS CloudHSM clusters usando o Management Utility AWS CloudHSM
<a name="quorum-2fa"></a>

O cluster usa a mesma chave para autenticação de quórum e para autenticação de dois fatores (2FA). Isso significa que um usuário com 2FA ativado está efetivamente registrado para M-of-N-access -control (MoFN). Para usar com sucesso a autenticação 2FA e de quórum para o mesmo usuário do HSM, considere os seguintes pontos:
+ Se estiver usando a autenticação de quórum para um usuário hoje, você deve usar o mesmo par de chaves que criou para o usuário do quórum para habilitar a 2FA para ele. 
+ Se você adicionar o requisito de 2FA para um usuário não 2FA que não seja um usuário de autenticação de quorum, registre esse usuário como um usuário MoFN com autenticação 2FA.
+ Se você remover o requisito de 2FA ou alterar a senha de um usuário de 2FA que também seja usuário de autenticação de quórum, também removerá o registro do usuário do quórum como usuário do MoFN.
+ Se você remover o requisito de 2FA ou alterar a senha de um usuário de 2FA que também é usuário de autenticação de quórum, mas *ainda quiser que esse usuário participe da autenticação de quórum*, deverá registrá-lo novamente como usuário do MoFN.

Para obter mais informações sobre a autenticação de quórum, consulte [Como usar o CMU para gerenciar a autenticação de quórum](quorum-authentication.md).

# Requisitos de pares de chaves 2FA para AWS CloudHSM usar o AWS CloudHSM Management Utility
<a name="enable-2fa-kms"></a>

Para habilitar a autenticação de dois fatores (2FA) para um usuário do módulo de segurança de AWS CloudHSM hardware (HSM), use uma chave que atenda aos seguintes requisitos. 

Você pode criar um novo par de chaves ou usar uma chave existente que atenda aos seguintes requisitos. 
+ Tipo de chave: assimétrico
+ Uso da chave: assinar e verificar
+ Especificação da chave: RSA\$12048
+ O algoritmo de assinatura inclui: 
  + `sha256WithRSAEncryption`

**nota**  
Se você estiver usando a autenticação de quórum ou planeja usar a autenticação de quórum, consulte. [Autenticação de quorum e 2FA em AWS CloudHSM clusters usando o Management Utility AWS CloudHSM](quorum-2fa.md)

# Crie usuários com 2FA habilitado para usuários do AWS CloudHSM Management Utility
<a name="create-2fa"></a>

Use o AWS CloudHSM Management Utility CMU (CMU) e o key pair para criar um novo usuário do crypto office (CO) com a autenticação de dois fatores (2FA) ativada.

**Para criar usuários de CO com 2FA habilitado**

1. Em um terminal, execute as seguintes etapas:

   1. Acesse seu HSM e faça login no utilitário de gerenciamento do CloudHSM:

      ```
      /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
      ```

   1. Faça login como CO e use o comando a seguir para criar um novo usuário do MFA com 2FA:

      ```
      aws-cloudhsm > createUser CO MFA <CO USER PASSWORD> -2fa /home/ec2-user/authdata
      *************************CAUTION********************************
      This is a CRITICAL operation, should be done on all nodes in the
      cluster. AWS does NOT synchronize these changes automatically with the 
      nodes on which this operation is not executed or failed, please 
      ensure this operation is executed on all nodes in the cluster.  
      ****************************************************************
      
      Do you want to continue(y/n)? y
      
      Creating User exampleuser3(CO) on 1 nodesAuthentication data written to: "/home/ec2-user/authdata"Generate Base64-encoded signatures for SHA256 digests in the authentication datafile. 
      To generate the signatures, use the RSA private key, which is the second factor ofauthentication for this user. Paste the signatures and the corresponding public keyinto the authentication data file and provide 
      the file path below.Leave this field blank to use the path initially provided.Enter filename:
      ```

   1. Deixe o terminal acima nesse estado. Não pressione enter nem insira nenhum nome de arquivo.

1. Em outro terminal, execute as seguintes etapas:

   1. Acesse seu HSM e faça login no utilitário de gerenciamento do CloudHSM:

      ```
      /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
      ```

   1. Gere um par de chaves público-privado usando os seguintes comandos:

      ```
      openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
      ```

      ```
      openssl rsa -pubout -in private_key.pem -out public_key.pem
      ```

   1. Execute o comando a seguir para instalar um recurso de consulta json para extrair o resumo do arquivo authdata:

      ```
      sudo yum install jq
      ```

   1. Para extrair o valor do resumo, primeiro encontre os seguintes dados no arquivo authdata:

      ```
      {
        "Version":"1.0",
        "PublicKey":"",
        "Data":[
          {
            "HsmId": <"HSM ID">,
            "Digest": <"DIGEST">,
            "Signature": ""
          }
        ]
      }
      ```
**nota**  
O resumo obtido é codificado em base64. No entanto, para assinar o resumo, primeiro você precisa que o arquivo seja decodificado e depois assinado. O comando a seguir decodificará o resumo e armazenará o conteúdo decodificado em “digest1.bin”  

      ```
      cat authdata | jq '.Data[0].Digest' | cut -c2- | rev | cut -c2- | rev | base64 -d > digest1.bin
      ```

   1. Converta o conteúdo da chave pública, adicionando "\$1n" e removendo espaços conforme mostrado aqui:

      ```
      -----BEGIN PUBLIC KEY-----\n<PUBLIC KEY>\n-----END PUBLIC KEY----- 
      ```
**Importante**  
O comando acima mostra como "\$1n" é adicionado imediatamente depois de **BEGIN PUBLIC KEY-----**, os espaços entre "\$1n" e o primeiro caractere da chave pública são removidos, "\$1n" é adicionado antes **-----END PUBLIC KEY** e os espaços são removidos entre "\$1n" e o final da chave pública.

      Esse é o formato PEM para chave pública aceito no arquivo authdata.

   1. Cole o conteúdo do formato pem da chave pública na seção de chave pública no arquivo authdata.

      ```
      vi authdata
      ```

      ```
      {
        "Version":"1.0",
        "PublicKey":"-----BEGIN PUBLIC KEY-----\n<"PUBLIC KEY">\n-----END PUBLIC KEY-----",
        "Data":[    
          {      
            "HsmId":<"HSM ID">,
            "Digest":<"DIGEST">,      
            "Signature": ""   
          }  
        ]
      }
      ```

   1. Assine um arquivo de token usando o seguinte comando:

      ```
      openssl pkeyutl -sign -in digest1.bin -inkey private_key.pem -pkeyopt digest:sha256 | base64
      Output Expected:
      <"THE SIGNATURE">
      ```
**nota**  
Conforme mostrado no comando acima, use **openssl pkeyutl** em vez de **openssl dgst** para assinar.

   1. Adicione o resumo assinado no arquivo Authdata no campo “Assinatura”.

      ```
      vi authdata
      ```

      ```
      {
          "Version": "1.0",
          "PublicKey": "-----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY-----",
          "Data": [
              {
                  "HsmId": <"HSM ID">,
                  "Digest": <"DIGEST">,
                  "Signature": <"Kkdl ... rkrvJ6Q==">
              },
              {
                  "HsmId": <"HSM ID">,
                  "Digest": <"DIGEST">,
                  "Signature": <"K1hxy ... Q261Q==">
              }
          ]
      }
      ```

1. Volte para o primeiro terminal e pressione **Enter**:

   ```
   Generate Base64-encoded signatures for SHA256 digests in the authentication datafile. To generate the signatures, use the RSA private key, 
   which is the second factor ofauthentication for this user. Paste the signatures and the corresponding public keyinto the authentication data file and provide the file path below. Leave this field blank to use the path initially provided. 
   Enter filename: >>>>> Press Enter here
   
   createUser success on server 0(10.0.1.11)
   ```

# Gerencie 2FA para usuários de HSM usando o AWS CloudHSM Management Utility
<a name="rotate-2fa"></a>

Use **changePswd** no Utilitário AWS CloudHSM de Gerenciamento (CMU) para modificar a autenticação de dois fatores (2FA) para um usuário. Cada vez que você habilita a 2FA, deve fornecer uma chave pública para logins de 2FA.

O comando **changePswd** executa um ou todos os seguintes cenários: 
+ Alterar a senha para um usuário de 2FA
+ Alterar a senha para um usuário que não seja 2FA
+ Adicionar 2FA a um usuário que não seja 2FA
+ Remover 2FA de um usuário de 2FA
+ Rotacionar a chave para um usuário de 2FA

Você também pode combinar tarefas. Por exemplo, você pode remover a 2FA de um usuário e alterar a senha ao mesmo tempo, ou pode alternar a chave 2FA e alterar a senha do usuário.

**Para alterar senhas ou alternar chaves para usuários de CO com 2FA habilitado**

1. Use o CMU para fazer login no HSM como um CO com 2FA ativado.

1.  Use **changePswd** para alterar a senha ou alternar a chave de usuários de CO com 2FA habilitado. Use o `-2fa` parâmetro e inclua um local no sistema de arquivos para que o sistema grave o `authdata` arquivo. Esse arquivo inclui um resumo para cada HSM no cluster.

   ```
   aws-cloudhsm > changePswd CO example-user <new-password> -2fa /path/to/authdata
   ```

   O CMU solicita que você use a chave privada para assinar os resumos no `authdata` arquivo e retornar as assinaturas com a chave pública.

1. Use a chave privada para assinar os resumos no `authdata` arquivo, adicionar as assinaturas e a chave pública ao `authdata` arquivo formatado em JSON e, em seguida, fornecer à CMU a localização do `authdata` arquivo. Para obter mais informações, consulte [Referência de configuração para 2FA com o AWS CloudHSM Management Utility](reference-2fa.md).
**nota**  
O cluster usa a mesma chave para autenticação de quórum e de 2FA. Se você estiver usando a autenticação de quórum ou planeja usar a autenticação de quórum, consulte. [Autenticação de quorum e 2FA em AWS CloudHSM clusters usando o Management Utility AWS CloudHSM](quorum-2fa.md)

# Desative a 2FA para usuários do HSM usando o AWS CloudHSM Management Utility
<a name="disable-2fa"></a>

Use o Utilitário AWS CloudHSM de Gerenciamento (CMU) para desativar a autenticação de dois fatores (2FA) para usuários do módulo de segurança de hardware (HSM) em. AWS CloudHSM

**Para desativar 2FA para usuários de CO com 2FA ativado**

1. Use o CMU para fazer login no HSM como um CO com 2FA ativado.

1.  Use **changePswd** para remover 2FA de usuários de CO com 2FA habilitado. 

   ```
   aws-cloudhsm > changePswd CO example-user <new password>
   ```

   A CMU solicita a operação de alteração de senha.
**nota**  
Se você remover o requisito de 2FA ou alterar a senha de um usuário de 2FA que também seja usuário de autenticação de quórum, também removerá o registro do usuário do quórum como usuário do MoFN. Para obter mais informações sobre usuários do quórum e 2FA, consulte [Autenticação de quorum e 2FA em AWS CloudHSM clusters usando o Management Utility AWS CloudHSM](quorum-2fa.md).

1. Digite **y**.

   A CMU confirma a operação de alteração de senha.

# Referência de configuração para 2FA com o AWS CloudHSM Management Utility
<a name="reference-2fa"></a>

Veja a seguir um exemplo das propriedades da autenticação de dois fatores (2FA) no `authdata` arquivo para a solicitação gerada pelo AWS CloudHSM Management Utility (CMU) e para suas respostas. 

```
{
    "Version": "1.0",
    "PublicKey": "-----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY-----",
    "Data": [
        {
            "HsmId": "hsm-lgavqitns2a",
            "Digest": "k5O1p3f6foQRVQH7S8Rrjcau6h3TYqsSdr16A54+qG8=",
            "Signature": "Kkdl ... rkrvJ6Q=="
        },
        {
            "HsmId": "hsm-lgavqitns2a",
            "Digest": "IyBcx4I5Vyx1jztwvXinCBQd9lDx8oQe7iRrWjBAi1w=",
            "Signature": "K1hxy ... Q261Q=="
        }
    ]
}
```

**Dados**  
Nó de nível superior. Contém um nó subordinado para cada HSM no cluster. Aparece nas solicitações e respostas de todos os comandos 2FA.

**Resumo**  
Isso é o que você deve assinar para fornecer o segundo fator de autenticação. CMU gerada em solicitações para todos os comandos 2FA.

**HsmId**  
O ID do seu HSM. Aparece nas solicitações e respostas de todos os comandos 2FA.

**PublicKey**  
A parte da chave pública do par de chaves que você gerou foi inserida como string formatada em PEM. Você insere isso nas respostas para **createUser** e **changePswd**.

**Assinatura**  
O resumo assinado codificado em Base 64. Você insere isso nas respostas para todos os comandos 2FA.

**Version (Versão)**  
A versão do arquivo dos dados de autenticação formatado em JSON. Aparece nas solicitações e respostas de todos os comandos 2FA.

# Como usar o CloudHSM Management Utility (CMU) para gerenciar a autenticação de quórum (controle de acesso M ou N)
<a name="quorum-authentication"></a>

O HSMs em seu AWS CloudHSM cluster oferece suporte à autenticação de quorum, que também é conhecida como controle de acesso M of N. Com a autenticação de quorum, nenhum usuário único no HSM pode fazer operações controladas pelo quorum no HSM. Em vez disso, um número mínimo de usuários do HSM (pelo menos 2) deve cooperar para realizar essas operações. Com a autenticação de quorum, você pode adicionar uma camada adicional de proteção, exigindo aprovação de mais de um usuário do HSM.

A autenticação de quorum pode controlar as seguintes operações:
+ Gerenciamento de usuários do HSM por [agentes de criptografia (COs)](understanding-users-cmu.md#crypto-officer) — Criação e exclusão de usuários do HSM e alteração da senha de um usuário do HSM diferente. Para obter mais informações, consulte [Gerenciamento de usuários com autenticação de quorum habilitada para AWS CloudHSM o Management Utility](quorum-authentication-crypto-officers.md).

Observe as seguintes informações adicionais sobre como usar a autenticação de quorum no AWS CloudHSM.
+ Um usuário do HSM pode assinar seu próprio token de quorum, ou seja, o usuário solicitante pode fornecer uma das aprovações necessárias para a autenticação de quorum.
+ Você escolhe o número mínimo de aprovadores de quorum para operações controladas por quorum. O menor número que é possível escolher é dois (2) e o maior número que é possível escolher é oito (8).
+ O HSM pode armazenar até 1024 tokens de quorum. Se o HSM já tiver 1024 tokens quando você tentar criar um novo, ele removerá um dos tokens expirados. Por padrão, tokens expiram dez minutos após sua criação.
+ O cluster usa a mesma chave para autenticação de quórum e para autenticação de dois fatores (2FA). Para obter mais informações sobre como usar a autenticação de quórum e a 2FA, consulte [Autenticação de quórum e 2FA](quorum-2fa.md).

Os seguintes tópicos fornecem mais informações sobre a autenticação de quorum no AWS CloudHSM.

**Topics**
+ [Processo de autenticação de quórum](quorum-authentication-overview.md)
+ [Configuração pela primeira vez](quorum-authentication-crypto-officers-first-time-setup.md)
+ [Gerenciamento de usuários com quórum (M de N)](quorum-authentication-crypto-officers.md)
+ [Altere o valor mínimo](quorum-authentication-crypto-officers-change-minimum-value.md)

# Processo de autenticação de quorum para AWS CloudHSM o Management Utility
<a name="quorum-authentication-overview"></a>

As etapas a seguir resumem os processos de autenticação de quorum. Para conhecer as etapas e ferramentas específicas, consulte [Gerenciamento de usuários com autenticação de quorum habilitada para AWS CloudHSM o Management Utility](quorum-authentication-crypto-officers.md).

1. Cada usuário do HSM cria uma chave assimétrica para assinatura. Isso é feito fora do HSM, tomando cuidado para proteger a chave apropriadamente.

1. Cada usuário do HSM faz login no HSM e registra a parte pública de sua chave de assinatura (a chave pública) no HSM.

1. Quando um usuário do HSM quer fazer uma operação controlada por quorum, ele faz login no HSM e obtém um *token de quorum*.

1. O usuário do HSM fornece esse token de quorum a um ou mais usuários do HSM e solicita sua aprovação.

1. Os outros usuários do HSM aprovam usando suas chaves para assinar criptograficamente o token de quorum. Isso ocorre fora do HSM.

1. Quando o usuário do HSM tiver o número de aprovações necessárias, ele fará login no HSM e fornecerá o token de quorum e as aprovações (assinaturas) ao HSM.

1. O HSM usa as chaves públicas registradas de cada assinante para verificar as assinaturas. Se as assinaturas forem válidas, o HSM aprovará o token.

1. O usuário do HSM agora pode fazer uma operação controlada por quorum.

# Configure a autenticação de quórum para agentes de criptografia AWS CloudHSM
<a name="quorum-authentication-crypto-officers-first-time-setup"></a>

Os tópicos a seguir descrevem as etapas que você deve concluir para configurar seu módulo de segurança de hardware (HSM) para que [os agentes de AWS CloudHSM criptografia (COs)](understanding-users-cmu.md#crypto-officer) possam usar a autenticação de quorum. Você precisa executar essas etapas somente uma vez ao configurar a autenticação de quorum pela primeira vez para. COs Depois de concluir essas etapas, consulte [Gerenciamento de usuários com autenticação de quorum habilitada para AWS CloudHSM o Management Utility](quorum-authentication-crypto-officers.md).

**Topics**
+ [Pré-requisitos](#quorum-crypto-officers-prerequisites)
+ [Etapa 1. Criar e registrar uma chave para assinatura](#quorum-crypto-officers-create-and-register-key)
+ [Etapa 2. Definir o valor mínimo do quorum no HSM](#quorum-crypto-officers-set-quorum-minimum-value)

## Pré-requisitos
<a name="quorum-crypto-officers-prerequisites"></a>

Para entender esse exemplo, você deve estar familiarizado com a [ferramenta da linha de comando do CMUcloudhsm\$1mgmt\$1util](cloudhsm_mgmt_util.md). Neste exemplo, o AWS CloudHSM cluster tem dois HSMs, cada um com o mesmo COs, conforme mostrado na saída a seguir do **listUsers** comando. Para obter mais informações sobre como criar usuários, consulte [Usuários do HSM](manage-hsm-users.md).

```
aws-cloudhsm > listUsers
Users on server 0(10.0.2.14):
Number of users found:7

    User Id             User Type       User Name                          MofnPubKey    LoginFailureCnt         2FA
         1              PRECO           admin                                    NO               0               NO
         2              AU              app_user                                 NO               0               NO
         3              CO              officer1                                 NO               0               NO
         4              CO              officer2                                 NO               0               NO
         5              CO              officer3                                 NO               0               NO
         6              CO              officer4                                 NO               0               NO
         7              CO              officer5                                 NO               0               NO
Users on server 1(10.0.1.4):
Number of users found:7

    User Id             User Type       User Name                          MofnPubKey    LoginFailureCnt         2FA
         1              PRECO           admin                                    NO               0               NO
         2              AU              app_user                                 NO               0               NO
         3              CO              officer1                                 NO               0               NO
         4              CO              officer2                                 NO               0               NO
         5              CO              officer3                                 NO               0               NO
         6              CO              officer4                                 NO               0               NO
         7              CO              officer5                                 NO               0               NO
```

## Etapa 1. Criar e registrar uma chave para assinatura
<a name="quorum-crypto-officers-create-and-register-key"></a>

Para usar a autenticação de quórum, cada CO deve executar *todas* as etapas a seguir: 

**Topics**
+ [Criar um par de chaves RSA](#mofn-key-pair-create)
+ [Crie e assine um token de registro](#mofn-registration-token)
+ [Registrar uma chave pública no HSM](#mofn-register-key)

### Criar um par de chaves RSA
<a name="mofn-key-pair-create"></a>

Existem muitas maneiras diferentes de criar e proteger um par de chaves. O exemplo a seguir mostra como fazer isso com o [OpenSSL](https://www.openssl.org/).

**Example Crie uma chave privada com o OpenSSL**  
O exemplo a seguir demonstra como usar o OpenSSL para criar uma chave RSA de 2048 bits protegida por um código de acesso. Para usar esse exemplo, *officer1.key* substitua pelo nome do arquivo em que você deseja armazenar a chave.  

```
$ openssl genrsa -out <officer1.key> -aes256 2048
        Generating RSA private key, 2048 bit long modulus
.....................................+++
.+++
e is 65537 (0x10001)
Enter pass phrase for officer1.key:
Verifying - Enter pass phrase for officer1.key:
```

Em seguida, gere a chave pública usando a chave privada que você acabou de criar.

**Example Crie uma chave pública com o OpenSSL**  
O exemplo a seguir demonstra como usar o OpenSSL para criar uma chave pública a partir da chave privada que você acabou de criar.   

```
$ openssl rsa -in officer1.key -outform PEM -pubout -out officer1.pub
Enter pass phrase for officer1.key:
writing RSA key
```

### Crie e assine um token de registro
<a name="mofn-registration-token"></a>

 Você cria um token e o assina com a chave privada que acabou de gerar na etapa anterior.

**Example Crie um token**  
O token de registro é apenas um arquivo com dados randômicos que não excedem o tamanho máximo de 245 bytes. Você assina o token com a chave privada para demonstrar que tem acesso à chave privada. O comando a seguir usa echo para redirecionar uma string para um arquivo.  

```
$ echo <token to be signed> > officer1.token
```

Assine o token e salve-o em um arquivo de assinatura. Você precisará do token assinado, do token não assinado e da chave pública para registrar o CO como usuário do MoFN no HSM. 

**Example Assine o token**  
Use o OpenSSL e a chave privada para assinar o token de registro e criar o arquivo de assinatura.  

```
$ openssl dgst -sha256 \
    -sign officer1.key \
    -out officer1.token.sig officer1.token
```

### Registrar uma chave pública no HSM
<a name="mofn-register-key"></a>

Depois de criar uma chave, o CO deve registrar a parte pública dela (a chave pública) no HSM.

**Para registrar uma chave pública no HSM**

1. Use o comando a seguir para iniciar a ferramenta de linha de comando cloudhsm\$1mgmt\$1util.

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

1. Use o comando **loginHSM** para fazer login nos HSMs como CO. Para obter mais informações, consulte [Gerenciamento de usuários do HSM com o CloudHSM Management Utility (CMU)](manage-hsm-users-cmu.md).

1. Use o comando **[registerQuorumPubKey](cloudhsm_mgmt_util-registerQuorumPubKey.md)** para registrar a chave pública. Para obter mais informações, consulte o exemplo a seguir ou use o comando **help registerQuorumPubKey**.

**Example Registrar uma chave pública no HSM**  
O exemplo a seguir mostra como usar o comando **registerQuorumPubKey** na ferramenta da linha de comando cloudhsm\$1mgmt\$1util para registrar a chave pública de um CO no HSM. Para usar esse comando, o CO deve estar conectado no HSM. Substitua estes valores pelos seus próprios:  

```
aws-cloudhsm > registerQuorumPubKey CO <officer1> <officer1.token> <officer1.token.sig> <officer1.pub>
*************************CAUTION********************************
This is a CRITICAL operation, should be done on all nodes in the
cluster. AWS does NOT synchronize these changes automatically with the
nodes on which this operation is not executed or failed, please
ensure this operation is executed on all nodes in the cluster.
****************************************************************

Do you want to continue(y/n)? y
registerQuorumPubKey success on server 0(10.0.2.14)
```  
**<officer1.token>**  
O caminho para um arquivo que contém um token de registro não assinado. Pode ter qualquer dado aleatório com tamanho máximo de arquivo de 245 bytes.   
Obrigatório: Sim  
**<officer1.token.sig>**  
O caminho para um arquivo que contém o hash assinado pelo mecanismo SHA256 \$1PKCS do token de registro.  
Obrigatório: Sim  
**<officer1.pub>**  
O caminho para o arquivo que contém a chave pública de um par de chaves assimétricas RSA-2048. Use a chave privada para assinar o token de registro.   
Obrigatório: Sim
Depois de todos COs registrarem suas chaves públicas, a saída do **listUsers** comando mostra isso na `MofnPubKey` coluna, conforme mostrado no exemplo a seguir.  

```
aws-cloudhsm > listUsers
Users on server 0(10.0.2.14):
Number of users found:7

    User Id             User Type       User Name                          MofnPubKey    LoginFailureCnt         2FA
         1              PRECO           admin                                    NO               0               NO
         2              AU              app_user                                 NO               0               NO
         3              CO              officer1                                YES               0               NO
         4              CO              officer2                                YES               0               NO
         5              CO              officer3                                YES               0               NO
         6              CO              officer4                                YES               0               NO
         7              CO              officer5                                YES               0               NO
Users on server 1(10.0.1.4):
Number of users found:7

    User Id             User Type       User Name                          MofnPubKey    LoginFailureCnt         2FA
         1              PRECO           admin                                    NO               0               NO
         2              AU              app_user                                 NO               0               NO
         3              CO              officer1                                YES               0               NO
         4              CO              officer2                                YES               0               NO
         5              CO              officer3                                YES               0               NO
         6              CO              officer4                                YES               0               NO
         7              CO              officer5                                YES               0               NO
```

## Etapa 2. Definir o valor mínimo do quorum no HSM
<a name="quorum-crypto-officers-set-quorum-minimum-value"></a>

*Para usar a autenticação de quórum COs, um CO deve fazer login no HSM e definir o *valor mínimo do quórum, também conhecido como valor* m.* Esse é o número mínimo de aprovações de CO necessárias para realizar operações de gerenciamento de usuários do HSM. Qualquer CO no HSM pode definir o valor mínimo do quórum, inclusive COs aquele que não registrou uma chave para assinatura. Você pode alterar o valor mínimo de quorum a qualquer momento. Para obter mais informações, consulte [Altere o valor mínimo](quorum-authentication-crypto-officers-change-minimum-value.md).

**Para definir o valor mínimo do quorum no HSM**

1. Use o comando a seguir para iniciar a ferramenta de linha de comando cloudhsm\$1mgmt\$1util.

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

1. Use o comando **loginHSM** para fazer login nos HSMs como CO. Para obter mais informações, consulte [Gerenciamento de usuários do HSM com o CloudHSM Management Utility (CMU)](manage-hsm-users-cmu.md).

1. Use o comando **setMValue** para definir o valor mínimo do quorum. Para obter mais informações, consulte o exemplo a seguir ou use o comando **help setMValue**.

**Example Definir o valor mínimo do quorum no HSM**  
Este exemplo usa um valor mínimo de quorum de dois. Você pode escolher qualquer valor de dois (2) a oito (8), até o número total de COs no HSM. Neste exemplo, o HSM tem seis COs, então o valor máximo possível é seis.  
Para usar o comando de exemplo a seguir, substitua o número final (*2*) pelo valor mínimo de quórum preferido.  

```
aws-cloudhsm > setMValue 3 <2>
*************************CAUTION********************************
This is a CRITICAL operation, should be done on all nodes in the
cluster. AWS does NOT synchronize these changes automatically with the
nodes on which this operation is not executed or failed, please
ensure this operation is executed on all nodes in the cluster.
****************************************************************

Do you want to continue(y/n)? y
Setting M Value(2) for 3 on 2 nodes
```

No exemplo anterior, o primeiro número (3) identifica o *serviço HSM* cujo valor mínimo de quorum você está configurando.

A tabela a seguir lista os identificadores de serviço do HSM junto com seus nomes, descrições e comandos incluídos no serviço.


| Identificadores de dispositivo | Nome do serviço | Descrição do serviço | Comandos do HSM | 
| --- | --- | --- | --- | 
| 3 | USER\$1MGMT | Gerenciamento de usuários do HSM |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-authentication-crypto-officers-first-time-setup.html)  | 
| 4 | MISC\$1CO | Serviço de CO diverso |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-authentication-crypto-officers-first-time-setup.html)  | 

Para obter o valor mínimo de quorum para um serviço, use o comando **getMValue**, como no exemplo a seguir.

```
aws-cloudhsm > getMValue 3
MValue of service 3[USER_MGMT] on server 0 : [2]
MValue of service 3[USER_MGMT] on server 1 : [2]
```

A saída do comando **getMValue** anterior mostra que o valor mínimo de quorum para as operações de gerenciamento de usuários do HSM (serviço 3) é agora dois.

Depois de concluir essas etapas, consulte [Gerenciamento de usuários com autenticação de quorum habilitada para AWS CloudHSM o Management Utility](quorum-authentication-crypto-officers.md).

# Gerenciamento de usuários com autenticação de quorum habilitada para AWS CloudHSM o Management Utility
<a name="quorum-authentication-crypto-officers"></a>

Um [oficial de AWS CloudHSM criptografia (CO)](understanding-users-cmu.md#crypto-officer) no módulo de segurança de hardware (HSM) pode configurar a autenticação de quorum para as seguintes operações no HSM:
+ Criar usuários do HSM
+ Excluir usuários do HSM
+ Alterar a senha de outro usuário do HSM

Depois que o HSM estiver configurado para autenticação de quórum, COs não poderá realizar as operações de gerenciamento de usuários do HSM por conta própria. O exemplo a seguir mostra a saída quando um CO tenta criar um novo usuário no HSM. O comando falha com um erro `RET_MXN_AUTH_FAILED`, o que indica que a autenticação de quorum falhou.

```
aws-cloudhsm > createUser CU user1 password
*************************CAUTION********************************
This is a CRITICAL operation, should be done on all nodes in the
cluster. AWS does NOT synchronize these changes automatically with the
nodes on which this operation is not executed or failed, please
ensure this operation is executed on all nodes in the cluster.
****************************************************************

Do you want to continue(y/n)? y
Creating User user1(CU) on 2 nodes
createUser failed: RET_MXN_AUTH_FAILED
creating user on server 0(10.0.2.14) failed

Retry/Ignore/Abort?(R/I/A): A
```

Para realizar uma operação de gerenciamento de usuários do HSM, um CO deve completar as seguintes tarefas:

1. [Obtenha um *token de quorum*](#quorum-crypto-officers-get-token).

1. [Obtenha aprovações (assinaturas) de outros](#quorum-crypto-officers-get-approval-signatures). COs

1. [Aprove o token no HSM](#quorum-crypto-officers-approve-token).

1. [Realize a operação de gerenciamento de usuários do HSM](#quorum-crypto-officers-use-token).

Se você ainda não configurou o HSM para autenticação de quorum COs, faça isso agora. Para obter mais informações, consulte [Configuração pela primeira vez](quorum-authentication-crypto-officers-first-time-setup.md).

## Etapa 1. Obter um token de quorum
<a name="quorum-crypto-officers-get-token"></a>

Primeiro, o CO deve usar a ferramenta da linha de comando cloudhsm\$1mgmt\$1util para solicitar um *token de quorum*.

**Para obter um token de quorum**

1. Use o comando a seguir para iniciar a ferramenta de linha de comando cloudhsm\$1mgmt\$1util.

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

1. Use o comando **loginHSM** para fazer login nos HSMs como CO. Para obter mais informações, consulte [Gerenciamento de usuários do HSM com o CloudHSM Management Utility (CMU)](manage-hsm-users-cmu.md).

1. Use o comando **getToken** para obter um token de quorum. Para obter mais informações, consulte o exemplo a seguir ou use o comando **help getToken**.

**Example – Obter um token de quorum**  
Este exemplo obtém um token de quorum para o CO com o nome de usuário officer1 e salva o token em um arquivo chamado `officer1.token`. Para usar o exemplo de comando, substitua esses valores por seus próprios:  
+ *officer1*— O nome do CO que está recebendo o token. Este deve ser o mesmo CO que está conectado ao HSM e executando esse comando.
+ *officer1.token*— O nome do arquivo a ser usado para armazenar o token de quorum.
No comando a seguir, `3` identifica o *serviço* para o qual você pode usar o token que você está recebendo. Nesse caso, o token é para operações de gerenciamento de usuários do HSM (serviço 3). Para obter mais informações, consulte [Etapa 2. Definir o valor mínimo do quorum no HSM](quorum-authentication-crypto-officers-first-time-setup.md#quorum-crypto-officers-set-quorum-minimum-value).  

```
aws-cloudhsm > getToken 3 officer1 officer1.token
getToken success on server 0(10.0.2.14)
Token:
Id:1
Service:3
Node:1
Key Handle:0
User:officer1
getToken success on server 1(10.0.1.4)
Token:
Id:1
Service:3
Node:0
Key Handle:0
User:officer1
```

## Etapa 2. Obtenha assinaturas ao aprovar COs
<a name="quorum-crypto-officers-get-approval-signatures"></a>

Um CO que tenha um token de quorum deve obter o token aprovado por outro. COs Para aprovar, o outro COs usa a chave de assinatura para assinar criptograficamente o token. Eles fazem isso fora do HSM.

Existem muitas maneiras diferentes de assinar o token. O exemplo a seguir mostra como fazer isso com o [OpenSSL](https://www.openssl.org/). Para usar uma ferramenta de assinatura diferente, certifique-se de que essa ferramenta use a chave privada (chave de assinatura) do CO para assinar um resumo SHA-256 do token.

**Example — Obtenha assinaturas ao aprovar COs**  
Neste exemplo, o CO que possui o token (officer1) precisa de pelo menos duas aprovações. Os comandos de exemplo a seguir mostram como dois COs podem usar o OpenSSL para assinar criptograficamente o token.  
No primeiro comando, officer1 assina o seu próprio token. Para usar os seguintes comandos de exemplo, substitua esses valores por seus próprios:  
+ *officer1.key*e *officer2.key* — O nome do arquivo que contém a chave de assinatura do CO.
+ *officer1.token.sig1*e *officer1.token.sig2* — O nome do arquivo a ser usado para armazenar a assinatura. Certifique-se de salvar cada assinatura em um arquivo diferente.
+ *officer1.token*— O nome do arquivo que contém o token que o CO está assinando.

```
$ openssl dgst -sha256 -sign officer1.key -out officer1.token.sig1 officer1.token
Enter pass phrase for officer1.key:
```
No comando a seguir, officer2 assina o mesmo token.  

```
$ openssl dgst -sha256 -sign officer2.key -out officer1.token.sig2 officer1.token
Enter pass phrase for officer2.key:
```

## Etapa 3. Aprovar o token assinado no HSM
<a name="quorum-crypto-officers-approve-token"></a>

Depois que um CO obtém o número mínimo de aprovações (assinaturas) de outro COs, ele ou ela deve aprovar o token assinado no HSM.

**Para aprovar o token assinado no HSM**

1. Crie um arquivo de aprovação de token. Para obter mais informações, veja o exemplo a seguir.

1. Use o comando a seguir para iniciar a ferramenta de linha de comando cloudhsm\$1mgmt\$1util.

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

1. Use o comando **loginHSM** para fazer login nos HSMs como CO. Para obter mais informações, consulte [Gerenciamento de usuários do HSM com o CloudHSM Management Utility (CMU)](manage-hsm-users-cmu.md).

1. Use o comando **approveToken** para aprovar o token assinado, passando o arquivo de aprovação de token. Para obter mais informações, veja o exemplo a seguir.

**Example Crie um arquivo de aprovação de token e aprove o token assinado no HSM**  
O arquivo de aprovação de token é um arquivo de texto em um formato específico exigido pelo HSM. O arquivo contém informações sobre o token, seus aprovadores e as assinaturas dos aprovadores. O seguinte mostra um exemplo de arquivo de aprovação de token.  

```
# For "Multi Token File Path", type the path to the file that contains
# the token. You can type the same value for "Token File Path", but
# that's not required. The "Token File Path" line is required in any
# case, regardless of whether you type a value.
Multi Token File Path = officer1.token;
Token File Path = ;

# Total number of approvals
Number of Approvals = 2;

# Approver 1
# Type the approver's type, name, and the path to the file that
# contains the approver's signature.
Approver Type = 2; # 2 for CO, 1 for CU
Approver Name = officer1;
Approval File = officer1.token.sig1;

# Approver 2
# Type the approver's type, name, and the path to the file that
# contains the approver's signature.
Approver Type = 2; # 2 for CO, 1 for CU
Approver Name = officer2;
Approval File = officer1.token.sig2;
```
Depois de criar o arquivo de aprovação de token, o CO usa a ferramenta da linha de comando cloudhsm\$1mgmt\$1util para fazer login no HSM. O CO usa o comando **approveToken** para aprovar o token, como mostrado no exemplo a seguir. *approval.txt*Substitua pelo nome do arquivo de aprovação do token.  

```
aws-cloudhsm > approveToken approval.txt
approveToken success on server 0(10.0.2.14)
approveToken success on server 1(10.0.1.4)
```
Quando esse comando é bem-sucedido, o HSM aprovou o token de quorum. Para verificar o status de um token, use o comando **listTokens**, conforme mostrado no exemplo a seguir. A saída do comando mostra que o token possui o número necessário de aprovações.  
O tempo de validade de token indica quanto tempo o token é garantido para persistir no HSM. Mesmo após o período de validade do token (zero segundos), você ainda pode usá-lo.  

```
aws-cloudhsm > listTokens
=====================
    Server 0(10.0.2.14)
=====================
-------- Token - 0 ----------
Token:
Id:1
Service:3
Node:1
Key Handle:0
User:officer1
Token Validity: 506 sec
Required num of approvers : 2
Current num of approvals : 2
Approver-0: officer1
Approver-1: officer2
Num of tokens = 1

=====================
    Server 1(10.0.1.4)
=====================
-------- Token - 0 ----------
Token:
Id:1
Service:3
Node:0
Key Handle:0
User:officer1
Token Validity: 506 sec
Required num of approvers : 2
Current num of approvals : 2
Approver-0: officer1
Approver-1: officer2
Num of tokens = 1

listTokens success
```

## Etapa 4: Usar o token para operações de gerenciamento
<a name="quorum-crypto-officers-use-token"></a>

Depois de um CO ter um token com o número necessário de aprovações, como mostrado na seção anterior, ele pode executar uma das seguintes operações de gerenciamento de usuários do HSM:
+ Criar um usuário do HSM com o comando [createUser](cloudhsm_mgmt_util-createUser.md)
+ Excluir um usuário do HSM com o comando **deleteUser**
+ Alterar a senha de um usuário diferente do HSM com o comando **changePswd**

Para obter mais informações sobre como usar esses comandos, consulte [Usuários do HSM](manage-hsm-users.md).

O CO pode usar o token para apenas uma operação. Quando essa operação for bem-sucedida, o token não será mais válido. Para fazer outra operação de gerenciamento de usuários do HSM, o CO deve obter um novo token de quorum, obter novas assinaturas dos aprovadores e aprovar o novo token no HSM.

**nota**  
O token MofN só é válido enquanto sua sessão de login atual estiver aberta. Se você fizer log out do cloudhsm\$1mgmt\$1util ou se a conexão de rede for desconectada, o token não será mais válido. Da mesma forma, um token autorizado só pode ser usado em cloudhsm\$1mgmt\$1util. Ele não pode ser usado para autenticação em um aplicativo diferente.

No comando do exemplo a seguir, o CO cria um novo usuário no HSM.

```
aws-cloudhsm > createUser CU user1 <password>
*************************CAUTION********************************
This is a CRITICAL operation, should be done on all nodes in the
cluster. AWS does NOT synchronize these changes automatically with the
nodes on which this operation is not executed or failed, please
ensure this operation is executed on all nodes in the cluster.
****************************************************************

Do you want to continue(y/n)? y
Creating User user1(CU) on 2 nodes
```

Depois que o comando anterior for bem-sucedido, um comando **listUsers** subsequente mostrará o novo usuário.

```
aws-cloudhsm > listUsers
Users on server 0(10.0.2.14):
Number of users found:8

    User Id             User Type       User Name                          MofnPubKey    LoginFailureCnt         2FA
         1              PCO             admin                                    NO               0               NO
         2              AU              app_user                                 NO               0               NO
         3              CO              officer1                                YES               0               NO
         4              CO              officer2                                YES               0               NO
         5              CO              officer3                                YES               0               NO
         6              CO              officer4                                YES               0               NO
         7              CO              officer5                                YES               0               NO
         8              CU              user1                                    NO               0               NO
Users on server 1(10.0.1.4):
Number of users found:8

    User Id             User Type       User Name                          MofnPubKey    LoginFailureCnt         2FA
         1              PCO             admin                                    NO               0               NO
         2              AU              app_user                                 NO               0               NO
         3              CO              officer1                                YES               0               NO
         4              CO              officer2                                YES               0               NO
         5              CO              officer3                                YES               0               NO
         6              CO              officer4                                YES               0               NO
         7              CO              officer5                                YES               0               NO
         8              CU              user1                                    NO               0               NO
```

Se o CO tentar executar outra operação de gerenciamento de usuário HSM, ele falhará com um erro de autenticação de quorum, como mostrado no exemplo a seguir.

```
aws-cloudhsm > deleteUser CU user1
Deleting user user1(CU) on 2 nodes
deleteUser failed: RET_MXN_AUTH_FAILED
deleteUser failed on server 0(10.0.2.14)

Retry/rollBack/Ignore?(R/B/I): I
deleteUser failed: RET_MXN_AUTH_FAILED
deleteUser failed on server 1(10.0.1.4)

Retry/rollBack/Ignore?(R/B/I): I
```

O comando **listTokens** mostra que o CO não possui tokens aprovados, como mostrado no exemplo a seguir. Para realizar outra operação de gerenciamento de usuários do HSM, o CO deve obter um novo token de quorum, obter novas assinaturas dos aprovadores e aprovar o novo token no HSM.

```
aws-cloudhsm > listTokens
=====================
    Server 0(10.0.2.14)
=====================
Num of tokens = 0

=====================
    Server 1(10.0.1.4)
=====================
Num of tokens = 0

listTokens success
```

# Altere o valor mínimo do quórum com AWS CloudHSM o Management Utility
<a name="quorum-authentication-crypto-officers-change-minimum-value"></a>

Depois de [definir o valor mínimo do quórum](quorum-authentication-crypto-officers-first-time-setup.md#quorum-crypto-officers-set-quorum-minimum-value) para que [os agentes AWS CloudHSM criptográficos (COs)](understanding-users-cmu.md#crypto-officer) possam usar a autenticação de quórum, talvez você queira alterar o valor mínimo do quórum. O HSM permite que você altere o valor mínimo de quorum somente quando o número de aprovadores é igual ou superior ao valor mínimo do quorum atual. Por exemplo, se o valor mínimo do quórum for dois, pelo menos dois COs devem ser aprovados para alterar o valor mínimo do quórum.

Para obter a aprovação do quorum para alterar o valor mínimo do quorum, você precisa de um *token de quorum* para o comando **setMValue** (serviço 4). Para obter um token de quorum para o comando **setMValue** (serviço 4), o valor mínimo de quorum para o serviço 4 deve ser maior que um. Isso significa que antes de alterar o valor mínimo do quórum para COs (serviço 3), talvez seja necessário alterar o valor mínimo do quórum para o serviço 4.

A tabela a seguir lista os identificadores de serviço do HSM junto com seus nomes, descrições e comandos incluídos no serviço.


| Identificadores de dispositivo | Nome do serviço | Descrição do serviço | Comandos do HSM | 
| --- | --- | --- | --- | 
| 3 | USER\$1MGMT | Gerenciamento de usuários do HSM |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-authentication-crypto-officers-change-minimum-value.html)  | 
| 4 | MISC\$1CO | Serviço de CO diverso |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/quorum-authentication-crypto-officers-change-minimum-value.html)  | 

**Para alterar o valor mínimo do quorum para oficiais de criptografia**

1. Use o comando a seguir para iniciar a ferramenta de linha de comando cloudhsm\$1mgmt\$1util.

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

1. Use o comando **loginHSM** para fazer login nos HSMs como CO. Para obter mais informações, consulte [Gerenciamento de usuários do HSM com o CloudHSM Management Utility (CMU)](manage-hsm-users-cmu.md).

1. Use o comando **getMValue** para obter o valor mínimo de quorum para o serviço 3. Para obter mais informações, veja o exemplo a seguir.

1. Use o comando **getMValue** para obter o valor mínimo de quorum para o serviço 4. Para obter mais informações, veja o exemplo a seguir.

1. Se o valor mínimo de quorum para o serviço 4 for menor que o valor para o serviço 3, use o comando **setMValue** para alterar o valor do serviço 4. Altere o valor do serviço 4 para um que seja igual ou superior ao valor do serviço 3. Para obter mais informações, veja o exemplo a seguir.

1. [Obtenha um *token de quorum*](quorum-authentication-crypto-officers.md#quorum-crypto-officers-get-token), tendo o cuidado de especificar o serviço 4 como o serviço para o qual você pode usar o token.

1. [Obtenha aprovações (assinaturas) de outros](quorum-authentication-crypto-officers.md#quorum-crypto-officers-get-approval-signatures). COs

1. [Aprove o token no HSM](quorum-authentication-crypto-officers.md#quorum-crypto-officers-approve-token).

1. Use o **setMValue** comando para alterar o valor mínimo do quórum para o serviço 3 (operações de gerenciamento de usuários realizadas por COs).

**Example Obter valores mínimos de quorum e alterar o valor do serviço 4**  
O comando de exemplo a seguir mostra que o valor mínimo do quorum para o serviço 3 é atualmente dois.  

```
aws-cloudhsm > getMValue 3
MValue of service 3[USER_MGMT] on server 0 : [2]
MValue of service 3[USER_MGMT] on server 1 : [2]
```
O comando de exemplo a seguir mostra que o valor mínimo de quorum para o serviço 4 é atualmente um.  

```
aws-cloudhsm > getMValue 4
MValue of service 4[MISC_CO] on server 0 : [1]
MValue of service 4[MISC_CO] on server 1 : [1]
```
Para alterar o valor mínimo do quorum para o serviço 4, use o comando **setMValue**, definindo um valor igual ou superior ao valor do serviço 3. O exemplo a seguir define o valor mínimo do quorum para o serviço 4 como dois (2), o mesmo valor definido para o serviço 3.  

```
aws-cloudhsm > setMValue 4 2
*************************CAUTION********************************
This is a CRITICAL operation, should be done on all nodes in the
cluster. AWS does NOT synchronize these changes automatically with the
nodes on which this operation is not executed or failed, please
ensure this operation is executed on all nodes in the cluster.
****************************************************************

Do you want to continue(y/n)? y
Setting M Value(2) for 4 on 2 nodes
```
Os seguintes comandos mostram que o valor mínimo do quorum é agora dois para o serviço 3 e o serviço 4.  

```
aws-cloudhsm > getMValue 3
MValue of service 3[USER_MGMT] on server 0 : [2]
MValue of service 3[USER_MGMT] on server 1 : [2]
```

```
aws-cloudhsm > getMValue 4
MValue of service 4[MISC_CO] on server 0 : [2]
MValue of service 4[MISC_CO] on server 1 : [2]
```