

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Gestione degli utenti con autenticazione del quorum abilitata per AWS CloudHSM Management Utility
<a name="quorum-authentication-crypto-officers"></a>

Un [ufficiale addetto alla AWS CloudHSM crittografia (CO)](understanding-users-cmu.md#crypto-officer) del modulo di sicurezza hardware (HSM) può configurare l'autenticazione quorum per le seguenti operazioni sull'HSM:
+ Creazione di utenti HSM
+ Eliminazione di utenti HSM
+ Modifica della password di un altro utente HSM

Dopo aver configurato l'HSM per l'autenticazione del quorum, COs non può eseguire autonomamente le operazioni di gestione degli utenti HSM. Nell'esempio seguente è mostrato l'output dopo che un CO ha tentato di creare un nuovo utente nell'HSM. Il comando ha esito negativo con un errore `RET_MXN_AUTH_FAILED`, che indica che l'autenticazione del quorum non è stata effettuata correttamente.

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

Per svolgere un'operazione di gestione degli utenti HSM, i CO devono completare le seguenti attività:

1. [Ottenere un *token del quorum*](#quorum-crypto-officers-get-token).

1. [Ottieni approvazioni (](#quorum-crypto-officers-get-approval-signatures)firme) da altri. COs

1. [Approvare il token sul modulo HSM](#quorum-crypto-officers-approve-token).

1. [Svolgere l'operazione di gestione degli utenti HSM](#quorum-crypto-officers-use-token).

Se non hai ancora configurato l'HSM per l'autenticazione quorum per, fallo ora. COs Per ulteriori informazioni, consulta [Prima configurazione](quorum-authentication-crypto-officers-first-time-setup.md).

## Passaggio 1. Ottenere un token del quorum
<a name="quorum-crypto-officers-get-token"></a>

Per prima cosa il CO deve utilizzare lo strumento a riga di comando cloudhsm\$1mgmt\$1util per richiedere un *token del quorum*.

**Per ottenere un token del quorum**

1. Per avviare lo strumento a riga di comando cloudhsm\$1mgmt\$1util, utilizza il comando seguente.

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

1. Utilizza il comando **loginHSM** per effettuare l'accesso all'HSM come CO. Per ulteriori informazioni, consulta [Gestione degli utenti HSM con CloudHSM Management Utility (CMU)](manage-hsm-users-cmu.md).

1. Utilizza il comando **getToken** per ottenere un token del quorum. Per ulteriori informazioni, vedi l'esempio seguente oppure utilizza il comando **help getToken**.

**Example - Ottenere un token del quorum**  
In questo esempio si ottiene un token del quorum per il CO con nome utente officer1, che viene salvato nel file `officer1.token`. Per utilizzare il comando di esempio, sostituisci i valori i tuoi personali:  
+ *officer1*— Il nome del CO che riceve il token. Deve essere lo stesso CO che ha eseguito l'accesso all'HSM e sta eseguendo il comando.
+ *officer1.token*— Il nome del file da utilizzare per archiviare il token del quorum.
Nel comando seguente, `3` identifica il *servizio* per cui potrai utilizzare il token ottenuto. In questo caso, il token è destinato alle operazioni di gestione degli utenti HSM (servizio 3). Per ulteriori informazioni, consulta [Passaggio 2. Impostazione del valore minimo del quorum sull'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
```

## Passaggio 2. Ottieni firme dopo l'approvazione COs
<a name="quorum-crypto-officers-get-approval-signatures"></a>

Un CO che ha un quorum token deve ottenere l'approvazione del token da altri. COs Per dare la propria approvazione, l'altro COs usa la propria chiave di firma per firmare crittograficamente il token. Tale operazione viene svolta esternamente all'HSM.

Sono disponibili vari modi per firmare il token. L'esempio seguente mostra come eseguire questa operazione con [OpenSSL](https://www.openssl.org/). Per utilizzare un altro strumento di firma, assicurati che lo strumento utilizzi la chiave privata del CO (chiave di firma) per firmare un digest SHA-256 del token.

**Example — Ottieni firme dopo l'approvazione COs**  
In questo esempio, il CO che dispone del token (officer1) necessita di almeno due approvazioni. I seguenti comandi di esempio mostrano come due persone COs possono utilizzare OpenSSL per firmare crittograficamente il token.  
Nel primo comando, officer1 firma il proprio token. Per utilizzare i seguenti comandi di esempio, sostituisci i valori con i tuoi personali:  
+ *officer1.key*e *officer2.key* — Il nome del file che contiene la chiave di firma del CO.
+ *officer1.token.sig1*e *officer1.token.sig2* — Il nome del file da utilizzare per memorizzare la firma. Assicurati di salvare ogni firma in un file diverso.
+ *officer1.token*— Il nome del file che contiene il token che il CO sta firmando.

```
$ openssl dgst -sha256 -sign officer1.key -out officer1.token.sig1 officer1.token
Enter pass phrase for officer1.key:
```
Nel comando seguente, officer2 firma lo stesso token.  

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

## Fase 3. Approvazione del token firmato nell'HSM
<a name="quorum-crypto-officers-approve-token"></a>

Dopo che un CO ottiene il numero minimo di approvazioni (firme) da altri COs, deve approvare il token firmato sull'HSM.

**Per approvare il token firmato nell'HSM.**

1. Crea un file di approvazione del token. Per maggiori informazioni, consulta il seguente esempio:

1. Per avviare lo strumento a riga di comando cloudhsm\$1mgmt\$1util, utilizza il comando seguente.

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

1. Utilizza il comando **loginHSM** per effettuare l'accesso all'HSM come CO. Per ulteriori informazioni, consulta [Gestione degli utenti HSM con CloudHSM Management Utility (CMU)](manage-hsm-users-cmu.md).

1. Utilizza il comando **approveToken** per approvare il token firmato, trasferendo il file di approvazione del token. Per maggiori informazioni, consulta il seguente esempio:

**Example - Creazione di un file di approvazione del token e approvazione del token firmato nell'HSM**  
Il file di approvazione del token è un file di testo in un formato particolare richiesto dall'HSM. Il file contiene informazioni sui token, sui relativi approvatori e sulle firme degli approvatori. Di seguito è mostrato un esempio di file di approvazione del 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;
```
Dopo aver creato il file di approvazione token, il CO utilizza lo strumento a riga di comando di cloudhsm\$1mgmt\$1util per l'accesso all'HSM. Il CO utilizza quindi il comando **approveToken** per approvare il token, come mostrato nel seguente esempio. *approval.txt*Sostituiscilo con il nome del file di approvazione del token.  

```
aws-cloudhsm > approveToken approval.txt
approveToken success on server 0(10.0.2.14)
approveToken success on server 1(10.0.1.4)
```
Se questo comando viene eseguito correttamente, l'HSM approva il token del quorum. Per controllare lo stato di un token, utilizza il comando **listTokens**, come mostrato nell'esempio di seguito. L'output del comando mostra che il token dispone del numero richiesto di approvazioni.  
Il periodo di validità dei token indica per quanto tempo è garantita la persistenza del token nell'HSM. Potrai utilizzare il token anche dopo la scadenza del periodo di validità (zero secondi).  

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

## Passaggio 4. Utilizza il token per operazioni di gestione degli utenti
<a name="quorum-crypto-officers-use-token"></a>

Dopo avere ottenuto un token con il numero richiesto di approvazioni, come mostrato nella sezione precedente, il CO è in grado di eseguire una delle seguenti operazioni di gestione degli utenti HSM:
+ Creare un utente HSM con il comando [createUser](cloudhsm_mgmt_util-createUser.md)
+ Eliminare un utente HSM con il comando **deleteUser**
+ Modificare la password di un altro utente HSM con il comando **changePswd**

Per ulteriori informazioni sull'utilizzo di questi comandi, consulta [Utenti HSM](manage-hsm-users.md).

Il CO può utilizzare il token per un'unica operazione. Quando tale operazione va a buon fine, il token non è più valido. Per eseguire un'altra operazione di gestione degli utenti HSM, il CO deve ottenere un nuovo token del quorum e nuove firme dagli approvatori, quindi approvare il nuovo token nell'HSM.

**Nota**  
Il token MofN è valido solo finché la sessione di accesso corrente è aperta. Se ti disconnetti da cloudhsm\$1mgmt\$1util o se la rete si disconnette, il token non è più valido. Analogamente, un token autorizzato può essere utilizzato solo all'interno di cloudhsm\$1mgmt\$1util e non può essere utilizzato per l'autenticazione in un'applicazione diversa.

Nel seguente comando di esempio, il CO crea un nuovo utente nell'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
```

Dopo che quello precedente è stato eseguito correttamente, il comando **listUsers** successivo mostra il nuovo utente.

```
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 il CO tenta di eseguire un'altra operazione di gestione degli utenti HSM, questa avrà esito negativo con un errore di autenticazione del quorum, come mostrato nel seguente esempio.

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

Il comando **listTokens** mostra che il CO non dispone di token approvati, come illustrato nel seguente esempio. Per eseguire un'altra operazione di gestione degli utenti HSM, il CO deve ottenere un nuovo token del quorum e nuove firme dagli approvatori, quindi approvare il nuovo token nell'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
```