

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Administración de usuarios del HSM con la CLI de CloudHSM
<a name="manage-hsm-users-chsm-cli"></a>

 [Para administrar los usuarios del módulo de seguridad de hardware (HSM) AWS CloudHSM, debe iniciar sesión en el HSM con el nombre de usuario y la contraseña de un administrador.](understanding-users.md#admin) Solo los administradores pueden administrar usuarios. El HSM contiene un administrador predeterminado denominado admin. Usted estableció la contraseña para admin cuando [activó el clúster](activate-cluster.md). 

En este tema se proporcionan step-by-step instrucciones y detalles sobre la administración de los usuarios de HSM con la CLI de CloudHSM. 

**Topics**
+ [Requisitos previos](manage-hsm-users-chsm-cli-prereq.md)
+ [Tipos de usuario](understanding-users.md)
+ [Tabla de permisos](user-permissions-table-chsm-cli.md)
+ [Creación de un administrador](create-admin-cloudhsm-cli.md)
+ [Crear CUs](create-user-cloudhsm-cli.md)
+ [Enumeración de todos los usuarios](list-users-cloudhsm-cli.md)
+ [Cambio de contraseñas](change-user-password-cloudhsm-cli.md)
+ [Eliminar usuarios](delete-user-cloudhsm-cli.md)
+ [Administrar MFA de usuarios](login-mfa-token-sign.md)
+ [Administrar la autenticación de cuórum (M de N)](quorum-auth-chsm-cli.md)

# Requisitos previos para la administración de usuarios en la CLI de CloudHSM
<a name="manage-hsm-users-chsm-cli-prereq"></a>

Antes de usar la CLI de CloudHSM para administrar los AWS CloudHSM usuarios de los módulos de seguridad de hardware (HSM), debe cumplir estos requisitos previos. En los siguientes temas, se describe cómo empezar a usar la CLI de CloudHSM.

**Topics**
+ [Obtener la dirección IP del HSM](#manage-chsm-cli-users-ip)
+ [Cómo descargar la CLI de CloudHSM](#get-cli-users-cloudhsm-cli)

## Obtenga la dirección IP de un HSM AWS CloudHSM
<a name="manage-chsm-cli-users-ip"></a>

 Para usar la CLI de CloudHSM, debe usar la herramienta de configuración para actualizar la configuración local. Para obtener instrucciones sobre cómo ejecutar la herramienta de configuración con la CLI de CloudHSM, consulte [Introducción a la interfaz de línea de AWS CloudHSM comandos (CLI)](cloudhsm_cli-getting-started.md). El parámetro `-a` solicita agregar la dirección IP de un HSM en su clúster. Si tiene varios HSMs, puede usar cualquier dirección IP. Esto garantiza que la CLI de CloudHSM pueda propagar cualquier cambio que realice en todo el clúster. Recuerde que la CLI de CloudHSM usa su archivo local para rastrear la información del clúster. Si el clúster ha cambiado desde la última vez que utilizó la CLI de CloudHSM desde un host concreto, debe añadir esos cambios al archivo de configuración local almacenado en ese host. Nunca elimine un HSM mientras esté usando la CLI de CloudHSM. 

**Para obtener una dirección IP para un HSM (consola)**

1. Abre la AWS CloudHSM consola en [https://console.aws.amazon.com/cloudhsm/casa](https://console.aws.amazon.com/cloudhsm/home).

1. Para cambiar la región de AWS, utilice el selector de regiones en la esquina superior derecha de la página.

1. Para abrir la página de detalles del clúster, en la tabla de clústeres, elija el ID del clúster.

1. Para obtener la dirección IP, vaya a la HSMs pestaña. Para IPv4 los clústeres, elija una dirección que aparezca en la sección ** IPv4 Dirección ENI**. Para los clústeres de doble pila, utilice el ENI IPv4 o la ** IPv6 dirección ENI.** 

**Para obtener una dirección IP para un HSM (AWS CLI)**
+ Obtenga la dirección IP de un HSM mediante el comando **[describe-clusters](https://docs.aws.amazon.com/cli/latest/reference/cloudhsmv2/describe-clusters.html)** del AWS CLI. En el resultado del comando, la dirección IP del HSMs son los valores de `EniIp` y `EniIpV6` (si se trata de un clúster de doble pila). 

  ```
  $ aws cloudhsmv2 describe-clusters
  {
      "Clusters": [
          { ... }
              "Hsms": [
                  {
  ...
                      "EniIp": "10.0.0.9",
  ...
                  },
                  {
  ...
                      "EniIp": "10.0.1.6",
                      "EniIpV6": "2600:113f:404:be09:310e:ed34:3412:f733",
  ...
  ```

## Cómo descargar la CLI de CloudHSM
<a name="get-cli-users-cloudhsm-cli"></a>

La última versión de la CLI de CloudHSM está disponible para las tareas de administración de usuarios de HSM para SDK 5 de cliente. Para descargar e instalar la CLI de CloudHSM, siga las instrucciones recogidas en [Instalación y configuración de la CLI de CloudHSM](gs_cloudhsm_cli-install.md).

# Tipos de usuario del HSM para la CLI de CloudHSM
<a name="understanding-users"></a>

 La mayoría de las operaciones que se realizan en el módulo de seguridad de hardware (HSM) requieren las credenciales de un usuario de AWS CloudHSM *HSM*. El HSM autentica a cada usuario del HSM y cada usuario del HSM tiene un *tipo* que determina las operaciones que puede realizar en el HSM como ese usuario. 

**nota**  
Los usuarios de HSM son distintos de los usuarios de IAM. Los usuarios de IAM que tengan las credenciales correctas pueden crear HSMs interactuando con los recursos a través de la API de AWS. Una vez creado el HSM, deberá introducir las credenciales de usuario de HSM para autenticar las operaciones del mismo.

**Topics**
+ [Administrador desactivado](#unactivated-admin)
+ [Administrador](#admin)
+ [Usuario de criptografía (CU)](#crypto-user-chsm-cli)
+ [Usuario de dispositivos (AU)](#appliance-user-chsm-cli)

## Administrador desactivado
<a name="unactivated-admin"></a>

En la CLI de CloudHSM, el administrador desactivado es un usuario temporal que solo existe en el primer HSM de un clúster de AWS CloudHSM que nunca se ha activado. Para [ activar un clúster ](activate-cluster.md), ejecute el comando**cluster activate** en la CLI de CloudHSM. Tras ejecutar este comando, se solicita a los administradores que no estén activados que cambien la contraseña. Tras cambiar la contraseña, el administrador desactivado pasa a ser administrador. 

## Administrador
<a name="admin"></a>

En la CLI de CloudHSM, el administrador puede realizar operaciones de administración de usuarios. Por ejemplo, pueden crear y eliminar usuarios, así como cambiar las contraseñas de los usuarios. Para obtener más información sobre los administradores, consulte [Tabla de permisos de usuarios del HSM para la CLI de CloudHSM](user-permissions-table-chsm-cli.md). 

## Usuario de criptografía (CU)
<a name="crypto-user-chsm-cli"></a>

Un usuario de criptografía (CU) puede realizar las siguientes operaciones de administración de claves y criptografía.
+ **Administración de claves**: crear, eliminar, compartir, importar y exportar claves criptográficas.
+ **Operaciones criptográficas**: utilizar las claves criptográficas para cifrado, descifrado, firma, verificación y mucho más.

Para obtener más información, consulte la [Tabla de permisos de usuarios del HSM para la CLI de CloudHSM](user-permissions-table-chsm-cli.md).

## Usuario de dispositivos (AU)
<a name="appliance-user-chsm-cli"></a>

El usuario del dispositivo (AU) puede realizar operaciones de clonación y sincronización en el clúster. HSMs AWS CloudHSM utiliza la AU para sincronizarla HSMs en un AWS CloudHSM clúster. La AU existe en todas las HSMs versiones proporcionadas por AWS CloudHSM ella y tiene permisos limitados. Para obtener más información, consulte la [Tabla de permisos de usuarios del HSM para la CLI de CloudHSM](user-permissions-table-chsm-cli.md).

AWS no puede realizar ninguna operación en su HSMs . AWS no puede ver ni modificar sus usuarios o claves y no puede realizar ninguna operación criptográfica con esas claves.

# Tabla de permisos de usuarios del HSM para la CLI de CloudHSM
<a name="user-permissions-table-chsm-cli"></a>

En la siguiente tabla, se muestran las operaciones del módulo de seguridad de hardware (HSM) ordenadas por tipo de usuario o sesión del HSM que puede realizar la operación en el AWS CloudHSM.


|  | Administrador | Usuario de criptografía (CU) | Usuario de dispositivos (AU) | Sesiones no autenticadas | 
| --- | --- | --- | --- | --- | 
| Obtener información básica del clúster¹ | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | 
| Cambiar su propia contraseña | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | No aplicable | 
| Cambiar la contraseña de cualquier usuario | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | 
| Agregar o eliminar usuarios | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | 
| Obtener el estado de sincronización² | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | 
| Extraer o insertar objetos enmascarados³ | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | 
| Funciones de administración de claves⁴ | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | 
| Cifrar o descifrar | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | 
| Firmar o verificar | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | 
| Genere resúmenes y HMACs | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | ![\[Yes\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-yes.png) Sí | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | ![\[No\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/images/icon-no.png) No | 
+  [1] La información básica del clúster incluye el número del HSMs clúster y la dirección IP, el modelo, el número de serie, el ID del dispositivo, el ID de firmware, etc. de cada HSM. 
+  [2] El usuario puede obtener un conjunto de resúmenes (hashes) que se corresponden con las claves del HSM. Una aplicación puede comparar estos conjuntos de resúmenes para comprender el estado de sincronización de un HSMs clúster. 
+  [3] Los objetos enmascarados son claves que se cifran antes de salir del HSM. No se pueden descifrar fuera del HSM. Solo se descifran después de insertarlos en un HSM que se encuentra en el mismo clúster que el HSM del que se extrajeron. Una aplicación puede extraer e insertar objetos enmascarados para sincronizarlos HSMs en un clúster. 
+  [4] Las funciones de administración de claves incluyen la creación, eliminación, encapsulación y modificación de los atributos de las claves. 

# Crear un administrador de usuarios del HSM mediante la CLI de CloudHSM
<a name="create-admin-cloudhsm-cli"></a>

Siga estos pasos para crear un usuario administrador del módulo de seguridad de hardware (HSM) mediante la CLI de CloudHSM.

1. Use el siguiente comando para iniciar el modo interactivo de la CLI de CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Ejecute el comando **login** e inicie sesión en el clúster como administrador.

   ```
   aws-cloudhsm > login --username <username> --role admin
   ```

1. El sistema le solicitará su contraseña. Introduzca la contraseña y el resultado mostrará que el comando se ejecutó correctamente.

   ```
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "admin"
     }
   }
   ```

1. Escriba el siguiente comando para crear un administrador:

   ```
   aws-cloudhsm > user create --username <username> --role admin
   ```

1. Ingrese la contraseña para un nuevo usuario.

1. Vuelva a introducir la contraseña para confirmar que la contraseña que ha introducido es correcta.

# Crear un usuario de criptografía del HSM mediante la CLI de CloudHSM
<a name="create-user-cloudhsm-cli"></a>

Siga estos pasos para crear un usuario de criptografía (CU) del módulo de seguridad de hardware (HSM) mediante la CLI de CloudHSM.

1. Use el siguiente comando para iniciar el modo interactivo de la CLI de CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Ejecute el comando **login** e inicie sesión en el clúster como administrador.

   ```
   aws-cloudhsm > login --username <username> --role admin
   ```

1. El sistema le solicitará su contraseña. Introduzca la contraseña y el resultado mostrará que el comando se ejecutó correctamente.

   ```
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<USERNAME>",
       "role": "admin"
     }
   }
   ```

1. Escriba el siguiente comando para crear un usuario de criptografía:

   ```
   aws-cloudhsm > user create --username <username> --role crypto-user
   ```

1. Ingrese la contraseña del usuario de criptografía.

1. Vuelva a introducir la contraseña para confirmar que la contraseña que ha introducido es correcta.

# Enumerar todos los usuarios del HSM en el clúster con la CLI de CloudHSM
<a name="list-users-cloudhsm-cli"></a>

 Use el comando **user list** de la CLI de CloudHSM para enumerar los usuarios en el clúster del AWS CloudHSM . No es necesario iniciar sesión para ejecutar **user list**. Todos los tipos de usuarios pueden enumerar usuarios. 

**Siga estos pasos para enumerar todos los usuarios del clúster.**

1. Use el siguiente comando para iniciar el modo interactivo de la CLI de CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Introduzca el siguiente comando para enumerar todos los usuarios del clúster:

   ```
   aws-cloudhsm > user list
   ```

Para obtener más información sobre **user list**, consulte [lista de usuarios](cloudhsm_cli-user-list.md).

# Cambiar las contraseñas de usuarios del HSM mediante la CLI de CloudHSM
<a name="change-user-password-cloudhsm-cli"></a>

 Use el comando **user change-password** de la CLI de CloudHSM para cambiar la contraseña de un usuario del módulo de seguridad de hardware (HSM). 

 En los tipos de usuario y las contraseñas se distingue entre mayúsculas y minúsculas, pero no en los nombres de usuario.

 Los administradores, los usuarios de criptografía (CU) y los usuarios de dispositivos (AU)pueden cambiar su contraseña. Para cambiar la contraseña de otro usuario, debe iniciar sesión como administrador. No puede cambiar la contraseña de un usuario que actualmente haya iniciado sesión. 

**Cómo cambiar su propia contraseña**

1. Use el siguiente comando para iniciar el modo interactivo de la CLI de CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Utilice el comando **login** e inicie sesión como el usuario con la contraseña que desea cambiar.

   ```
   aws-cloudhsm > login --username <username> --role <role>
   ```

1. Ingrese la contraseña del usuario.

   ```
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "<role>"
     }
   }
   ```

1. Escriba el comando **user change-password**.

   ```
   aws-cloudhsm > user change-password --username <username> --role <role>
   ```

1. Introduzca la nueva contraseña.

1. Vuelva a introducir la nueva contraseña.

**Cómo cambiar la contraseña de otro usuario**

1. Use el siguiente comando para iniciar el modo interactivo de la CLI de CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Inicie sesión en la CLI de CloudHSM como administrador.

   ```
   aws-cloudhsm > login --username <admin> --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "admin"
     }
   }
   ```

1. Introduzca el comando **user change-password** junto con el nombre del usuario cuya contraseña desea cambiar.

   ```
   aws-cloudhsm > user change-password --username <username> --role <role>
   ```

1. Introduzca la nueva contraseña.

1. Vuelva a introducir la nueva contraseña.

Para obtener más información sobre **user change-password**, consulte [user change-password](cloudhsm_cli-user-change-password.md).

# Eliminar usuarios del HSM mediante la CLI de CloudHSM
<a name="delete-user-cloudhsm-cli"></a>

Use **user delete** en la CLI de CloudHSM para eliminar un usuario del módulo de seguridad de hardware (HSM). Debe iniciar sesión como administrador para eliminar otro usuario.

**sugerencia**  
 No puede eliminar a los usuarios de criptografía (CU) que poseen claves. 

**Cómo eliminar un usuario**

1. Use el siguiente comando para iniciar el modo interactivo de la CLI de CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Ejecute el comando **login** e inicie sesión en el clúster como administrador.

   ```
   aws-cloudhsm > login --username <username> --role admin
   ```

1. El sistema le solicitará su contraseña. Introduzca la contraseña y el resultado mostrará que el comando se ejecutó correctamente.

   ```
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "admin"
     }
   }
   ```

1. Ejecute el comando **user delete** para eliminar un usuario.

   ```
   aws-cloudhsm > user delete --username <username> --role <role>
   ```

Para obtener más información acerca de **user delete**, consulte [deleteUser](cloudhsm_cli-user-delete.md).

# Administrar la MFA de usuarios del HSM mediante la CLI de CloudHSM
<a name="login-mfa-token-sign"></a>

Para aumentar la seguridad, puede configurar la autenticación multifactor (MFA) para los usuarios a fin de ayudar a proteger AWS CloudHSM el clúster. 

Cuando inicia sesión en un clúster con una cuenta de usuario del módulo de seguridad de hardware (HSM) habilitada para MFA, proporciona su contraseña a la CLI de CloudHSM (el primer factor, lo que sabe) y la CLI de CloudHSM le proporciona un token y le pide que lo firme.

Para proporcionar el segundo factor (el que ya tienes), firma el token con una clave privada de un par de claves que ya ha creado y asociado al usuario de HSM. Para acceder al clúster, debe proporcionar el token firmado a la CLI de CloudHSM.

Para obtener más información sobre la configuración de MFA para un usuario, consulte [Configuración de MFA para la CLI de CloudHSM](set-up-mfa-for-cloudhsm-cli.md)

En los siguientes temas, se proporciona más información acerca del trabajo con la autenticación de cuórum en el AWS CloudHSM.

**Topics**
+ [Autenticación de cuórum](quorum-mfa-cloudhsm-cli.md)
+ [Requisitos del par de claves](mfa-key-pair-cloudhsm-cli.md)
+ [Configurar MFA](set-up-mfa-for-cloudhsm-cli.md)
+ [Creación de usuarios](create-mfa-users-cloudhsm-cli.md)
+ [Inicio de sesión con usuarios](login-mfa-cloudhsm-cli.md)
+ [Rotación de claves](rotate-mfa-cloudhsm-cli.md)
+ [Anulación del registro de una clave pública de MFA](deregister-mfa-cloudhsm-cli.md)
+ [Referencia del archivo del token](reference-mfa-cloudhsm-cli.md)

# Autenticación de quórum y MFA AWS CloudHSM en clústeres mediante la CLI de CloudHSM
<a name="quorum-mfa-cloudhsm-cli"></a>

El AWS CloudHSM clúster utiliza la misma clave para la autenticación de quórum y para la autenticación multifactor (MFA). Esto significa que un usuario con MFA habilitado queda efectivamente registrado para el control de acceso MoFN o por quórum. Para utilizar correctamente la autenticación de cuórum y la MFA para el mismo usuario de HSM, tenga en cuenta los siguientes puntos:
+ Si actualmente usa la autenticación de cuórum para un usuario, debe usar el mismo par de claves que creó para el usuario de cuórum para habilitar la MFA para el usuario.
+ Si agrega el requisito de MFA para un usuario sin MFA que no sea un usuario de autenticación por quórum, entonces registra a ese usuario como un usuario registrado de quórum (MoFN) con autenticación MFA.
+ Si elimina el requisito de MFA o cambia la contraseña de un usuario de MFA que también es un usuario registrado de autenticación de cuórum, también eliminará el registro del usuario como usuario de cuórum MoFN.
+ Si elimina el requisito de MFA o cambia la contraseña de un usuario de MFA que también es usuario de autenticación de cuórum, *pero aún desea que ese usuario participe en la autenticación de cuórum*, debe volver a registrar ese usuario como usuario de cuórum MoFN.

Para obtener más información acerca de la autenticación de cuórum, consulte [Administrar la autenticación de cuórum (M de N)](quorum-auth-chsm-cli.md).

# Requisitos del par de claves MFA para usar la CLI de AWS CloudHSM CloudHSM
<a name="mfa-key-pair-cloudhsm-cli"></a>

Para habilitar la autenticación multifactor (MFA) para un usuario AWS CloudHSM del módulo de seguridad de hardware (HSM), puede crear un nuevo key pair o utilizar una clave existente que cumpla los siguientes requisitos:
+ **Tipo de clave:** asimétrica
+ **Uso de clave:** firmar y verificar
+ **Especificaciones de clave: RSA\$12048**
+ El **algoritmo de firma incluye**: SHA256with RSAEncryption

**nota**  
Si utiliza la autenticación de cuórum o planea utilizarla, consulte [Autenticación de quórum y MFA AWS CloudHSM en clústeres mediante la CLI de CloudHSM](quorum-mfa-cloudhsm-cli.md)

Puede usar la CLI de CloudHSM y el par de claves para crear un nuevo usuario administrador con la MFA activada.

# Configuración de MFA para la CLI de CloudHSM
<a name="set-up-mfa-for-cloudhsm-cli"></a>

Siga estos pasos para configurar la autenticación multifactor (MFA) para la CLI de CloudHSM. 

1. Para configurar la MFA mediante la estrategia de firma de tokens, primero debe generar una clave privada de RSA de 2048 bits y una clave pública asociada.

   ```
   $ openssl genrsa -out officer1.key 2048
   Generating RSA private key, 2048 bit long modulus (2 primes)
   ...........................................................+++++
   ....................................................................+++++
   e is 65537 (0x010001)
   
   $ openssl rsa -in officer1.key -outform PEM -pubout -out officer1.pub
   writing RSA key
   ```

1. Ingrese el siguiente comando para iniciar la CLI en modo interactivo.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Con la CLI de CloudHSM, inicie sesión en su cuenta de usuario.

   ```
   aws-cloudhsm > login --username <admin> --role <admin> --cluster-id <cluster ID>
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "<admin>"
     }
   }
   ```

1. A continuación, ejecute el comando para cambiar su estrategia de MFA. Debe proporcionar el parámetro `--token`. Este parámetro especifica un archivo en el que se escribirán tokens sin firmar.

   ```
   aws-cloudhsm > user change-mfa token-sign --token unsigned-tokens.json --username <username> --role crypto-user --change-quorum
   Enter password:
   Confirm password:
   ```

1. Ahora tiene un archivo con tokens sin firmar que deben firmarse: `unsigned-tokens.json`. La cantidad de fichas de este archivo depende de la cantidad de fichas del HSMs clúster. Cada token representa un HSM. Este archivo tiene formato JSON y contiene tokens que deben firmarse para demostrar que tiene una clave privada.

   ```
   $ cat unsigned-tokens.json
   {
     "version": "2.0",
     "tokens": [
   {
       {
         "unsigned": "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=",
         "signed": ""
       },
       {
         "unsigned": "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=",
         "signed": ""
       },
       {
         "unsigned": "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=",
         "signed": ""
       }
     ]
   }
   ```

1. El siguiente paso es firmar estos tokens con la clave privada creada en el paso 1. Vuelva a colocar las firmas en el archivo. En primer lugar, debe extraer y decodificar los tokens codificados en base64.

   ```
   $ echo "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=" > token1.b64
   $ echo "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=" > token2.b64
   $ echo "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=" > token3.b64
   $ base64 -d token1.b64 > token1.bin
   $ base64 -d token2.b64 > token2.bin
   $ base64 -d token3.b64 > token3.bin
   ```

1. Ahora tiene los tokens binarios que puede firmar con la clave privada RSA creada en el paso 1.

   ```
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token1.bin \
         -out token1.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token2.bin \
         -out token2.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token3.bin \
         -out token3.sig.bin
   ```

1. Ahora tiene firmas binarias de los tokens. Debe codificarlas con base64 y, a continuación, volver a colocarlas en el archivo de tokens.

   ```
   $ base64 -w0 token1.sig.bin > token1.sig.b64
   $ base64 -w0 token2.sig.bin > token2.sig.b64 
   $ base64 -w0 token3.sig.bin > token3.sig.b64
   ```

1. Por último, puede volver a copiar y pegar los valores de base64 en su archivo del token:

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=",
         "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w=="
       },
       {
         "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=",
         "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w=="
       },
       {
         "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=",
         "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA=="
       }
     ]
   }
   ```

1. Ahora que su archivo del token tiene todas las firmas necesarias, puede continuar. Introduzca el nombre del archivo que contiene los tokens firmados y pulse la tecla Intro. Por último, introduzca la ruta de su clave pública.

   ```
   Enter signed token file path (press enter if same as the unsigned token file):
   Enter public key PEM file path:officer1.pub
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "crypto-user"
     }
   }
   ```

   Ahora ha configurado su usuario con MFA.

   ```
   {
       "username": "<username>",
       "role": "crypto-user",
       "locked": "false",
       "mfa": [
         {
           "strategy": "token-sign",
           "status": "enabled"
         }
       ],
       "cluster-coverage": "full"
   },
   ```

# Creación de usuarios con la MFA habilitada para la CLI de CloudHSM
<a name="create-mfa-users-cloudhsm-cli"></a>

Siga estos pasos para crear AWS CloudHSM usuarios con la autenticación multifactor (MFA) habilitada. 

1. Utilice la CLI de CloudHSM para iniciar sesión en el HSM como administrador.

1. Utilice el comando [**user create**](cloudhsm_cli-user-create.md) para crear el usuario que desee. A continuación, siga los pasos que se indican en [Configuración de MFA para la CLI de CloudHSM](set-up-mfa-for-cloudhsm-cli.md) para configurar la MFA para el usuario.

# Iniciar sesión con usuarios con la MFA habilitada para la CLI de CloudHSM
<a name="login-mfa-cloudhsm-cli"></a>

Siga estos pasos para iniciar sesión a los AWS CloudHSM usuarios con la autenticación multifactor (MFA) habilitada. 

1. Utilice el comando de [**login mfa-token-sign**](cloudhsm_cli-login-mfa-token-sign.md)de la CLI de CloudHSM para iniciar el proceso de inicio de sesión con MFA para un usuario que tenga la MFA habilitada.

   ```
   aws-cloudhsm > login --username <username> --role <role> mfa-token-sign --token <unsigned-tokens.json>
   Enter password:
   ```

1. Introduzca su contraseña. A continuación, se te pedirá que introduzcas la ruta al archivo de fichas que contiene los pares de unsigned/signed fichas, donde las fichas firmadas son las que se generan con tu clave privada.

   ```
   aws-cloudhsm > login --username <username> --role <role> mfa-token-sign --token <unsigned-tokens.json>
   Enter password:
   Enter signed token file path (press enter if same as the unsigned token file):
   ```

1. Mientras se le pide que introduzca la ruta al archivo de token firmado, puede inspeccionar el archivo de token sin firmar en una terminal independiente. Identifique el archivo con los tokens sin firmar que deben firmarse: `<unsigned-tokens.json>`. La cantidad de fichas de este archivo depende de la cantidad de fichas HSMs de su clúster. Cada token representa un HSM. Este archivo tiene formato JSON y contiene tokens que deben firmarse para demostrar que tiene una clave privada.

   ```
   $ cat <unsigned-tokens.json>
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=",
         "signed": ""
       },
       {
         "unsigned": "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=",
         "signed": ""
       },
       {
         "unsigned": "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=",
         "signed": ""
       }
     ]
   }
   ```

1. Firme los tokens sin firmar con la clave privada creada en el paso 2. En primer lugar, debe extraer y decodificar los tokens codificados en base64.

   ```
   $ echo "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=" > token1.b64
   $ echo "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=" > token2.b64
   $ echo "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=" > token3.b64
   $ base64 -d token1.b64 > token1.bin 
   $ base64 -d token2.b64 > token2.bin
   $ base64 -d token3.b64 > token3.bin
   ```

1. Ahora tiene tokens binarios. Fírmelos con la clave privada de RSA que creó anteriormente en el [paso 1 de la configuración de la MFA](set-up-mfa-for-cloudhsm-cli.md).

   ```
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token1.bin \
         -out token1.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token2.bin \
         -out token2.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token3.bin \
         -out token3.sig.bin
   ```

1. Ahora tiene las firmas binarias de los tokens. Codifíquelas con base64 y vuelva a colocarlas en su archivo del token.

   ```
   $ base64 -w0 token1.sig.bin > token1.sig.b64
   $ base64 -w0 token2.sig.bin > token2.sig.b64
   $ base64 -w0 token3.sig.bin > token3.sig.b64
   ```

1. Por último, vuelva a copiar y pegar los valores de base64 en su archivo del token:

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=",
         "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w=="
       },
       {
         "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=",
         "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w=="
       },
       {
         "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=",
         "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA=="
       }
     ]
   }
   ```

1. Ahora que su archivo del token tiene todas las firmas necesarias, puede continuar. Introduzca el nombre del archivo que contiene los tokens firmados y pulse la tecla Intro. Ahora debería iniciar sesión correctamente.

   ```
   aws-cloudhsm > login --username <username> --role <role> mfa-token-sign --token <unsigned-tokens.json>
   Enter password:
   Enter signed token file path (press enter if same as the unsigned token file):
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "<role>"
     }
   }
   ```

# Rotar claves para los usuarios con la MFA habilitada en la CLI de CloudHSM
<a name="rotate-mfa-cloudhsm-cli"></a>

Siga estos pasos para rotar las claves de AWS CloudHSM los usuarios con la autenticación multifactor (MFA) habilitada.

1. Utilice la CLI de CloudHSM para iniciar sesión en el HSM como cualquier administrador o como el usuario específico que tiene habilitada la MFA (consulte el apartado [Iniciar sesión de usuarios con MFA habilitada]() para obtener más información).

1. A continuación, ejecute el comando para cambiar su estrategia de MFA. Debe proporcionar el parámetro **--token**. Este parámetro especifica un archivo en el que se escribirán tokens sin firmar.

   ```
   aws-cloudhsm > user change-mfa token-sign --token unsigned-tokens.json --username <username> --role crypto-user --change-quorum
   Enter password:
   Confirm password:
   ```

1. Identifique el archivo con los tokens sin firmar que deben firmarse: `unsigned-tokens.json`. La cantidad de fichas de este archivo depende de la cantidad de fichas del HSMs clúster. Cada token representa un HSM. Este archivo tiene formato JSON y contiene tokens que deben firmarse para demostrar que tiene una clave privada. Esta será la nueva clave privada del nuevo par de public/private claves RSA que desee usar para rotar la clave pública actualmente registrada.

   ```
   $ cat unsigned-tokens.json
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=",
         "signed": ""
       },
       {
         "unsigned": "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=",
         "signed": ""
       },
       {
         "unsigned": "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=",
         "signed": ""
       }
     ]
   }
   ```

1. Firme estos tokens con la clave privada que creó anteriormente durante la configuración. En primer lugar, debe extraer y decodificar los tokens codificados en base64.

   ```
   $ echo "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=" > token1.b64
   $ echo "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=" > token2.b64
   $ echo "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=" > token3.b64
   $ base64 -d token1.b64 > token1.bin
   $ base64 -d token2.b64 > token2.bin
   $ base64 -d token3.b64 > token3.bin
   ```

1. Ahora tiene tokens binarios. Fírmelos con la clave privada de RSA que creó anteriormente durante la configuración.

   ```
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token1.bin \
         -out token1.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token2.bin \
         -out token2.sig.bin
   $ openssl pkeyutl -sign \
         -inkey officer1.key \
         -pkeyopt digest:sha256 \
         -keyform PEM \
         -in token3.bin \
         -out token3.sig.bin
   ```

1. Ahora tiene las firmas binarias de los tokens. Codifíquelas con base64 y vuelva a colocarlas en su archivo del token.

   ```
   $ base64 -w0 token1.sig.bin > token1.sig.b64
   $ base64 -w0 token2.sig.bin > token2.sig.b64 
   $ base64 -w0 token3.sig.bin > token3.sig.b64
   ```

1. Por último, vuelva a copiar y pegar los valores de base64 en su archivo del token:

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=",
         "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w=="
       },
       {
         "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=",
         "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w=="
       },
       {
         "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=",
         "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA=="
       }
     ]
   }
   ```

1. Ahora que su archivo del token tiene todas las firmas necesarias, puede continuar. Introduzca el nombre del archivo que contiene los tokens firmados y pulse la tecla Intro. Por último, introduzca la ruta de su clave pública. Ahora verá lo siguiente como parte del resultado de la [lista de usuarios]().

   ```
   Enter signed token file path (press enter if same as the unsigned token file):
   Enter public key PEM file path:officer1.pub
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "crypto-user"
     }
   }
   ```

   Ahora ha configurado su usuario con MFA.

   ```
   {
       "username": "<username>",
       "role": "crypto-user",
       "locked": "false",
       "mfa": [
         {
           "strategy": "token-sign",
           "status": "enabled"
         }
       ],
       "cluster-coverage": "full"
   },
   ```

Ha firmado el archivo del token con formato JSON generado con su clave privada y ha registrado una nueva clave pública de MFA.

# Anular el registro de una clave pública de MFA mediante la CLI de CloudHSM
<a name="deregister-mfa-cloudhsm-cli"></a>

Siga estos pasos para anular el registro de una clave pública de autenticación multifactor (MFA) para usuarios administradores de AWS CloudHSM cuando la clave pública de MFA esté registrada.

1. Utilice la CLI de CloudHSM para iniciar sesión en el HSM como administrador con MFA habilitada.

1. Utilice el comando **user change-mfa token-sign** para eliminar la MFA de un usuario.

   ```
   aws-cloudhsm > user change-mfa token-sign --username <username> --role admin --deregister --change-quorum
   Enter password:
   Confirm password:
   {
     "error_code": 0,
     "data": {
       "username": "<username>",
       "role": "admin"
     }
   }
   ```

# Referencia al archivo del token para MFA con la CLI de CloudHSM
<a name="reference-mfa-cloudhsm-cli"></a>

El archivo del token que se genera al registrar una clave pública de autenticación multifactor (MFA) o al intentar iniciar sesión en la CLI de CloudHSM mediante MFA consta de lo siguiente:
+ **Tokens: una matriz de pares de unsigned/signed tokens** codificados en base64 en forma de objetos literales JSON.
+ **Sin firmar: un token** codificado y codificado en base64. SHA256 
+ **Signed**: un token firmado (firma) codificado en base64 del token sin firmar que emplea la clave privada RSA de 2048 bits.

```
{
  "version": "2.0",
  "tokens": [
    {
      "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=",
      "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w=="
    },
    {
      "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=",
      "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w=="
    },
    {
      "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=",
      "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA=="
    }
  ]
}
```

# Administrar la autenticación de cuórum (control de acceso M de N) mediante la CLI de CloudHSM
<a name="quorum-auth-chsm-cli"></a>

AWS CloudHSM Los clústeres admiten la autenticación de quórum, también conocida como control de acceso M of N. Esta característica requiere que los usuarios del HSM cooperen para determinadas operaciones, lo que agrega una capa adicional de protección.

Con la autenticación por quórum, ningún usuario individual del HSM puede realizar operaciones controladas por quórum en el HSM. En su lugar, para llevar a cabo estas operaciones debe cooperar un número mínimo de usuarios del HSM (al menos 2).

La autenticación de cuórum puede controlar las siguientes operaciones:
+ Administración de usuarios del HSM por [admin](understanding-users.md#admin): creación y eliminación de usuarios del HSM o cambio de la contraseña de otro usuario del HSM. Para obtener más información, consulte [Administración de usuarios con autenticación de quórum habilitada para AWS CloudHSM usar CloudHSM CLI](quorum-auth-chsm-cli-admin.md).

Puntos clave sobre la autenticación por quórum en AWS CloudHSM:
+ Un usuario del HSM puede firmar su propio token de quórum; es decir, proporciona una de las aprobaciones necesarias para la autenticación por quórum.
+ Elige el número mínimo de aprobadores de quórum, que va de dos (2) a ocho (8).
+ HSMs puede almacenar hasta 1024 fichas de quórum. Cuando se alcanza este límite, el HSM purga un token caducado para crear uno nuevo.
+ Los tokens caducan diez minutos después de su creación de forma predeterminada.
+ En el caso de los clústeres con MFA habilitado, se usa la misma clave tanto para la autenticación por quórum como para la autenticación multifactor (MFA). Consulte [Uso de la CLI de CloudHSM para administrar MFA](login-mfa-token-sign.md) para obtener más información.
+ Cada HSM puede contener un token por servicio de usuario administrador y varios tokens por servicio de usuario de criptografía.

Los siguientes temas contienen más información acerca de la autenticación de cuórum en AWS CloudHSM.

**Topics**
+ [Proceso de autenticación de cuórum para la CLI de CloudHSM](quorum-auth-chsm-cli-overview.md)
+ [Nombres y tipos AWS CloudHSM de servicio compatibles para la autenticación de quórum con la CLI de CloudHSM](quorum-auth-chsm-cli-service-names.md)
+ [Configurar la autenticación de quórum para los AWS CloudHSM administradores mediante la CLI de CloudHSM](quorum-auth-chsm-cli-first-time.md)
+ [Administración de usuarios con autenticación de quórum habilitada para AWS CloudHSM usar CloudHSM CLI](quorum-auth-chsm-cli-admin.md)
+ [Cambiar el valor mínimo de quórum para AWS CloudHSM usar la CLI de CloudHSM](quorum-auth-chsm-cli-min-value.md)

# Proceso de autenticación de cuórum para la CLI de CloudHSM
<a name="quorum-auth-chsm-cli-overview"></a>

En los siguientes pasos, se resumen los procesos de autenticación de cuórum para la CLI de CloudHSM. Para informarse de las herramientas y los específicos, consulte [Administración de usuarios con autenticación de quórum habilitada para AWS CloudHSM usar CloudHSM CLI](quorum-auth-chsm-cli-admin.md).

1. Cada usuario del módulo de seguridad de hardware (HSM) crea una clave asimétrica para la firma. Los usuarios lo hacen fuera del HSM, teniendo cuidado de proteger la clave adecuadamente.

1. Cada usuario del HSM se conecta al HSM y registra la parte pública de su clave de firma (la clave pública) en el HSM.

1. Cuando un usuario del HSM quiere realizar una operación controlada mediante cuórum, inicia sesión en el HSM y obtiene un *token de cuórum*.

1. El usuario del HSM pasa el token de cuórum a uno o varios usuarios de ese HSM y les pide su aprobación.

1. Los otros usuarios del HSM dan su aprobación utilizando sus claves para firmar criptográficamente el token de cuórum. Esto se produce fuera del HSM.

1. Cuando el usuario del HSM tiene el número de aprobaciones requerido, el mismo usuario inicia sesión en el HSM y ejecuta la operación controlada por cuórum con el argumento **--approval**, proporcionando el archivo del token de cuórum firmado, que contiene todas las aprobaciones (firmas) necesarias.

1. El HSM utiliza las claves públicas registradas de cada firmante para verificar las firmas. Si las firmas son válidas, el HSM aprueba el token y se lleva a cabo la operación controlada por cuórum.

# Nombres y tipos AWS CloudHSM de servicio compatibles para la autenticación de quórum con la CLI de CloudHSM
<a name="quorum-auth-chsm-cli-service-names"></a>

**Servicios de administración**: la autenticación de cuórum se utiliza para los servicios con privilegios de administrador, como la creación y eliminación de usuarios, el cambio de las contraseñas de los usuarios, la configuración de los valores de cuórum y la desactivación de las capacidades de cuórum y MFA.

**Servicios para usuarios de criptomonedas**: la autenticación de quórum se utiliza para los servicios privilegiados de los usuarios de criptomonedas asociados a una clave específica, como firmar con una clave, una clave, sharing/unsharing una clave y establecer el atributo de wrapping/unwrapping una clave. El valor de quórum de una clave asociada se configura cuando la clave se genera, se importa o se desencapsula. El valor de quórum debe ser igual o inferior al número de usuarios con los que la clave está asociada, lo que incluye a los usuarios con quienes se comparte la clave y al propietario de la clave.

Además, cada tipo de servicio se divide en un nombre de servicio válido que contiene un conjunto específico de operaciones de servicio compatibles con cuórum que se pueden realizar.


****  

| Nombre del servicio | Tipo de servicio | Operaciones de servicio | 
| --- | --- | --- | 
| usuario | Administrador |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/quorum-auth-chsm-cli-service-names.html)  | 
| quorum | Administrador |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/quorum-auth-chsm-cli-service-names.html)  | 
| cluster1 | Administrador |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/quorum-auth-chsm-cli-service-names.html)  | 
| Administración de claves | Usuario de criptografía |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/quorum-auth-chsm-cli-service-names.html)  | 
| Uso de claves | Usuario de criptografía |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/quorum-auth-chsm-cli-service-names.html)  | 

[1] El servicio de clústeres está disponible exclusivamente en hsm2m.medium

# Configurar la autenticación de quórum para los AWS CloudHSM administradores mediante la CLI de CloudHSM
<a name="quorum-auth-chsm-cli-first-time"></a>

En los temas siguientes se describen los pasos que debe realizar para configurar el módulo de seguridad de hardware (HSM) de forma que los AWS CloudHSM [administradores](understanding-users.md#admin) puedan utilizar la autenticación de quórum. Debe seguir estos pasos solo una vez cuando configure por primera vez la autenticación de cuórum para administradores. Después de completar estos pasos, consulte [Administración de usuarios con autenticación de quórum habilitada para AWS CloudHSM usar CloudHSM CLI](quorum-auth-chsm-cli-admin.md).

**Topics**
+ [Requisitos previos](#quorum-admin-prerequisites)
+ [Paso 1. Creación y registro de una clave de firma](#quorum-admin-create-and-register-key)
+ [Paso 2. Cómo establecer el valor mínimo de cuórum en el HSM](#quorum-admin-set-quorum-minimum-value-chsm-cli)
+ [Valores mínimos de quórum](#cloudhsm_cli-qm-list-minimum)

## Requisitos previos
<a name="quorum-admin-prerequisites"></a>

Para comprender este ejemplo, debe conocer la [CLI de CloudHSM](cloudhsm_cli.md).

## Paso 1. Creación y registro de una clave de firma
<a name="quorum-admin-create-and-register-key"></a>

Para usar la autenticación de cuórum, cada administrador debe completar *todos* los pasos indicados: 

**Topics**
+ [Creación de un par de claves RSA](#mofn-key-pair-create-chsm-cli)
+ [Creación y firma de un token de registro](#mofn-registration-token-chsm-cli)
+ [Cómo registrar una clave pública con el HSM](#mofn-register-key-chsm-cli)

### Creación de un par de claves RSA
<a name="mofn-key-pair-create-chsm-cli"></a>

Hay muchas formas de crear y proteger un par de claves. El siguiente ejemplo muestra cómo hacerlo con [OpenSSL](https://www.openssl.org/).

**Example : creación de una clave privada con OpenSSL**  
En el siguiente ejemplo, se muestra cómo utilizar OpenSSL para crear una clave RSA de 2048 bits. Para usar este ejemplo, *<admin.key>* sustitúyalo por el nombre del archivo en el que deseas almacenar la clave.  

```
$ openssl genrsa -out <admin.key>
Generating RSA private key, 2048 bit long modulus
.....................................+++
.+++
e is 65537 (0x10001)
```

A continuación, genere la clave pública usando la clave privada que acaba de crear.

**Example : creación de una clave pública con OpenSSL**  
El siguiente ejemplo muestra cómo usar OpenSSL para crear una clave pública a partir de la clave privada que acaba de crear.  

```
$ openssl rsa -in admin.key -outform PEM -pubout -out admin1.pub
writing RSA key
```

### Creación y firma de un token de registro
<a name="mofn-registration-token-chsm-cli"></a>

Cree un token y fírmelo con la clave privada que acaba de generar en el paso anterior.

**Example Creación de un token de registro**  

1. Use el siguiente comando para iniciar la CLI de CloudHSM:

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Cree un token de registro ejecutando el 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. El comando [quorum token-sign generate](cloudhsm_cli-qm-token-gen.md) genera un token de registro en la ruta de archivo especificada. Inspeccione el archivo del token:

   ```
   $ cat /path/tokenfile
   {
     "version": "2.0",
     "tokens": [
       {
         "approval_data": <approval data in base64 encoding>,
         "unsigned": <unsigned token in base64 encoding>,
         "signed": ""
       }
     ]
   }
   ```

   El archivo del token consta de lo siguiente:
   + **approval\$1data**: un token de datos aleatorios codificado en base64 cuyos datos sin procesar no exceden el máximo de 245 bytes.
   + **sin firmar**: un token de approval\$1data codificado y SHA256 codificado en base64.
   + **signed**: un token firmado (firma) codificado en base64 del token sin firmar que emplea la clave privada RSA de 2048 bits generada anteriormente con OpenSSL.

   Firme el token sin firmar con la clave privada para demostrar que tiene acceso a la clave privada. Necesitará completar el archivo del token de registro con una firma y la clave pública para registrar al administrador como usuario del quórum en el clúster. AWS CloudHSM 

**Example : firme el token de registro sin firmar.**  

1. Decodifique el token sin firmar codificado en base64 e introdúzcalo en un archivo binario:

   ```
   $ echo -n '6BMUj6mUjjko6ZLCEdzGlWpR5sILhFJfqhW1ej3Oq1g=' | base64 -d > admin.bin
   ```

1. Use OpenSSL y la clave privada para firmar el token de registro ahora binario sin firmar, y cree un archivo de firma binaria:

   ```
   $ openssl pkeyutl -sign \
   -inkey admin.key \
   -pkeyopt digest:sha256 \
   -keyform PEM \
   -in admin.bin \
   -out admin.sig.bin
   ```

1. Codifique la firma binaria en base64:

   ```
   $ base64 -w0 admin.sig.bin > admin.sig.b64
   ```

1. Copie y pegue la firma codificada en base64 en el archivo del token:

   ```
   {
     "version": "2.0",
     "tokens": [
       {
         "approval_data": <approval data in base64 encoding>,
         "unsigned": <unsigned token in base64 encoding>,
         "signed": <signed token in base64 encoding>
       }
     ]
   }
   ```

### Cómo registrar una clave pública con el HSM
<a name="mofn-register-key-chsm-cli"></a>

Tras crear una clave, el administrador debe registrar la clave pública en el AWS CloudHSM clúster.

**Para registrar una clave pública en el HSM**

1. Use el siguiente comando para iniciar la CLI de CloudHSM:

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Inicie sesión en la CLI de CloudHSM como administrador.

   ```
   aws-cloudhsm > login --username <admin> --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "admin"
     }
   }
   ```

1. Utilice el comando **[Registro de una estrategia de cuórum con firma de token de un usuario mediante la CLI de CloudHSM](cloudhsm_cli-user-chqm-token-reg.md)** para registrar la clave pública. Para obtener más información, consulte el siguiente ejemplo o utilice el comando **help user change-quorum token-sign register**.

**Example — Registrar una clave pública con el AWS CloudHSM clúster**  
En el siguiente ejemplo, se explica cómo se utiliza el comando **user change-quorum token-sign register** la CLI de CloudHSM para registrar una clave pública del administrador con el HSM. Para utilizar este comando, el administrador tiene que haber iniciado sesión en el HSM. Reemplace estos valores por sus propios valores:  

```
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**: ruta del archivo PEM de clave pública  
**Obligatorio**: sí  
**/path/tokenfile**: ruta del archivo con el token firmado por la clave privada del usuario  
**Obligatorio**: sí
Una vez que todos los administradores hayan registrado sus claves públicas, el resultado del comando **user list** mostrará lo siguiente en el campo de cuórum e indicará la estrategia de cuórum habilitada, tal como se muestra a continuación:  

```
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"
      }
    ]
  }
}
```
 En este ejemplo, el AWS CloudHSM clúster tiene dos HSMs, cada uno con los mismos administradores, como se muestra en el siguiente resultado del **user list** comando. Para obtener más información sobre la creación de usuarios, consulte [Administración de usuarios con la CLI de CloudHSM](manage-hsm-users-chsm-cli.md)

## Paso 2. Cómo establecer el valor mínimo de cuórum en el HSM
<a name="quorum-admin-set-quorum-minimum-value-chsm-cli"></a>

Para utilizar autenticación de cuórum para administradores, un administrador debe iniciar sesión en el HSM y, a continuación, establecer el *valor mínimo de cuórum*. Este es el número mínimo de aprobaciones del administrador necesarias para realizar las operaciones de administración de usuarios de HSM. Cualquier administrador en el HSM puede establecer el valor mínimo de cuórum, incluidos los administradores que no han registrado una clave para firmar. Puede cambiar el valor mínimo de quórum en cualquier momento. Para obtener más información, consulte [Cambio del valor mínimo](quorum-auth-chsm-cli-min-value.md).

**Para establecer el valor mínimo de cuórum en el HSM**

1. Use el siguiente comando para iniciar la CLI de CloudHSM:

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Inicie sesión en la CLI de CloudHSM como administrador.

   ```
   aws-cloudhsm > login --username <admin> --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "admin"
     }
   }
   ```

1. Utilice el comando **[Actualización de un valor de cuórum mediante la CLI de CloudHSM](cloudhsm_cli-qm-token-set-qm.md)** para establecer el valor mínimo de cuórum. El indicador `--service` identifica el servicio del HSM para el que se establecen los valores. Consulte el siguiente ejemplo o use el comando **help quorum token-sign set-quorum-value** para obtener más información.

**Example : establecimiento del valor mínimo de cuórum del HSM**  
Este ejemplo utiliza un valor mínimo de cuórum de dos (2). Puede elegir cualquier valor entre dos (2) y ocho (8), hasta alcanzar el número total de administradores en el HSM. En este ejemplo, el HSM tiene cuatro (4) administradores, por lo que el valor máximo posible es cuatro (4).  
Para usar el siguiente comando de ejemplo, sustituya el número final (*<2>*) por el 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"
}
```
En este ejemplo, el comando **[Mostrar los valores de cuórum mediante la CLI de CloudHSM](cloudhsm_cli-qm-token-list-qm.md)** enumera los tipos de servicios del HSM, sus nombres y descripciones incluidos en el servicio. 

## Valores mínimos de quórum
<a name="cloudhsm_cli-qm-list-minimum"></a>

Utilice el comando **quorum token-sign list-quorum-values** para obtener el valor mínimo de cuórum del servicio.

```
aws-cloudhsm > quorum token-sign list-quorum-values
{
  "error_code": 0,
  "data": {
    "user": 2,
    "quorum": 1
  }
}
```

El resultado del comando **quorum token-sign list-quorum-values** anterior muestra que el valor mínimo de cuórum para las operaciones de gestión de usuarios de HSM ahora es dos (2). Después de completar estos pasos, consulte [Administración de usuarios con cuórum (M de N)](quorum-auth-chsm-cli-admin.md).

**Servicios de administración**: la autenticación de cuórum se utiliza para los servicios con privilegios de administrador, como la creación y eliminación de usuarios, el cambio de las contraseñas de los usuarios, la configuración de los valores de cuórum y la desactivación de las capacidades de cuórum y MFA.

**Servicios para usuarios criptográficos**: la autenticación de quórum se utiliza para los servicios privilegiados de los usuarios criptográficos asociados a una clave específica, como firmar con una clave, sharing/unsharing una clave, wrapping/unwrapping una clave y establecer el atributo de una clave. El valor de quórum de una clave asociada se configura cuando la clave se genera, se importa o se desencapsula. El valor de quórum debe ser igual o inferior al número de usuarios con los que la clave está asociada, lo que incluye a los usuarios con quienes se comparte la clave y al propietario de la clave.

Además, cada tipo de servicio se divide en un nombre de servicio válido que contiene un conjunto específico de operaciones de servicio compatibles con cuórum que se pueden realizar.


****  

| Nombre del servicio | Tipo de servicio | Operaciones de servicio | 
| --- | --- | --- | 
| usuario | Administrador |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/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/es_es/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/es_es/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| Administración de claves | Usuario de criptografía |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 
| Uso de claves | Usuario de criptografía |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cloudhsm/latest/userguide/quorum-auth-chsm-cli-first-time.html)  | 

[1] El servicio de clústeres está disponible exclusivamente en hsm2m.medium

# Administración de usuarios con autenticación de quórum habilitada para AWS CloudHSM usar CloudHSM CLI
<a name="quorum-auth-chsm-cli-admin"></a>

Un AWS CloudHSM [administrador](understanding-users.md#admin) del módulo de seguridad de hardware (HSM) puede configurar la autenticación de quórum para las siguientes operaciones del clúster: AWS CloudHSM 
+ **[Crear un AWS CloudHSM usuario con la CLI de CloudHSM](cloudhsm_cli-user-create.md)**
+ **[Eliminar un AWS CloudHSM usuario con la CLI de CloudHSM](cloudhsm_cli-user-delete.md)**
+ **[Cambiar la contraseña de un usuario con la CLI de CloudHSM](cloudhsm_cli-user-change-password.md)**
+ **[La categoría de cambio de MFA del usuario en la CLI de CloudHSM](cloudhsm_cli-user-change-mfa.md)**

Una vez configurado el AWS CloudHSM clúster para la autenticación de quórum, los administradores no pueden realizar por sí solos las operaciones de administración de usuarios del HSM. El siguiente ejemplo muestra el resultado cuando un administrador intenta crear un usuario nuevo en el HSM. La ejecución del comando devuelve un error, indicando la obligatoriedad de la autenticación de cuórum.

```
aws-cloudhsm > user create --username user1 --role crypto-user
Enter password:
Confirm password:
{
  "error_code": 1,
  "data": "Quorum approval is required for this operation"
}
```

Para realizar una operación de administración de usuarios de HSM, un administrador debe completar las siguientes tareas:

**Topics**
+ [Paso 1. Cómo obtener un token de cuórum](#quorum-admin-gen-token-chsm-cli)
+ [Paso 2. Obtención de firmas de los administradores responsables de la aprobación](#quorum-admin-get-approval-signatures-chsm-cli)
+ [Paso 3. Apruebe el token en el AWS CloudHSM clúster y ejecute una operación de administración de usuarios](#quorum-admin-approve-token-chsm-cli)

## Paso 1. Cómo obtener un token de cuórum
<a name="quorum-admin-gen-token-chsm-cli"></a>

En primer lugar, el administrador deberá usar la CLI de CloudHSM para solicitar un *token de cuórum*.

**Para obtener un token de cuórum**

1. Use el siguiente comando para iniciar la CLI de CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Inicie sesión en la CLI de CloudHSM como administrador.

   ```
   aws-cloudhsm > login --username <admin> --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "admin"
     }
   }
   ```

1. Utilice el comando **quorum token-sign generate** para generar un token de cuórum. Para obtener más información, consulte el siguiente ejemplo o utilice el comando **help quorum token-sign generate**.

**Example : genera un token de cuórum.**  
Este ejemplo obtiene un token de cuórum para el administrador con nombre de usuario `admin` y guarda el token en un archivo denominado `admin.token`. Para utilizar el comando de ejemplo, sustituya estos valores por los suyos:  
+ *<admin>*— El nombre del administrador que va a recibir el token. Debe ser el mismo administrador que ha iniciado sesión en el HSM y está ejecutando este comando.
+ *<admin.token>*— El nombre del archivo que se utilizará para almacenar el token de quórum.
En el siguiente comando, `user` identifica el *nombre del servicio* para el que puede utilizar el token que está obteniendo. En este caso, el token es para las operaciones de administración de usuarios de HSM (servicio `user`).  

```
aws-cloudhsm > login --username <admin> --role admin --password <password>
{
  "error_code": 0,
  "data": {
    "username": "<admin>",
    "role": "admin"
  }
}
```

```
aws-cloudhsm > quorum token-sign generate --service user --token </path/admin.token>
{
  "error_code": 0,
  "data": {
    "path": "/home/tfile"
  }
}
```
El comando **quorum token-sign generate** genera un token de cuórum de servicio de usuario en la ruta de archivo especificada. El archivo del token se puede inspeccionar:  

```
$ cat </path/admin.token>
{
  "version": "2.0",
  "service": "user-management",
  "approval_data": "AAEAAwAAABgAAAAAAAAAAJ9eFkfcP3mNzJAlfK+OWbNhZG1pbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj5vbeAAAAAAAAAAAAAQADAAAAFQAAAAAAAAAAW/v5Euk83amq1fij0zyvD2FkbWluAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPm9t4AAAAAAAAAAAABAAMAAAAUAAAAAAAAAABDw2XDwfK4hB8a15Xh1E0nYWRtaW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY+b23gAAAAAAAAAA",
  "token": "0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=",
  "signatures": []
}
```
El archivo del token consta de lo siguiente:  
+ **servicio**: identificador del servicio de quórum al que está asociado el token.
+ **approval\$1data**: un token de datos base64 sin procesar generado por el HSM.
+ **token:** un token de approval\$1data codificado en base64 y con hash SHA-256
+ **signatures**: un conjunto de tokens firmados (firmas) y codificados en base64 del token sin firmar, donde cada firma de un aprobador tiene la forma de un objeto JSON literal: 

  ```
  {
        "username": "<APPROVER_USERNAME>",
        "role": "<APPROVER_ROLE>",
        "signature": "<APPROVER_RSA2048_BIT_SIGNATURE>"
  }
  ```

  Cada firma se crea a partir del resultado de un aprobador que usa su clave privada RSA de 2048 bits correspondiente, cuya clave pública se registró en el HSM.
Se puede confirmar que el token de cuórum del servicio de usuario generado existe en el clúster de CloudHSM ejecutando el comando **quorum token-sign list**:  

```
aws-cloudhsm > quorum token-sign list
{
  "error_code": 0,
  "data": {
    "tokens": [
      {
        "username": "admin",
        "service": "user",
        "approvals-required": {
          "value": 2
        },
        "number-of-approvals": {
          "value": 0
        },
        "token-timeout-seconds": {
          "value": 597
        },
        "cluster-coverage": "full"
      }
    ]
  }
}
```
El tiempo `token-timeout-seconds` indica el tiempo de espera en segundos para que un token generado se apruebe antes de que caduque.

## Paso 2. Obtención de firmas de los administradores responsables de la aprobación
<a name="quorum-admin-get-approval-signatures-chsm-cli"></a>

Un administrador que tiene un token de cuórum debe obtener la aprobación del token de otros administradores. Para dar su aprobación, los otros administradores utilizan su clave de firma para firmar criptográficamente el token. Lo hacen fuera del HSM.

Existen muchas maneras diferentes de firmar el token. El siguiente ejemplo muestra cómo hacerlo con [OpenSSL](https://www.openssl.org/). Para utilizar otra herramienta de firma, asegúrese de que la herramienta utiliza la clave privada del administrador (clave de firma) para firmar un resumen SHA-256 del token.

**Example : obtenga firmas de los administradores responsables de la aprobación.**  
En este ejemplo, el administrador que tiene el token (`admin`) necesita al menos dos (2) aprobaciones. Los siguientes comandos de ejemplo muestran cómo dos (2) administradores pueden utilizar OpenSSL para firmar el token criptográficamente.  

1. Decodifique el token sin firmar codificado en base64 e introdúzcalo en un archivo binario:

   ```
   $ echo -n '0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=' | base64 -d > admin.bin
   ```

1. Use OpenSSL y la clave privada correspondiente del aprobador `(admin3)` para firmar el token sin firmar de cuórum, ahora binario, para el servicio de usuario y crear un archivo de firma binaria:

   ```
   $ openssl pkeyutl -sign \
   -inkey admin3.key \
   -pkeyopt digest:sha256 \
   -keyform PEM \
   -in admin.bin \
   -out admin.sig.bin
   ```

1. Codifique la firma binaria en base64:

   ```
   $ base64 -w0 admin.sig.bin > admin.sig.b64
   ```

1. Por último, copie y pegue la firma codificada en base64 en el archivo de token, siguiendo el formato literal del objeto JSON especificado anteriormente para la firma del aprobador:

   ```
   {
     "version": "2.0",
     "approval_data": "AAEAAwAAABgAAAAAAAAAAJ9eFkfcP3mNzJAlfK+OWbNhZG1pbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj5vbeAAAAAAAAAAAAAQADAAAAFQAAAAAAAAAAW/v5Euk83amq1fij0zyvD2FkbWluAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPm9t4AAAAAAAAAAAABAAMAAAAUAAAAAAAAAABDw2XDwfK4hB8a15Xh1E0nYWRtaW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY+b23gAAAAAAAAAA",
     "token": "0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=",
     "signatures": [
       {
         "username": "admin2",
         "role": "admin",
         "signature": "O6qx7/mUaVkYYVr1PW7l8JJko+Kh3e8zBIqdk3tAiNy+1rW+OsDtvYujhEU4aOFVLcrUFmyB/CX9OQmgJLgx/pyK+ZPEH+GoJGqk9YZ7X1nOXwZRP9g7hKV+7XCtg9TuDFtHYWDpBfz2jWiu2fXfX4/jTs4f2xIfFPIDKcSP8fhxjQ63xEcCf1jzGha6rDQMu4xUWWdtDgfT7um7EJ9dXNoHqLB7cTzphaubNaEFbFPXQ1siGmYKmvETlqe/ssktwyruGFLpXs1n0tJOEglGhx2qbYTs+omKWZdORl5WIWEXW3IXw/Dg5vVObrNpvG0eZKO8nSMc27+cyPySc+ZbNw=="
       },
       {
         "username": "admin3",
         "role": "admin",
         "signature": "O6qx7/mUaVkYYVr1PW7l8JJko+Kh3e8zBIqdk3tAiNy+1rW+OsDtvYujhEU4aOFVLcrUFmyB/CX9OQmgJLgx/pyK+ZPEH+GoJGqk9YZ7X1nOXwZRP9g7hKV+7XCtg9TuDFtHYWDpBfz2jWiu2fXfX4/jTs4f2xIfFPIDKcSP8fhxjQ63xEcCf1jzGha6rDQMu4xUWWdtDgfT7um7EJ9dXNoHqLB7cTzphaubNaEFbFPXQ1siGmYKmvETlqe/ssktwyruGFLpXs1n0tJOEglGhx2qbYTs+omKWZdORl5WIWEXW3IXw/Dg5vVObrNpvG0eZKO8nSMc27+cyPySc+ZbNw=="
       }
     ]
   }
   ```

## Paso 3. Apruebe el token en el AWS CloudHSM clúster y ejecute una operación de administración de usuarios
<a name="quorum-admin-approve-token-chsm-cli"></a>

Una vez que el administrador cuente con las aprobaciones o firmas necesarias, tal y como se detalla en la sección anterior, puede proporcionar ese token al clúster de AWS CloudHSM junto con una de las siguientes operaciones de administración de usuarios:
+ **[crear](cloudhsm_cli-user-create.md)**
+ **[eliminar](cloudhsm_cli-user-delete.md)**
+ **[change-password](cloudhsm_cli-user-change-password.md)**
+ **[user change-mfa](cloudhsm_cli-user-change-mfa.md)**

Para obtener más información acerca del uso de estos comandos, consulte [Administración de usuarios con la CLI de CloudHSM](manage-hsm-users-chsm-cli.md).

Durante la transacción, el token se aprobará dentro del AWS CloudHSM clúster y ejecutará la operación de administración de usuarios solicitada. El éxito de la operación de administración de usuarios depende, por un lado, de un token de cuórum válido y aprobado y, por otro, de una operación de administración de usuarios válida.

El administrador puede utilizar el token para una sola operación. Cuando dicha operación se realiza correctamente, el token ya no es válido. Para realizar otra operación de administración de usuarios de HSM, el administrador deberá repetir el proceso anteriormente descrito. Es decir, el administrador debe generar un nuevo token de cuórum, obtener firmas nuevas de los aprobadores y usar el token nuevo en el HSM con la administración de usuarios solicitada.

**nota**  
El token de cuórum solo será válido mientras se mantenga la sesión actual iniciada. Si cierra sesión en la CLI de CloudHSM o si la red se desconecta, el token perderá su validez. Del mismo modo, un token autorizado solo puede usarse en la CLI de CloudHSM. No puede usarse para autenticarse en una aplicación diferente.

**Example Creación de un nuevo usuario como administrador**  
En el siguiente ejemplo, un administrador conectado crea un nuevo usuario en el HSM.  

```
aws-cloudhsm > user create --username user1 --role crypto-user --approval /path/admin.token
Enter password:
Confirm password:
{
  "error_code": 0,
  "data": {
    "username": "user1",
    "role": "crypto-user"
  }
}
```
A continuación, el administrador introduce el comando **user list** para confirmar la creación del nuevo usuario:  

```
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": "user1",
        "role": "crypto-user",
        "locked": "false",
        "mfa": [],
        "quorum": [],
        "cluster-coverage": "full"
      },
      {
        "username": "app_user",
        "role": "internal(APPLIANCE_USER)",
        "locked": "false",
        "mfa": [],
        "quorum": [],
        "cluster-coverage": "full"
      }
    ]
  }
}
```
Si el administrador intenta realizar otra operación de administración de usuarios de HSM, da error con un error de autenticación de cuórum.  

```
aws-cloudhsm > user delete --username user1 --role crypto-user
{
  "error_code": 1,
  "data": "Quorum approval is required for this operation"
}
```
Como se muestra a continuación, el comando **quorum token-sign list** muestra que el administrador no tiene ningún token aprobado. Para realizar otra operación de administración de usuarios de HSM, el administrador debe generar un nuevo token de cuórum, conseguir nuevas firmas de los aprobadores y ejecutar la operación de administración de usuarios deseada con el argumento --approval, para proporcionar el token de cuórum que se aprobará y consumirá durante la ejecución de la operación de administración de usuarios.  

```
aws-cloudhsm > quorum token-sign list
{
  "error_code": 0,
  "data": {
    "tokens": []
  }
}
```

# Cambiar el valor mínimo de quórum para AWS CloudHSM usar la CLI de CloudHSM
<a name="quorum-auth-chsm-cli-min-value"></a>

Después de [establecer el valor mínimo de quórum](quorum-auth-chsm-cli-first-time.md#quorum-admin-set-quorum-minimum-value-chsm-cli) para los usuarios [administradores](understanding-users.md#admin) de CloudHSM, es posible que deba ajustar el valor mínimo de quórum. El HSM permite cambios en el valor mínimo de quórum solo cuando el número de aprobadores cumple o supera el valor actual. Por ejemplo, con un valor mínimo de quórum de dos (2), al menos dos (2) usuarios administradores deben aprobar cualquier cambio.

**nota**  
El valor de quórum del servicio de usuario siempre debe ser menor o igual que el valor de quórum del servicio de quórum. Para obtener información sobre los nombres de los servicios, consulte [Nombres y tipos AWS CloudHSM de servicio compatibles para la autenticación de quórum con la CLI de CloudHSM](quorum-auth-chsm-cli-service-names.md).

Para obtener aprobación de cuórum para cambiar el valor mínimo de cuórum, necesita un *token de cuórum* para **quorum service** usando el comando **quorum token-sign set-quorum-value**. Para generar un token de cuórum para el **quorum service** que utiliza el comando **quorum token-sign set-quorum-value**, el servicio de cuórum debe ser superior a uno (1). Esto significa que antes de que pueda cambiar el valor mínimo de cuórum para el *servicio de usuario*, puede que necesite cambiar el valor mínimo de cuórum para el *servicio de cuórum*.

**Pasos para cambiar el valor mínimo de quórum para usuarios administradores**

1. Inicie el modo interactivo de la CLI de CloudHSM.

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Inicie sesión en la CLI de CloudHSM como administrador.

   ```
   aws-cloudhsm > login --username <admin> --role admin
   Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "<admin>",
       "role": "admin"
     }
   }
   ```

1. Compruebe los valores mínimos de quórum actuales:

   ```
   aws-cloudhsm > quorum token-sign list-quorum-values
   ```

1. Si el valor mínimo de quórum del servicio de quórum es inferior al valor del servicio de usuario, cambie el valor del *servicio de quórum*:

   ```
   aws-cloudhsm > quorum token-sign set-quorum-value --service quorum --value <3>
   ```

1. [Genere un token de quórum](quorum-auth-chsm-cli-admin.md#quorum-admin-gen-token-chsm-cli) para el servicio de quórum.

1. [Obtenga aprobaciones (firmas) de otros administradores.](quorum-auth-chsm-cli-admin.md#quorum-admin-get-approval-signatures-chsm-cli).

1. [Apruebe el token en el clúster de CloudHSM y ejecute una operación de administración de usuarios.](quorum-auth-chsm-cli-admin.md#quorum-admin-approve-token-chsm-cli) 

1. Cambie el valor mínimo de quórum para el *servicio de usuario*:

   ```
   aws-cloudhsm > quorum token-sign set-quorum-value
   ```

**Example Cómo ajustar los valores mínimos del *servicio de quórum***  

1. **Comprobación de los valores actuales**. El ejemplo muestra que el valor mínimo de quórum para el *servicio de usuario* es actualmente dos (2).

   ```
   aws-cloudhsm > quorum token-sign list-quorum-values
   {
     "error_code": 0,
     "data": {
       "user": 2,
       "quorum": 1
     }
   }
   ```

1. **Cambio del valor del servicio de quórum**. Establezca el valor mínimo de quórum para el *servicio de quórum* en un valor igual o superior al valor del *servicio de usuario*. Este ejemplo establece el valor mínimo de quórum para el *servicio de quórum* en dos (2), el mismo valor que se estableció para el *servicio de usuario* en el ejemplo anterior.

   ```
   aws-cloudhsm > quorum token-sign set-quorum-value --service quorum --value 2
   {
     "error_code": 0,
     "data": "Set quorum value successful"
   }
   ```

1. **Compruebe los cambios**. Este ejemplo muestra que el valor mínimo de quórum ahora es dos (2) tanto para el *servicio de usuario* como para el *servicio de quórum*.

   ```
   aws-cloudhsm > quorum token-sign list-quorum-values
   {
     "error_code": 0,
     "data": {
       "user": 2,
       "quorum": 2
     }
   }
   ```