Administración de usuarios con autenticación de quórum habilitada para AWS CloudHSM usar Cloud HSM CLI - AWS CloudHSM

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 con autenticación de quórum habilitada para AWS CloudHSM usar Cloud HSM CLI

Un AWS CloudHSM administrador 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

Una vez configurado el AWS CloudHSM clúster para la autenticación de quórum, los administradores no pueden realizar operaciones de administración HSM de usuarios por sí mismos. En el siguiente ejemplo, se muestra el resultado cuando un administrador intenta crear un nuevo usuario 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 HSM usuarios, un administrador debe completar las siguientes tareas:

Paso 1. Cómo obtener un token de cuórum

En primer lugar, el administrador debe usar Cloud HSM CLI para solicitar un token de quórum.

Para obtener un token de cuórum
  1. Usa el siguiente comando para iniciar Cloud HSMCLI.

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Ejecute el comando login e inicie sesión en el clúster como administrador.

    aws-cloudhsm>login --username admin --role admin
  3. 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.

ejemplo : 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 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 HSM usuarios (userservicio).

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", "approval_data": "AAEAAwAAABgAAAAAAAAAAJ9eFkfcP3mNzJAlfK+OWbNhZG1pbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj5vbeAAAAAAAAAAAAAQADAAAAFQAAAAAAAAAAW/v5Euk83amq1fij0zyvD2FkbWluAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPm9t4AAAAAAAAAAAABAAMAAAAUAAAAAAAAAABDw2XDwfK4hB8a15Xh1E0nYWRtaW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY+b23gAAAAAAAAAA", "token": "0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=", "signatures": [] }

El archivo del token consta de lo siguiente:

  • approval_data: un token de datos sin procesar codificado en base64 generado por. HSM

  • token: un token codificado en base64 y cifrado en SHA -256 hash de approval_data

  • firmas: conjunto de símbolos firmados (firmas) codificados en base64 del token sin firmar, en el que cada firma de un aprobador tiene la forma de un objeto literal: JSON

    { "username": "<APPROVER_USERNAME>", "signature": "<APPROVER_RSA2048_BIT_SIGNATURE>" }

    Cada firma se crea a partir del resultado de que un aprobador utilice su clave privada correspondiente de RSA 2048 bits, cuya clave pública se registró con.. HSM

Se puede confirmar que el token de quórum del servicio de usuario generado existe en el HSM clúster de la nube 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

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

Existen muchas maneras diferentes de firmar el token. El siguiente ejemplo muestra cómo hacerlo con Open SSL. Para usar una herramienta de firma diferente, asegúrate de que la herramienta utilice la clave privada del administrador (clave de firma) para firmar un resumen de SHA 256 bits del token.

ejemplo : 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 usar Open SSL para firmar criptográficamente el token.

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

    $echo -n '0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=' | base64 -d > admin.bin
  2. Utilice Open SSL y la clave privada correspondiente del aprobador (admin3) para firmar el token del servicio de usuario, ahora con quórum binario y sin firmar, y cree un archivo de firma binaria:

    $openssl pkeyutl -sign \ -inkey admin3.key \ -pkeyopt digest:sha256 \ -keyform PEM \ -in admin.bin \ -out admin.sig.bin
  3. Codifique la firma binaria en base64:

    $base64 -w0 admin.sig.bin > admin.sig.b64
  4. Por último, copie y pegue la firma codificada en base64 en el archivo de token, siguiendo el formato literal del JSON objeto especificado anteriormente para la firma del aprobador:

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

Paso 3. Apruebe el token en el clúster de AWS CloudHSM y ejecute una operación de administración de usuarios.

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:

Para obtener más información acerca del uso de estos comandos, consulte Gestión de usuarios con Cloud HSM CLI.

Durante la transacción, el token se aprobará en el 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 HSM usuarios, el administrador debe repetir el proceso descrito anteriormente. Es decir, el administrador debe generar un nuevo token de quórum, obtener nuevas firmas de los responsables de la aprobación y, a continuación, aprobar y consumir el nuevo token HSM junto con la operación de administración de usuarios solicitada.

nota

El token de cuórum solo será válido mientras se mantenga la sesión actual iniciada. Si cierras sesión en Cloud HSM CLI o si la red se desconecta, el token deja de ser válido. Del mismo modo, un token autorizado solo se puede usar en Cloud HSMCLI. No puede usarse para autenticarse en una aplicación diferente.

ejemplo Creación de un nuevo usuario como administrador

En el siguiente ejemplo, un administrador que ha iniciado sesión crea un nuevo usuario enHSM:

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 HSM usuarios, se produce un error de autenticación de quó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 HSM usuarios, el administrador debe generar un nuevo token de quórum, obtener 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 quó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": [] } }