Démarrage rapide : Provisionner et activer un module HSM managé à l’aide d’Azure CLI

Dans ce démarrage rapide, vous allez créer et activer un module de sécurité matériel (HSM, Hardware Security Module) managé Azure Key Vault avec Azure CLI. Un HSM managé est un service cloud complètement managé, hautement disponible, à un seul locataire et conforme aux normes qui vous permet de protéger les clés de chiffrement pour vos applications cloud à l’aide de HSM certifiés FIPS 140-2 de niveau 3. Pour plus d’informations sur le HSM managé, vous pouvez consulter la présentation.

Prérequis

Pour accomplir les étapes décrites dans cet article, vous devez les éléments suivants :

  • Un abonnement à Microsoft Azure. Si vous n’en avez pas, vous pouvez vous inscrire pour bénéficier d’un essai gratuit.
  • Azure CLI version 2.25.0 ou ultérieure. Exécutez az --version pour trouver la version. Si vous devez effectuer une installation ou une mise à niveau, consultez Installer Azure CLI.

Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.

Pour démarrer Azure Cloud Shell :

Option Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Button to launch Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Pour utiliser Azure Cloud Shell :

  1. Démarrez Cloud Shell.

  2. Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.

  3. Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.

  4. Sélectionnez Entrée pour exécuter le code ou la commande.

Connexion à Azure

Pour vous connecter à Azure à l’aide de l’interface CLI, vous pouvez taper la commande suivante :

az login

Créer un groupe de ressources

Un groupe de ressources est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. L’exemple suivant crée un groupe de ressources nommé ContosoResourceGroup à l’emplacement eastus2.

az group create --name "ContosoResourceGroup" --location eastus2

Créer un HSM managé

La création d’un HSM managé est un processus en deux étapes :

  1. Provisionnez une ressource Managed HSM.
  2. Activez votre HSM managé en téléchargeant un artefact nommé domaine de sécurité.

Provisionner un HSM managé

Utilisez la commande az keyvault create pour créer un HSM managé. Ce script a trois paramètres obligatoires : le nom de groupe de ressources, le nom du HSM et l’emplacement géographique.

Vous devez fournir les entrées suivantes pour créer une ressource Managed HSM :

  • Groupe de ressources dans lequel il sera placé dans votre abonnement.
  • Emplacement Azure.
  • Liste des administrateurs initiaux.

L’exemple suivant crée un module HSM nommé ContosoMHSM dans le groupe de ressources ContosoResourceGroup, qui réside à l’emplacement USA Est 2, avec l’utilisateur actuellement connecté comme unique administrateur et une période de rétention de 7 jours pour la suppression réversible. Le module HSM managé continuera d’être facturé jusqu’à ce qu’il soit vidé dans une période de suppression réversible. Pour plus d’informations, consultez Suppression réversible et protection contre la suppression définitive d’un module HSM managé et pour en savoir encore plus, Suppression réversible d’un module HSM managé.

oid=$(az ad signed-in-user show --query id -o tsv)
az keyvault create --hsm-name "ContosoMHSM" --resource-group "ContosoResourceGroup" --location "eastus2" --administrators $oid --retention-days 7

Remarque

Si vous utilisez des identités managées comme administrateurs initiaux de votre HSM managé, vous devez entrer l’OID/PrincipalID des identités managées après « --administrators » et non ClientID.

Notes

La création peut prendre quelques minutes. Une fois celle-ci terminée, vous êtes prêt à activer votre HSM.

Avertissement

Les instances HSM managées sont considérées comme toujours en cours d’utilisation. Si vous choisissez d’activer la protection contre le vidage à l’aide de l’indicateur --enable-purge-protection, vous êtes facturé pour l’intégralité de la période de rétention.

La sortie de cette commande affiche les propriétés du HSM managé que vous avez créé. Les deux propriétés les plus importantes sont :

  • nom : Dans l’exemple, son nom est ContosoMHSM. Vous allez utiliser ce nom pour d’autres commandes.
  • hsmUri : dans l’exemple, l’URI est https://contosohsm.managedhsm.azure.net.. les applications qui utilisent votre HSM via son API REST doivent utiliser cet URI.

Votre compte Azure est pour l’instant le seul autorisé à effectuer des opérations sur ce HSM managé. À l’heure actuelle, personne d’autre n’y est autorisé.

Activer votre HSM managé

Toutes les commandes du plan de données sont désactivées tant que le HSM n’est pas activé. Par exemple, vous ne pourrez pas créer de clés ou attribuer des rôles. Seuls les administrateurs désignés qui ont fait l’objet d’une attribution pendant l’exécution de la commande create peuvent activer le HSM. Pour activer le HSM, vous devez télécharger le domaine de sécurité.

Pour activer votre HSM, vous devez :

  • Fournir trois paires de clés RSA au minimum (10 au maximum)
  • Spécifier le nombre minimal de clés nécessaires au déchiffrement du domaine de sécurité (appelé quorum)

Pour activer le HSM, vous devez envoyer au moins trois clés publiques RSA au HSM (10 au maximum). Le HSM chiffre le domaine de sécurité avec ces clés et le renvoie. Une fois le téléchargement du domaine de sécurité terminé, votre HSM est prêt à l’emploi. Vous devez aussi spécifier un quorum, qui est le nombre minimal de clés privées nécessaires au déchiffrement du domaine de sécurité.

L’exemple suivant montre comment utiliser openssl pour générer trois certificats autosignés.

openssl req -newkey rsa:2048 -nodes -keyout cert_0.key -x509 -days 365 -out cert_0.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_1.key -x509 -days 365 -out cert_1.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_2.key -x509 -days 365 -out cert_2.cer

Remarque

Même si le certificat a « expiré », il peut toujours être utilisé pour restaurer le domaine de sécurité.

Important

Créez et stockez les paires de clés RSA et le fichier de domaine de sécurité générés dans cette étape de manière sécurisée.

Utilisez la commande az keyvault security-domain download pour télécharger le domaine de sécurité et activer votre module HSM managé. L’exemple suivant utilise trois paires de clés RSA (seules les clés publiques sont nécessaires pour cette commande) et définit le quorum sur deux.

az keyvault security-domain download --hsm-name ContosoMHSM --sd-wrapping-keys ./certs/cert_0.cer ./certs/cert_1.cer ./certs/cert_2.cer --sd-quorum 2 --security-domain-file ContosoMHSM-SD.json

Stockez le fichier de domaine de sécurité et les paires de clés RSA de manière sécurisée. Vous en aurez besoin en cas de reprise d’activité ou pour créer un autre HSM managé partageant le même domaine de sécurité de sorte que les deux puissent partager des clés.

Une fois le domaine de sécurité téléchargé, votre HSM sera à l’état actif et prêt à l’emploi.

Nettoyer les ressources

D’autres guides de démarrage rapide et didacticiels de cette collection reposent sur ce guide. Si vous prévoyez d’utiliser d’autres démarrages rapides et didacticiels, il peut être utile de conserver ces ressources.

Lorsque vous n’en avez plus besoin, vous pouvez utiliser la commande az group delete pour supprimer le groupe de ressources, ainsi que toutes les ressources associées. Vous pouvez supprimer les ressources comme suit :

az group delete --name ContosoResourceGroup

Avertissement

La suppression du groupe de ressources place le HSM managé dans un état supprimé de manière réversible. Le module HSM managé continuera d’être facturé jusqu’à ce qu’il soit purgé. Consultez Suppression réversible et protection contre la suppression définitive d’un module HSM managé

Étapes suivantes

Au cours de ce démarrage rapide, vous avez provisionné un module HSM managé et l’avez activé. Pour en savoir plus sur le module HSM managé et sur la manière de l’intégrer à vos applications, poursuivez avec les articles ci-dessous.