Démarrage rapide : Créer un HSM managé avec un modèle ARM

Ce guide de démarrage rapide décrit comment utiliser un modèle Azure Resource Manager (ARM) pour créer un HSM managé Azure Key Vault. Managed HSM est un service cloud complètement managé, à haut niveau de disponibilité et monolocataire qui vous permet de protéger les clés de chiffrement de vos applications cloud à l’aide de HSM certifiés FIPS 140-2 de niveau 3.

Un modèle Azure Resource Manager est un fichier JSON (JavaScript Object Notation) qui définit l’infrastructure et la configuration de votre projet. Le modèle utilise la syntaxe déclarative. Vous décrivez le déploiement que vous avez prévu sans écrire la séquence de commandes de programmation pour créer le déploiement.

Si votre environnement remplit les prérequis et que vous êtes déjà familiarisé avec l’utilisation des modèles ARM, sélectionnez le bouton Déployer sur Azure. Le modèle s’ouvre dans le portail Azure.

Button to deploy the Resource Manager template to Azure.

Prérequis

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Vérifier le modèle

Le modèle utilisé dans ce guide de démarrage rapide est tiré des modèles de démarrage rapide Azure :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.5.6.12127",
      "templateHash": "9933229425431379390"
    }
  },
  "parameters": {
    "managedHSMName": {
      "type": "string",
      "metadata": {
        "description": "String specifying the name of the managed HSM."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "String specifying the Azure location where the managed HSM should be created."
      }
    },
    "initialAdminObjectIds": {
      "type": "array",
      "metadata": {
        "description": "Array specifying the objectIDs associated with a list of initial administrators."
      }
    },
    "tenantId": {
      "type": "string",
      "defaultValue": "[subscription().tenantId]",
      "metadata": {
        "description": "String specifying the Azure Active Directory tenant ID that should be used for authenticating requests to the managed HSM."
      }
    },
    "softRetentionInDays": {
      "type": "int",
      "defaultValue": 7,
      "maxValue": 90,
      "minValue": 7,
      "metadata": {
        "description": "Specifies the number of days that managed Key Vault will be kept recoverable if deleted. If you do not want to have soft delete enabled, set value to 0."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.KeyVault/managedHSMs",
      "apiVersion": "2021-04-01-preview",
      "name": "[parameters('managedHSMName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_B1",
        "family": "B"
      },
      "properties": {
        "enableSoftDelete": "[greater(parameters('softRetentionInDays'), 0)]",
        "softDeleteRetentionInDays": "[if(equals(parameters('softRetentionInDays'), 0), null(), parameters('softRetentionInDays'))]",
        "enablePurgeProtection": false,
        "tenantId": "[parameters('tenantId')]",
        "initialAdminObjectIds": "[parameters('initialAdminObjectIds')]",
        "publicNetworkAccess": "Enabled",
        "networkAcls": {
          "bypass": "None",
          "defaultAction": "Allow"
        }
      }
    }
  ]
}

Ressource Azure définie dans le modèle :

  • Microsoft.KeyVault/managedHSMs : créez un HSM managé Azure Key Vault.

Déployer le modèle

Le modèle a besoin de l’ID d’objet associé à votre compte. Pour le trouver, utilisez la commande Azure CLI az ad user show en transmettant votre adresse e-mail au paramètre --id. Vous pouvez limiter la sortie au seul ID d’objet avec le paramètre --query.

az ad user show --id <your-email-address> --query "objectId"

Il se peut que vous ayez aussi besoin de votre ID de locataire. Pour le trouver, utilisez la commande Azure CLI az ad user show. Vous pouvez limiter la sortie au seul ID de locataire avec le paramètre --query.

az account show --query "tenantId"

Vous pouvez maintenant déployer le modèle ARM :

  1. Cliquez sur l’image ci-après pour vous connecter à Azure et ouvrir un modèle. Le modèle crée une instance Managed HSM.

    Button to deploy the Resource Manager template to Azure.

  2. Sélectionnez ou entrez les valeurs suivantes. Sauf si elle est spécifiée, utilisez la valeur par défaut pour créer le HSM managé.

    • Abonnement: Sélectionnez un abonnement Azure.
    • Groupe de ressources : sélectionnez Créer nouveau, entrez « myResourceGroup » comme nom, puis sélectionnez OK.
    • Emplacement : Sélectionnez un emplacement. Par exemple, USA Est 2.
    • managedHSMName : attribuez un nom à votre instance Managed HSM.
    • ID du locataire : la fonction de modèle récupère automatiquement votre ID de locataire ; ne changez pas la valeur par défaut. En l’absence de valeur, entrez l’ID de locataire que vous avez récupéré ci-dessus.
    • initialAdminObjectIds : entrez l’ID d’objet que vous avez récupéré ci-dessus.
  3. Sélectionnez Achat. Une fois l’instance Managed HSM correctement déployée, vous recevez une notification :

Le portail Azure est utilisé pour déployer le modèle. Outre le portail Azure, vous pouvez également utiliser Azure PowerShell, l’interface Azure CLI et l’API REST. Pour découvrir d’autres méthodes de déploiement, consultez Déployer des modèles.

Valider le déploiement

Vous pouvez vérifier que le HSM managé a été créé avec la commande Azure CLI az keyvault list. Vous trouverez la sortie plus facile à lire si vous mettez en forme les résultats sous forme de tableau :

az keyvault list -o table

Vous devez voir le nom de votre HSM managé nouvellement créé.

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 ainsi que toutes les ressources associées :

az group delete --name "myResourceGroup"

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

Dans ce démarrage rapide, vous avez créé une instance Managed HSM. Cette instance Managed HSM ne sera pas entièrement opérationnelle tant qu’elle n’aura pas été activée. Consultez Activer votre instance Managed HSM pour savoir comment activer votre HSM.