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
Un responsable du AWS CloudHSM chiffrement (CO) du module de sécurité matériel (HSM) peut configurer l'authentification par quorum pour les opérations suivantes sur HSM :
-
Création d'HSMutilisateurs
-
Supprimer des HSM utilisateurs
-
Modifier le mot de passe HSM d'un autre utilisateur
Une fois HSM configuré pour l'authentification par quorum, vous COs ne pouvez pas effectuer vous-même les opérations de gestion des HSM utilisateurs. L'exemple suivant montre le résultat lorsqu'un commandant tente de créer un nouvel utilisateur sur leHSM. 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 des HSM utilisateurs, un commandant doit effectuer les tâches suivantes :
Si vous n'avez pas encore configuré l'authentification par quorum HSM pourCOs, faites-le maintenant. Pour de plus amples informations, veuillez consulter Première configuration.
Étape 1. Obtention d'un jeton de quorum
Tout d'abord, le responsable de chiffrement doit utiliser cloudhsm_mgmt_util l'outil de ligne de commande pour demander un jeton de quorum.
Pour obtenir un jeton de quorum
-
Utilisez la commande suivante pour démarrer le cloudhsm_mgmt_util outil de ligne de commande.
$
/opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
-
Utilisez la loginHSM commande pour vous connecter au en HSM tant que CO. Pour de plus amples informations, veuillez consulter HSMgestion des utilisateurs avec Cloud HSM Management Utility (CMU).
-
Utilisez la commande getToken pour obtenir un jeton de quorum. Pour plus d'informations, consultez l'exemple suivant ou utilisez la commande help getToken.
Exemple - 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 commandant 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 est destiné aux opérations de gestion des HSM utilisateurs (service 3). Pour de plus amples informations, veuillez consulter Étape 2. Définissez la valeur minimale du quorum sur HSM.
aws-cloudhsm>
getToken 3
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:officer1officer1
officer1.token
Étape 2. Obtenez des signatures lors de l'approbation COs
Un commandant qui possède un jeton de quorum doit faire approuver le jeton par un autreCOs. Pour donner son approbation, l'autre COs utilise sa clé de signature pour signer cryptographiquement le jeton. Ils le font en dehors duHSM.
Il existe de nombreuses façons différentes de signer le jeton. L'exemple suivant montre comment procéder avec Open SSL
Exemple — 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 Open SSL 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
andofficer2.key
— Nom du fichier contenant la clé de signature du commandant. -
officer1.token.sig1
andofficer1.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
-outofficer1.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
-outofficer1.token.sig2
officer1.token
Enter pass phrase for officer2.key:
Étape 3. Approuvez le jeton signé sur le HSM
Une fois qu'un commandant a obtenu le nombre minimum d'approbations (signatures) d'autres personnesCOs, il doit approuver le jeton signé sur leHSM.
Pour approuver le jeton signé sur le HSM
-
Créez un fichier d'approbation de jeton. Pour plus d'informations, consultez l'exemple suivant.
-
Utilisez la commande suivante pour démarrer le cloudhsm_mgmt_util outil de ligne de commande.
$
/opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
-
Utilisez la loginHSM commande pour vous connecter au en HSM tant que CO. Pour de plus amples informations, veuillez consulter HSMgestion des utilisateurs avec Cloud HSM Management Utility (CMU).
-
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.
Exemple — Créez un fichier d'approbation des jetons et approuvez le jeton signé sur le HSM
Le fichier d'approbation du jeton est un fichier texte dans un format particulier HSM requis. 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 d'approbation du jeton, le responsable de chiffrement utilise cloudhsm_mgmt_util outil de ligne de commande pour se connecter auHSM. Le CO utilise ensuite la commande approveToken pour approuver le jeton, comme indiqué dans l'exemple suivant. Remplacez approval.txt
avec 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 aboutit, le jeton de quorum HSM a été approuvé. 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 il est garanti que le jeton persiste sur leHSM. 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
Une fois qu'un CO dispose d'un jeton avec le nombre d'approbations requis, comme indiqué dans la section précédente, le CO peut effectuer l'une des opérations de gestion des HSM utilisateurs suivantes :
-
Créez un HSM utilisateur à l'aide de la createUsercommande
-
Supprimer un HSM utilisateur à l'aide de la deleteUser commande
-
Modifiez le mot de passe d'un autre HSM utilisateur à l'aide de la changePswd commande
Pour plus d'informations sur l'utilisation de ces commandes, consultez HSMutilisateurs.
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 des HSM utilisateurs, le CO doit obtenir un nouveau jeton de quorum, obtenir de nouvelles signatures de la part des approbateurs et approuver le nouveau jeton sur leHSM.
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 nouvel utilisateur surHSM.
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 tente d'effectuer une autre opération de gestion des HSM utilisateurs, il é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 des HSM utilisateurs, le commandant doit obtenir un nouveau jeton de quorum, obtenir de nouvelles signatures de la part des approbateurs et approuver le nouveau jeton sur leHSM.
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