Configurer l'authentification par quorum pour les AWS CloudHSM administrateurs à l'aide du Cloud HSM CLI - AWS CloudHSM

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

Configurer l'authentification par quorum pour les AWS CloudHSM administrateurs à l'aide du Cloud HSM CLI

Les rubriques suivantes décrivent les étapes à suivre pour configurer votre module de sécurité matériel (HSM) afin que les AWS CloudHSM administrateurs puissent utiliser l'authentification par quorum. Vous devez suivre ces étapes une seule fois lorsque vous configurez l'authentification par quorum pour les administrateurs. Une fois que vous avez terminé ces étapes, consultez Gestion des utilisateurs avec authentification par quorum activée pour AWS CloudHSM l'utilisation du Cloud HSM CLI.

Prérequis

Pour comprendre cet exemple, vous devez être familiarisé avec Cloud HSM CLI. Dans cet exemple, le AWS CloudHSM cluster en compte deuxHSMs, chacun ayant les mêmes administrateurs, comme indiqué dans le résultat suivant de la user list commande. Pour plus d'informations sur la création d'utilisateurs, consultez Gestion des utilisateurs avec le Cloud HSM CLI.

aws-cloudhsm>user list { "error_code": 0, "data": { "users": [ { "username": "admin", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin2", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin3", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin4", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "app_user", "role": "internal(APPLIANCE_USER)", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" } ] } }

Étape 1. Création et enregistrement d'une clé pour la signature

Pour utiliser l'authentification par quorum, chaque administrateur doit effectuer toutes les étapes suivantes :

Création d'une paire de RSA clés

Il existe de nombreuses manières différentes de créer et de protéger une paire de clés. Les exemples suivants montrent comment procéder avec Open SSL.

Exemple — Crée une clé privée avec Open SSL

L'exemple suivant montre comment utiliser Open SSL pour créer une RSA clé de 2 048 bits protégée par une phrase secrète. Pour utiliser cet exemple, remplacez <admin.key> avec le nom du fichier dans lequel vous souhaitez stocker la clé.

$ openssl genrsa -out <admin.key> -aes256 2048 Generating RSA private key, 2048 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for admin.key: Verifying - Enter pass phrase for admin.key:

Générez ensuite la clé publique à l'aide de la clé privée que vous venez de créer.

Exemple — Créez une clé publique avec Open SSL

L'exemple suivant montre comment utiliser Open pour créer une clé publique SSL à partir de la clé privée que vous venez de créer.

$ openssl rsa -in admin.key -outform PEM -pubout -out admin1.pub Enter pass phrase for admin.key: writing RSA key

Créez et signez un jeton d'enregistrement

Vous créez un jeton et vous le signez avec la clé privée que vous venez de générer à l'étape précédente.

Exemple — Créez un jeton d'enregistrement
  1. Utilisez la commande suivante pour démarrer le Cloud HSM CLI :

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Créez un jeton d'enregistrement en exécutant la commande quorum token-sign generate :

    aws-cloudhsm > quorum token-sign generate --service registration --token /path/tokenfile { "error_code": 0, "data": { "path": "/path/tokenfile" } }
  3. La commande quorum token-sign generate génère un jeton d'enregistrement sur le chemin de fichier spécifié. Inspectez le fichier du jeton :

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

    Le chemin d'accès au fichier se compose des éléments suivants :

    • approval_data : jeton de données aléatoire codé en base64 dont les données brutes ne dépassent pas le maximum de 245 octets.

    • unsigned : jeton codé et SHA256 haché en base64 du fichier approval_data.

    • signé : jeton signé codé en base64 (signature) du jeton non signé, en utilisant la clé privée de RSA 2048 bits précédemment générée avec Open. SSL

    Vous signez le jeton non signé avec la clé privée pour démontrer que vous avez accès à la clé privée. Vous aurez besoin du fichier de jeton d'enregistrement entièrement rempli d'une signature et de la clé publique pour enregistrer l'administrateur en tant qu'utilisateur du quorum auprès du AWS CloudHSM cluster.

Exemple — Signez le jeton d'enregistrement non signé
  1. Décodez le jeton non signé codé en base64 et placez-le dans un fichier binaire :

    $ echo -n '6BMUj6mUjjko6ZLCEdzGlWpR5sILhFJfqhW1ej3Oq1g=' | base64 -d > admin.bin
  2. Utilisez Open SSL et la clé privée pour signer le jeton d'enregistrement non signé désormais binaire et créer un fichier de signature binaire :

    $ openssl pkeyutl -sign \ -inkey admin.key \ -pkeyopt digest:sha256 \ -keyform PEM \ -in admin.bin \ -out admin.sig.bin
  3. Encodez la signature binaire en base64 :

    $ base64 -w0 admin.sig.bin > admin.sig.b64
  4. Copiez et collez la signature codée en base64 dans le fichier de jeton :

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

Enregistrez la clé publique auprès du HSM

Après avoir créé une clé, l'administrateur doit enregistrer la clé publique auprès du AWS CloudHSM cluster.

Pour enregistrer une clé publique auprès du HSM
  1. Utilisez la commande suivante pour démarrer Cloud HSM CLI :

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. À l'aide de Cloud HSMCLI, connectez-vous en tant qu'administrateur.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. Utilisez la commande Enregistrez la stratégie de quorum par signature symbolique d'un utilisateur à l'aide du Cloud HSM CLI pour enregistrer la clé publique. Pour plus d'informations, consultez l'exemple suivant ou utilisez la commande help user change-quorum token-sign register.

Exemple — Enregistrez une clé publique auprès AWS CloudHSM du cluster

L'exemple suivant montre comment utiliser la user change-quorum token-sign register commande dans Cloud HSM CLI pour enregistrer une clé publique d'administrateur avec le. HSM Pour utiliser cette commande, l'administrateur doit être connecté auHSM. Remplacez les valeurs suivantes par les vôtres :

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" } }
Note

/path/admin.pub : chemin d'accès au fichier de clé publique PEM

Obligatoire : oui

/path/tokenfile : le chemin du fichier avec le jeton signé par la clé privée de l'utilisateur

Obligatoire : oui

Une fois que tous les administrateurs ont enregistré leurs clés publiques, le résultat de la commande user list l'indique dans le champ de quorum, indiquant la stratégie de quorum activée utilisée, comme indiqué ci-dessous :

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" } ] } }

Étape 2. Définissez la valeur minimale du quorum sur HSM

Pour utiliser l'authentification par quorum, un administrateur doit se connecter au, HSM puis définir la valeur minimale du quorum. Il s'agit du nombre minimum d'approbations d'administrateur requises pour effectuer des opérations de gestion des HSM utilisateurs. Tous les administrateurs HSM peuvent définir la valeur minimale du quorum, y compris les administrateurs qui n'ont pas enregistré de clé de signature. Vous pouvez modifier la valeur minimale de quorum à tout moment ; pour plus d'informations, veuillez consulter Modifier la valeur minimale..

Pour définir la valeur minimale du quorum sur HSM
  1. Utilisez la commande suivante pour démarrer Cloud HSM CLI :

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. À l'aide de Cloud HSMCLI, connectez-vous en tant qu'administrateur.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. Utilisez la commande Mettre à jour une valeur de quorum à l'aide du Cloud HSM CLI pour définir la valeur minimale de quorum. Pour plus d'informations, consultez l'exemple suivant ou utilisez la commande help quorum token-sign set-quorum-value.

Exemple — Fixe la valeur minimale du quorum sur HSM

Cet exemple utilise une valeur minimale de quorum de deux (2). Vous pouvez choisir une valeur comprise entre deux (2) et huit (8), jusqu'au nombre total d'administrateurs duHSM. Dans cet exemple, il HSM a quatre (4) administrateurs, donc la valeur maximale possible est de quatre (4).

Pour utiliser l'exemple de commande suivant, remplacez le dernier numéro (<2>) avec la valeur minimale de quorum préférée.

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

Dans cet exemple, le service identifie le HSM service dont vous définissez la valeur minimale de quorum. La Afficher les valeurs de quorum à l'aide du cloud HSM CLI commande répertorie les types de HSM services, les noms et les descriptions inclus dans le service.

Services d'administration : l'authentification par quorum est utilisée pour les services dotés de privilèges d'administrateur tels que la création d'utilisateurs, la suppression d'utilisateurs, la modification des mots de passe des utilisateurs, la définition des valeurs de quorum et la désactivation du quorum et MFA des fonctionnalités.

Chaque type de service est ensuite décomposé en un nom de service éligible, qui contient un ensemble spécifique d'opérations de service prises en charge par le quorum qui peuvent être effectuées.

Nom du service Type de service Opérations de service
utilisateur Administrateur
  • créer un utilisateur

  • supprimer un utilisateur

  • modifier un mot de passe utilisateur

  • modifier la MFA d’un utilisateur

quorum Administrateur
  • signe du jeton quorum set-quorum-value

grappe 1 Administrateur
  • cluster MTLS register-trust-anchor

  • cluster MTLS deregister-trust-anchor

  • application des ensembles MTLS du cluster

[1] Le service Cluster est exclusivement disponible sur hsm2m.medium

Utilisez la commande quorum token-sign list-quorum-values pour obtenir la valeur minimale du quorum pour un service.

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

Le résultat de la quorum token-sign list-quorum-values commande précédente indique que la valeur minimale du quorum pour le service HSM utilisateur, responsable des opérations de gestion des utilisateurs, est désormais de deux (2). Une fois que vous avez terminé ces étapes, consultez Gestion des utilisateurs avec quorum (M sur N).