

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

# 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\_data**: 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\_data.
   + **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