Configuración de la autenticación de cuórum para los administradores de AWS CloudHSM mediante la CLI de CloudHSM - 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.

Configuración de la autenticación de cuórum para los administradores de AWS CloudHSM mediante la CLI de CloudHSM

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

Requisitos previos

Para comprender este ejemplo, debe conocer la CLI de CloudHSM.

Paso 1. Creación y registro de una clave de firma

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

Creación de un par de claves RSA

Hay muchas formas de crear y proteger un par de claves. El siguiente ejemplo muestra cómo hacerlo con OpenSSL.

ejemplo : creación de una clave privada con OpenSSL

El siguiente ejemplo muestra cómo utilizar OpenSSL para crear una clave RSA de 2048 bits. Para usar este ejemplo, reemplácelo <admin.key> por el nombre del archivo en el que desee 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.

ejemplo : 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

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

ejemplo 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
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Cree un token de registro ejecutando el comando quorum token-sign generate:

    aws-cloudhsm > quorum token-sign generate --service registration --token /path/tokenfile { "error_code": 0, "data": { "path": "/path/tokenfile" } }
  3. El comando quorum token-sign generate 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_data: 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_data 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

ejemplo : 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
  2. 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
  3. Codifique la firma binaria en base64:

    $ base64 -w0 admin.sig.bin > admin.sig.b64
  4. 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

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
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. 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" } }
  3. Utilice el comando Registro de una estrategia de cuórum con firma de token de un usuario mediante la CLI de CloudHSM 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.

ejemplo — 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" } }
nota

/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

Paso 2. Cómo establecer el valor mínimo de cuórum en el HSM

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.

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
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. 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" } }
  3. Utilice el comando Actualización de un valor de cuórum mediante la CLI de CloudHSM para establecer el valor mínimo de cuórum. El --service indicador identifica el servicio de HSM para el que está configurando los valores. Consulte el siguiente ejemplo o utilice el help quorum token-sign set-quorum-value comando para obtener más información.

ejemplo : 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 Mostrar los valores de cuórum mediante la CLI de CloudHSM comando muestra los tipos, nombres y descripciones de los servicios de HSM que se incluyen en el servicio.

Valores mínimos de quórum

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

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, sharing/unsharing a key, wrapping/unwrapping una clave y establecer el atributo de una clave. El valor de quórum de una clave asociada se configura al generar, importar o desempaquetar la clave. El valor de quórum debe ser igual o inferior al número de usuarios a los que está asociada la clave, que incluye a los usuarios con los que 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
  • user create

  • user delete

  • user change-password

  • user change-mfa

quorum Administrador
  • signo simbólico de quórum set-quorum-value

cluster1 Administrador
  • clúster mtls register-trust-anchor

  • clúster mtls deregister-trust-anchor

  • cluster mtls set-enforcement

administración de claves Usuario criptográfico
  • envoltorio para llaves

  • desenvolver llaves

  • key share

  • key unshare

  • key set-attribute

uso de claves Usuario criptográfico
  • signo clave

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