

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

# 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
     }
   }
   ```