

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Gestion des utilisateurs avec authentification par quorum activée pour AWS CloudHSM Management Utility
<a name="quorum-authentication-crypto-officers"></a>

Un [responsable du AWS CloudHSM chiffrement (CO)](understanding-users-cmu.md#crypto-officer) du module de sécurité matériel (HSM) peut configurer l'authentification par quorum pour les opérations suivantes sur le HSM :
+ Création d'utilisateurs HSM
+ Suppression d'utilisateurs HSM
+ Modification du mot de passe d'un autre utilisateur HSM

Une fois que le HSM est configuré pour l'authentification par quorum, il COs ne peut pas effectuer lui-même les opérations de gestion des utilisateurs du HSM. L'exemple suivant montre la sortie lorsqu'un responsable de chiffrement tente de créer un nouvel utilisateur sur le HSM. La commande échoue avec une erreur `RET_MXN_AUTH_FAILED`, ce qui indique que l'authentification par quorum a échoué.

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

Pour effectuer une opération de gestion d'utilisateur HSM, un responsable de chiffrement doit exécuter les tâches suivantes :

1. [Obtenir un *jeton de quorum*](#quorum-crypto-officers-get-token).

1. [Obtenez les approbations (signatures) des autres COs](#quorum-crypto-officers-get-approval-signatures).

1. [Approuver le jeton sur le HSM](#quorum-crypto-officers-approve-token).

1. [Effectuer l'opération de gestion des utilisateurs HSM](#quorum-crypto-officers-use-token).

Si vous n'avez pas encore configuré le HSM pour l'authentification par quorum COs, faites-le maintenant. Pour de plus amples informations, veuillez consulter [Première configuration](quorum-authentication-crypto-officers-first-time-setup.md).

## Étape 1. Obtention d'un jeton de quorum
<a name="quorum-crypto-officers-get-token"></a>

Tout d'abord, le CO doit utiliser l'outil de ligne de commande cloudhsm\_mgmt\_util pour demander un *jeton de quorum*.

**Pour obtenir un jeton de quorum**

1. Utilisez la commande suivante pour démarrer l'outil de ligne de commande cloudhsm\_mgmt\_util.

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

1. Utilisez la commande **loginHSM** pour vous connecter aux HSM en tant que CO. Pour de plus amples informations, veuillez consulter [Gestion des utilisateurs HSM avec l'utilitaire de gestion CloudHSM (CMU)](manage-hsm-users-cmu.md).

1. Utilisez la commande **getToken** pour obtenir un jeton de quorum. Pour plus d'informations, consultez l'exemple suivant ou utilisez la commande **help getToken**.

**Example - Obtenir un jeton de quorum.**  
Cet exemple obtient un jeton de quorum pour le responsable de chiffrement avec le nom d'utilisateur officer1 et enregistre le jeton dans un fichier nommé `officer1.token`. Pour utiliser l'exemple de commande, remplacez ces valeurs par les vôtres :  
+ {{officer1}}— Le nom du commandant qui reçoit le jeton. Il doit s'agir du même responsable de chiffrement que celui qui est connecté au HSM et qui exécute cette commande.
+ {{officer1.token}}— Nom du fichier à utiliser pour stocker le jeton de quorum.
Dans la commande suivante, `3` identifie le *service* pour lequel vous pouvez utiliser le jeton que vous obtenez. Dans ce cas, le jeton concerne les opérations de gestion des utilisateurs HSM (service 3). Pour de plus amples informations, veuillez consulter [Étape 2. Définition de la valeur minimale de quorum sur le 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
```

## Étape 2. Obtenez des signatures lors de l'approbation COs
<a name="quorum-crypto-officers-get-approval-signatures"></a>

Un commandant qui possède un jeton de quorum doit faire approuver le jeton par un autre COs. Pour donner son approbation, l'autre COs utilise sa clé de signature pour signer cryptographiquement le jeton. Ils le font en dehors du module HSM.

Il existe de nombreuses façons différentes de signer le jeton. L'exemple suivant montre comment procéder avec [OpenSSL](https://www.openssl.org/). Pour utiliser un autre outil de signature, assurez-vous que l'outil utilise la clé privée du responsable de chiffrement (clé de signature) pour signer un hachage SHA-256 du jeton.

**Example — Obtenez des signatures lors de l'approbation COs**  
Dans cet exemple, le CO qui possède le jeton (officer1) a besoin d'au moins deux approbations. Les exemples de commandes suivants montrent comment deux personnes COs peuvent utiliser OpenSSL pour signer cryptographiquement le jeton.  
Dans la première commande, officer1 signe son propre jeton. Pour utiliser les commandes de l'exemple suivant, remplacez ces valeurs par les vôtres :  
+ {{officer1.key}}et {{officer2.key}} — Nom du fichier contenant la clé de signature du CO.
+ {{officer1.token.sig1}}et {{officer1.token.sig2}} — Nom du fichier à utiliser pour stocker la signature. Assurez-vous de sauvegarder chaque signature dans un fichier différent.
+ {{officer1.token}}— Nom du fichier contenant le jeton signé par le CO.

```
$ openssl dgst -sha256 -sign {{officer1.key}} -out {{officer1.token.sig1}} {{officer1.token}}
Enter pass phrase for officer1.key:
```
Dans la commande suivante, officer2 signe le même jeton.  

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

## Étape 3. Approbation du jeton signé sur le HSM
<a name="quorum-crypto-officers-approve-token"></a>

Une fois qu'un commandant a obtenu le nombre minimum d'approbations (signatures) d'autres personnes COs, il doit approuver le jeton signé sur le HSM.

**Pour approuver le jeton signé sur le HSM**

1. Créez un fichier d'approbation de jeton. Pour plus d'informations, consultez l'exemple suivant.

1. Utilisez la commande suivante pour démarrer l'outil de ligne de commande cloudhsm\_mgmt\_util.

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

1. Utilisez la commande **loginHSM** pour vous connecter aux HSM en tant que CO. Pour de plus amples informations, veuillez consulter [Gestion des utilisateurs HSM avec l'utilitaire de gestion CloudHSM (CMU)](manage-hsm-users-cmu.md).

1. Utilisez la commande **approveToken** pour approuver le jeton signé, en transmettant le fichier d'approbation du jeton. Pour plus d'informations, consultez l'exemple suivant.

**Example - Création d'un fichier d'approbation de jeton et approbation du jeton signé sur le HSM**  
Le fichier d'approbation de jeton est un fichier texte dans un format particulier que le HSM nécessite. Le fichier contient des informations sur le jeton, ses approbateurs et leurs signatures. L'exemple suivant montre un exemple de fichier d'approbation de jeton.  

```
# 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;
```
Après avoir créé le fichier, le jeton d'approbation CO utilise l'outil de ligne de commande cloudhsm\_mgmt\_util pour vous connecter au HSM. Le CO utilise ensuite la commande **approveToken** pour approuver le jeton, comme indiqué dans l'exemple suivant. Remplacez {{approval.txt}} par le nom du fichier d'approbation du jeton.  

```
aws-cloudhsm > approveToken {{approval.txt}}
approveToken success on server 0(10.0.2.14)
approveToken success on server 1(10.0.1.4)
```
Lorsque cette commande réussit, le module HSM a approuvé le jeton de quorum. Pour vérifier le statut d'un jeton, utilisez la commande **listTokens**, comme indiqué dans l'exemple suivant. La sortie de la commande affiche que le jeton a le nombre requis d'approbations.  
La durée de validité du jeton indique la durée pendant laquelle le jeton est assuré de demeurer sur le module HSM. Même après que la durée de validité du jeton s'est écoulée (zéro seconde), vous pouvez continuer d'utiliser le jeton.  

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

## Étape 4 : Utilisation du jeton pour les opérations de gestion des utilisateurs
<a name="quorum-crypto-officers-use-token"></a>

Une fois qu'un CO possède un jeton avec le nombre requis d'approbations, comme illustré dans la section précédente, le CO peut effectuer l'une des opérations de gestion d'utilisateur HSM suivantes :
+ Créer un utilisateur HSM avec la commande [createUser](cloudhsm_mgmt_util-createUser.md)
+ Supprimer un utilisateur HSM avec la commande **deleteUser**
+ Modifier le mot de passe d'un autre utilisateur HSM avec la commande **changePswd**

Pour plus d'informations sur l'utilisation de ces commandes, consultez [Utilisateurs HSM](manage-hsm-users.md).

Le CO peut utiliser le jeton pour une seule opération. Lorsque cette opération réussit, le jeton n'est plus valide. Pour effectuer une autre opération de gestion de l'utilisateur HSM, le CO doit obtenir un nouveau jeton de quorum, obtenir de nouvelles signatures des approbateurs et approuver le nouveau jeton sur le HSM.

**Note**  
Le jeton MofN n'est valide que tant que votre session de connexion en cours est ouverte. Si vous vous déconnectez de cloudhsm\_mgmt\_util ou si la connexion réseau est déconnectée, le jeton n'est plus valide. De même, un jeton autorisé ne peut être utilisé que dans cloudhsm\_mgmt\_util, il ne peut pas être utilisé pour s'authentifier dans une autre application.

Dans l'exemple de commande suivant, le CO crée un utilisateur sur le 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
```

Une fois que la commande précédente a réussi, une commande **listUsers** affiche le nouvel utilisateur.

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

Si le CO essaie d'effectuer une autre opération de gestion de l'utilisateur HSM, l'opération échoue avec une erreur d'authentification par quorum, comme illustré dans l'exemple suivant.

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

La commande **listTokens** montre que le CO n'a pas de jetons approuvés, comme illustré dans l'exemple suivant. Pour effectuer une autre opération de gestion de l'utilisateur HSM, le CO doit obtenir un nouveau jeton de quorum, obtenir de nouvelles signatures des approbateurs et approuver le nouveau jeton sur le 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
```