

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