Démarrage rapide : Approvisionner et activer un HSM managé à l’aide de Azure CLI

Dans ce guide de démarrage rapide, vous allez créer et activer un HSM managé Azure Key Vault (module de sécurité matérielle) à l’aide de Azure CLI. Le HSM managé est un service cloud entièrement géré, hautement disponible, à locataire unique et conforme aux normes, qui vous permet de protéger les clés de chiffrement pour vos applications cloud, à l’aide de HSM validés FIPS 140-3 de niveau 3 . Pour plus d’informations sur Managed HSM, consultez la vue d’ensemble.

Prérequis

Un abonnement Azure est requis. Si vous n’en avez pas, créez un compte gratuit avant de commencer.

Vous avez également besoin des éléments suivants :

  • Azure CLI version 2.25.0 ou ultérieure. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, consultez Installer le Azure CLI.

Azure Cloud Shell

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

Pour commencer Azure Cloud Shell :

Choix Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Try It ne copie pas automatiquement le code ou la commande dans Cloud Shell. Screenshot qui montre un exemple de Try It for Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Launch Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Button pour lancer Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Screenshot qui affiche le bouton Cloud Shell dans le portail Azure

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+Shift+V sur Windows et Linux, ou en sélectionnant Cmd+Shift+V sur macOS.

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

Connectez-vous à Azure

Pour vous connecter à Azure à l’aide de l’interface CLI, entrez :

az login

Pour plus d’informations sur les options d’authentification via l’interface CLI, consultez Sign in with Azure CLI.

Créer un groupe de ressources

Un groupe de ressources est un conteneur logique dans lequel Azure ressources sont déployées et gérées. Utilisez la commande az group create pour créer un groupe de ressources nommé myResourceGroup à l’emplacement eastus.

az group create --name "myResourceGroup" --location "EastUS"

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.

Pour créer une ressource HSM managée, fournissez les entrées suivantes :

  • Nom HSM managé : chaîne de 3 à 24 caractères qui ne peut contenir que des nombres (0-9), des lettres (a-z, A-Z) et des traits d’union (-).

    Important

    Chaque HSM managé doit avoir un nom unique. Remplacez <hsm-name> par votre propre nom HSM managé unique dans les exemples suivants.

  • Nom du groupe de ressources : myResourceGroup.

  • Emplacement : EastUS.

  • Liste des administrateurs initiaux.

L’exemple suivant crée un HSM nommé <hsm-name> dans le groupe de ressources myResourceGroup, résidant à l’emplacement EastUS, avec l'utilisateur actuellement connecté comme seul administrateur et une période de rétention de 7 jours pour la suppression réversible. Vous continuez à payer pour le HSM managé jusqu'à ce qu'il soit éliminé durant 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 apprendre davantage, consultez Suppression réversible d’un module HSM managé.

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

Remarque

Si vous utilisez des identités managées comme administrateurs initiaux de votre HSM managé, entrez l’OID/PrincipalID des identités managées après --administrators et non l’ID client.

Remarque

La création peut prendre quelques minutes. Lorsqu’il renvoie un résultat réussi, vous êtes prêt à activer votre HSM.

Avertissement

Les instances HSM managées sont toujours en cours d’utilisation. Si vous activez la protection contre le vidage à l’aide de l’indicateur --enable-purge-protection , vous payez pour toute 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 : nom que vous avez spécifié. Vous utilisez ce nom pour d’autres commandes.
  • hsmUri : URI de votre HSM (par exemple, https://<hsm-name>.managedhsm.azure.net). les applications qui utilisent votre HSM via son API REST doivent utiliser cet URI.

Votre compte Azure est désormais 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 jusqu’à ce que vous activiez le HSM. Vous ne pouvez pas créer de clés ni attribuer de rôles. Seuls les administrateurs désignés que vous affectez pendant la commande create peuvent activer le module HSM. Pour activer le HSM, vous devez télécharger le domaine de sécurité.

Pour activer votre HSM, vous avez besoin des éléments suivants :

  • Un minimum de trois paires de clés RSA (10 maximum)
  • Nombre minimal de clés requises pour déchiffrer le domaine de sécurité (appelé quorum)

Vous envoyez au moins trois clés publiques RSA (maximum 10) au HSM. 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 à être utilisé. Vous devez également spécifier le quorum, qui est le nombre minimal de clés privées requises pour déchiffrer le domaine de sécurité.

L’exemple suivant montre comment utiliser openssl pour générer trois certificats auto-signé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

La date d’expiration du certificat n’affecte pas les opérations de domaine de sécurité, même un certificat « expiré » peut toujours être utilisé pour restaurer le domaine de sécurité.

Important

Ces clés privées RSA sont la racine de confiance pour votre HSM managé. Pour les environnements de production, générez ces clés à l’aide d’un système air-gapped ou d’un HSM local et stockez-les en toute sécurité. Consultez les meilleures pratiques relatives au domaine de sécurité pour obtenir des conseils détaillés.

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 <hsm-name> --sd-wrapping-keys ./certs/cert_0.cer ./certs/cert_1.cer ./certs/cert_2.cer --sd-quorum 2 --security-domain-file <hsm-name>-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 avez besoin pour la récupération d’urgence ou pour créer un autre HSM managé qui partage le même domaine de sécurité afin que les deux puissent partager des clés.

Une fois le domaine de sécurité téléchargé, votre HSM est dans un état actif et prêt à être utilisé.

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.

Quand vous n’en avez plus besoin, vous pouvez utiliser la commande Azure CLI az group delete pour supprimer le groupe de ressources et toutes les ressources associées :

az group delete --name "myResourceGroup"

Avertissement

La suppression du groupe de ressources place le HSM managé dans un état de suppression réversible. Le module HSM managé continue d’être facturé jusqu’à ce qu’il soit vidé. 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.