Utiliser un modèle Azure Resource Manager pour créer un espace de travail pour Azure Machine Learning

Vous trouverez dans cet article différentes façons de créer un espace de travail Azure Machine Learning à l’aide de modèles Azure Resource Manager. Un modèle Resource Manager permet de créer des ressources sous la forme d’une seule opération coordonnée. Un modèle est un document JSON qui définit les ressources nécessaires à un déploiement. Il peut également spécifier des paramètres de déploiement. Les paramètres permettent de fournir des valeurs d’entrée lorsque vous utilisez le modèle.

Pour plus d’informations, consultez la page Déploiement d’une application avec un modèle Azure Resource Manager.

Prérequis

Limites

  • Lorsque vous créez un espace de travail, vous pouvez soit créer automatiquement les services nécessaires à l’espace de travail, soit utiliser des services existants. Si vous voulez utiliser des services existants d’un autre abonnement Azure que l’espace de travail, vous devez inscrire l’espace de noms Azure Machine Learning dans l’abonnement qui contient ces services. Par exemple, si vous créez un espace de travail dans l’abonnement A qui utilise un compte de stockage dans l’abonnement B, l’espace de nom Azure Machine Learning doit être inscrit dans l’abonnement B pour que l’espace de travail puisse utiliser le compte de stockage.

    Le fournisseur de ressources pour Azure Machine Learning est Microsoft.MachineLearningServices. Pour plus d’informations sur la vérification de l’inscription ou sur l’inscription, consultez Fournisseurs de ressources et types de ressources Azure.

    Important

    Ces informations s’appliquent uniquement aux ressources fournies lors de la création de l’espace de travail : comptes Stockage Azure, Azure Container Registry, Azure Key Vault et Application Insights.

  • L’exemple de modèle peut ne pas toujours utiliser la dernière version de l’API pour Azure Machine Learning. Avant d’utiliser le modèle, nous vous recommandons de le modifier afin qu’il utilise les dernières versions d’API. Pour plus d’informations sur les dernières versions d’API pour Azure Machine Learning, consultez API REST Azure Machine Learning.

    Conseil

    Chaque service Azure a son propre ensemble de versions d’API. Pour plus d’informations sur l’API d’un service en particulier, consultez les informations du service dans Informations de référence sur les API REST Azure.

    Pour mettre à jour la version d’API, recherchez l’entrée "apiVersion": "YYYY-MM-DD" du type de la ressource et mettez-la à jour vers la dernière version. Voici un exemple d’entrée pour Azure Machine Learning :

    "type": "Microsoft.MachineLearningServices/workspaces",
    "apiVersion": "2023-10-01",
    

Plusieurs espaces de travail dans le même réseau virtuel

Le modèle ne prend pas en charge plusieurs espaces de travail Azure Machine Learning déployés dans le même réseau virtuel. Cette limitation est due au fait que le modèle crée de nouvelles zones DNS lors du déploiement.

Si vous souhaitez créer un modèle qui déploie plusieurs espaces de travail dans le même réseau virtuel, configurez-le manuellement (à l’aide du Portail Azure ou de l’interface de ligne de commande). Puis utilisez le Portail Azure pour générer un modèle.

À propos du modèle Azure Resource Manager

Le modèle Azure Resource Manager utilisé tout au long de ce document est disponible dans le répertoire microsoft.machineleaerningservices/machine-learning-workspace-vnet du référentiel GitHub des modèles de démarrage rapide Azure.

Ce modèle crée les services Azure suivants :

  • Compte Stockage Azure
  • Azure Key Vault
  • Azure Application Insights
  • Azure Container Registry
  • Espace de travail Azure Machine Learning

Le groupe de ressources est le conteneur des services. L’espace de travail Azure Machine Learning utilise ces services pour des fonctionnalités telles que le stockage des données, des secrets, de la journalisation et des images Docker.

L’exemple de modèle comprend deux paramètres obligatoires :

  • Emplacement de la création des ressources.

    Le modèle utilise l’emplacement que vous avez sélectionné pour la plupart des ressources. L’exception est le service Application Insights, qui n’est pas disponible dans tous les emplacements où se trouvent les autres services. Si vous sélectionnez un emplacement où il n’est pas disponible, le service est créé à l’emplacement USA Centre Sud.

  • Le nom de l’espace de travail (workspaceName), qui est le nom convivial de l’espace de travail Azure Machine Learning.

    Notes

    Le nom de l’espace de travail n’est pas sensible à la casse.

    Le nom des autres services est généré de façon aléatoire.

Conseil

Le modèle associé à ce document crée un registre de conteneurs Azure, mais vous pouvez également créer un espace de travail sans créer de registre de conteneurs. Un registre de conteneurs est créé quand vous effectuez une opération qui le nécessite. C’est par exemple ce qui se passe lors de l’entraînement ou du déploiement d’un modèle.

Vous pouvez également référencer un registre de conteneurs ou un compte de stockage existant dans le modèle Azure Resource Manager au lieu d’en créer un. Dans ce cas, vous devez utiliser une identité gérée (préversion) ou activer le compte administrateur pour le registre de conteneurs.

Avertissement

Une fois qu’une instance d’Azure Container Registry a été créée pour un espace de travail, ne la supprimez pas. Cela entraînerait l’arrêt de votre espace de travail Azure Machine Learning.

Pour plus d’informations sur les modèles, voir les articles suivants :

Déployer un modèle

Pour déployer votre modèle, vous devez créer un groupe de ressources.

Consultez la section du portail Azure si vous préférez utiliser l’interface graphique utilisateur.

az group create --name "examplegroup" --location "eastus"

Une fois votre groupe de ressources correctement créé, déployez le modèle à l’aide de la commande suivante :

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" location="eastus"

Par défaut, toutes les ressources créées dans le cadre du modèle sont nouvelles. Toutefois, vous avez également la possibilité d’utiliser des ressources existantes. En fournissant des paramètres supplémentaires au modèle, vous pouvez utiliser des ressources existantes. Par exemple, si vous voulez utiliser un compte de stockage existant, définissez la valeur storageAccountOption sur existing, puis indiquez le nom de votre compte de stockage dans le paramètre storageAccountName.

Important

Si vous souhaitez utiliser un compte de stockage Azure existant, il ne doit pas s’agir d’un compte Premium (Premium_LRS ou Premium_GRS). Il ne peut pas non plus comporter d’espace de noms hiérarchique (utilisé avec Azure Data Lake Storage Gen2). Ni le stockage Premium ni l’espace de noms hiérarchique ne sont pris en charge par le compte de stockage par défaut de l’espace de travail. Ni le stockage Premium ni les espaces de noms hiérarchiques ne sont pris en charge par le compte de stockage par défaut de l'espace de travail. Ils peuvent en revanche être utilisés avec des comptes de stockage autres que les comptes par défaut.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      storageAccountOption="existing" \
      storageAccountName="existingstorageaccountname"

Déployer un espace de travail chiffré

L’exemple de modèle suivant montre comment créer un espace de travail avec trois paramètres :

  • Activer les paramètres de confidentialité élevée pour l’espace de travail. Cette configuration crée une nouvelle instance Azure Cosmos DB.
  • Activer le chiffrement pour l’espace de travail.
  • Utiliser une instance Azure Key Vault existante pour récupérer les clés gérées par le client. Les clés gérées par le client sont utilisées pour créer une instance Azure Cosmos DB pour l’espace de travail.

Important

Une fois l'espace de travail créé, vous ne pouvez pas modifier les paramètres des données confidentielles, du chiffrement, de l’ID du coffre de clés ou des identificateurs de clés. Pour modifier ces valeurs, vous devez créer un espace de travail à l’aide des nouvelles valeurs.

Pour plus d’informations, consultez Clés gérées par le client.

Important

Pour pouvoir utiliser ce modèle, l’abonnement doit satisfaire à certaines exigences :

  • Vous devez disposer d’un Azure Key Vault contenant une clé de chiffrement.
  • L’Azure Key Vault doit se trouver dans la même région que celle où vous envisagez de créer l’espace de travail Azure Machine Learning.
  • Vous devez spécifier l'ID du coffre Azure Key Vault et l'URI de la clé de chiffrement.

Pour connaître les étapes de création du coffre et de la clé, consultez Configurer des clés gérées par le client.

Pour obtenir les valeurs pour cmk_keyvault (ID du Key Vault) et les paramètres resource_cmk_uri (URI de clé) dont ce modèle a besoin, procédez comme suit :

  1. Pour connaître l’ID du Key Vault, utilisez la commande suivante :

    az keyvault show --name <keyvault-name> --query 'id' --output tsv    
    

    Cette commande renvoie une valeur semblable /subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>.

  2. Pour obtenir la valeur de l’URI de la clé gérée par le client, utilisez la commande suivante :

    az keyvault key show --vault-name <keyvault-name> --name <key-name> --query 'key.kid' --output tsv    
    

Cette commande renvoie une valeur semblable https://mykeyvault.vault.azure.net/keys/mykey/{guid}.

Important

Une fois l'espace de travail créé, vous ne pouvez pas modifier les paramètres des données confidentielles, du chiffrement, de l’ID du coffre de clés ou des identificateurs de clés. Pour modifier ces valeurs, vous devez créer un espace de travail à l’aide des nouvelles valeurs.

Pour activer l'utilisation des clés gérées par le client, définissez les paramètres suivants lors du déploiement du modèle :

  • encryption_status sur Enabled.
  • cmk_keyvault sur la valeur cmk_keyvault obtenue dans les étapes précédentes.
  • resource_cmk_uri sur la valeur resource_cmk_uri obtenue dans les étapes précédentes.
az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      encryption_status="Enabled" \
      cmk_keyvault="/subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>" \
      resource_cmk_uri="https://mykeyvault.vault.azure.net/keys/mykey/{guid}" \

Lorsque vous utilisez une clé gérée par le client, Azure Machine Learning crée un groupe de ressources secondaire qui contient l’instance Azure Cosmos DB. Pour plus d’informations, consultez Chiffrement au repos dans Azure Cosmos DB.

Une autre configuration que vous pouvez fournir pour vos données consiste à définir le paramètre confidential_data sur true. Cette opération active le comportement suivant :

  • Démarre le chiffrement du disque de travail local pour les clusters de calcul Azure Machine Learning, à la condition qu’aucun cluster précédent n’ait été créé dans le cadre de votre abonnement. Si un cluster a déjà été créé dans l’abonnement, ouvrez un ticket d’assistance pour que le chiffrement du disque de travail soit activé pour vos clusters de calcul.

  • Nettoie le disque de travail local entre les travaux.

  • Transmet de manière sécurisée les informations d’identification pour le compte de stockage, le registre de conteneurs et le compte SSH de la couche d’exécution à vos clusters de calcul en utilisant un coffre de clés.

  • Active le filtrage des IP pour garantir qu’aucun service externe autre que AzureMachineLearningService ne puisse appeler les pools de lots sous-jacents.

    Important

    Une fois l'espace de travail créé, vous ne pouvez pas modifier les paramètres des données confidentielles, du chiffrement, de l’ID du coffre de clés ou des identificateurs de clés. Pour modifier ces valeurs, vous devez créer un espace de travail à l’aide des nouvelles valeurs.

    Pour plus d’informations, consultez Chiffrement au repos.

Déployer un espace de travail derrière un réseau virtuel

En définissant la valeur du paramètre vnetOption sur new ou existing, vous pouvez créer les ressources utilisées par un espace de travail derrière un réseau virtuel.

Important

Pour le registre de conteneurs, seule la référence SKU « Premium » est prise en charge.

Important

Application Insights ne prend pas en charge le déploiement derrière un réseau virtuel.

Déployer l’espace de travail uniquement derrière un point de terminaison privé

Si vos ressources associées ne se trouvent pas derrière un réseau virtuel, vous pouvez définir le paramètre privateEndpointType sur AutoAproval ou ManualApproval pour déployer l’espace de travail derrière un point de terminaison privé. Ce paramètre peut être utilisé à la fois pour les nouveaux espaces de travail et les espaces existants. Lors de la mise à jour d’un espace de travail existant, renseignez les paramètres du modèle avec les informations concernant cet espace.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      privateEndpointType="AutoApproval"

Utiliser un nouveau réseau virtuel

Pour déployer une ressource derrière un nouveau réseau virtuel, définissez vnetOption sur new avec les paramètres de réseau virtuel de la ressource concernée. L’exemple suivant montre comment déployer un espace de travail avec la ressource compte de stockage derrière un nouveau réseau virtuel.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      vnetOption="new" \
      vnetName="examplevnet" \
      storageAccountBehindVNet="true"
      privateEndpointType="AutoApproval"

Vous pouvez également déployer plusieurs ou toutes les ressources dépendantes derrière un réseau virtuel.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      vnetOption="new" \
      vnetName="examplevnet" \
      storageAccountBehindVNet="true" \
      keyVaultBehindVNet="true" \
      containerRegistryBehindVNet="true" \
      containerRegistryOption="new" \
      containerRegistrySku="Premium"
      privateEndpointType="AutoApproval"

Utiliser un réseau virtuel et des ressources existants

Pour déployer un espace de travail avec des ressources existantes, vous devez définir le paramètre vnetOption sur existing ainsi que les paramètres de sous-réseau. Toutefois, vous devez créer des points de terminaison de service dans le réseau virtuel pour chacune des ressources avant le déploiement. Comme avec les nouveaux déploiements de réseau virtuel, vous pouvez avoir l’une de vos ressources, ou toutes, derrière un réseau virtuel.

Important

Le sous-réseau doit avoir un point de terminaison de service Microsoft.Storage

Important

Les sous-réseaux n’autorisent pas la création de points de terminaison privés. Désactivez le point de terminaison privé pour activer le sous-réseau.

  1. Activez les points de terminaison de service pour les ressources.

    az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.Storage"
    az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.KeyVault"
    az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.ContainerRegistry"
    
  2. Déployer l’espace de travail

    az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      vnetOption="existing" \
      vnetName="examplevnet" \
      vnetResourceGroupName="examplegroup" \
      storageAccountBehindVNet="true" \
      keyVaultBehindVNet="true" \
      containerRegistryBehindVNet="true" \
      containerRegistryOption="new" \
      containerRegistrySku="Premium" \
      subnetName="examplesubnet" \
      subnetOption="existing"
      privateEndpointType="AutoApproval"
    

Utilisation du portail Azure

  1. Suivez la procédure indiquée dans Déployer des ressources à partir d’un modèle personnalisé. Lorsque vous arrivez à l’écran Déploiement personnalisé, sélectionnez l’entrée Modèle de démarrage rapide.

  2. Dans la liste déroulante des Modèles de démarrage rapide, sélectionnez l’entrée microsoft.machinelearningservices/machine-learning-workspace-vnet. Enfin, utilisez Select template.

  3. Quand le modèle apparaît, fournissez les informations nécessaires suivantes et tous les autres paramètres en fonction de votre scénario de déploiement.

    • Abonnement : Sélectionnez l’abonnement Azure à utiliser pour ces ressources.
    • Groupe de ressources : Sélectionnez ou créez le groupe de ressources qui doit contenir les services.
    • Région : Sélectionnez la région Azure dans laquelle les ressources doivent être créées.
    • Nom de l’espace de travail : Le nom à utiliser pour l’espace de travail Azure Machine Learning à créer. Le nom de l'espace de travail doit contenir entre 3 et 33 caractères. Il peut uniquement contenir des caractères alphanumériques et « - ».
    • Emplacement : Sélectionnez l’emplacement où les ressources doivent être créées.
  4. Sélectionnez Revoir + créer.

  5. Dans l’écran Vérifier + créer, acceptez les conditions générales mentionnées, puis sélectionnez Créer.

Pour plus d’informations, consultez Déployer des ressources à partir d’un modèle personnalisé.

Dépannage

Erreurs du fournisseur de ressources

Lors de la création d’un espace de travail Azure Machine Learning ou d’une ressource utilisée par l’espace de travail, vous pouvez recevoir un message d’erreur semblable aux messages suivants :

  • No registered resource provider found for location {location}
  • The subscription is not registered to use namespace {resource-provider-namespace}

Par défaut, la plupart des fournisseurs de ressources sont enregistrés automatiquement. Si vous recevez ce message, vous devez inscrire le fournisseur mentionné.

Le tableau suivant contient la liste des fournisseurs de ressources requis par Azure Machine Learning :

Fournisseur de ressources Pourquoi il est nécessaire
Microsoft.MachineLearningServices Création de l’espace de travail Azure Machine Learning.
Microsoft.Storage Un compte Stockage Azure est utilisé comme stockage par défaut pour l’espace de travail.
Microsoft.ContainerRegistry Azure Container Registry est utilisé par l’espace de travail pour créer des images Docker.
Microsoft.KeyVault Azure Key Vault est utilisé par l’espace de travail pour stocker les secrets.
Microsoft.Notebooks Notebooks intégrés sur l’instance de calcul Azure Machine Learning.
Microsoft.ContainerService Si vous envisagez de déployer des modèles entraînés sur Azure Kubernetes Service.

Si vous prévoyez d’utiliser une clé gérée par le client avec Azure Machine Learning, les fournisseurs de services suivants doivent être inscrits :

Fournisseur de ressources Pourquoi il est nécessaire
Microsoft.DocumentDB Instance Azure CosmosDB qui journalise les métadonnées de l’espace de travail.
Microsoft.Search La Recherche Azure fournit des fonctionnalités d’indexation pour l’espace de travail.

Si vous envisagez d’utiliser un réseau virtuel managé avec Azure Machine Learning, le fournisseur de ressources Microsoft.Network doit être inscrit. Ce fournisseur de ressources est utilisé par l’espace de travail lors de la création de points de terminaison privés pour le réseau virtuel managé.

Pour plus d’informations sur l’inscription d’un fournisseur de ressources, consultez Résoudre les erreurs d’inscription de fournisseurs de ressources.

Stratégie d’accès Azure Key Vault et modèles Azure Resource Manager

Lorsque vous utilisez plusieurs fois un modèle Azure Resource Manager pour créer l’espace de travail et les ressources associées (y compris Azure Key Vault). Vous utilisez, par exemple, le modèle plusieurs fois avec les mêmes paramètres dans le cadre d’un pipeline d’intégration et de déploiement continus.

La plupart des opérations de création de ressources via des modèles sont idempotentes, mais Key Vault efface les stratégies d’accès chaque fois que le modèle est utilisé. L’effacement des stratégies accès empêche l’accès à Key Vault de n’importe quel espace de travail existant qui l’utilise. Par exemple, les fonctionnalités Arrêter/Créer de la machine virtuelle Azure Notebooks peuvent échouer.

Pour éviter ce problème, nous vous recommandons une des approches suivantes :

  • Ne déployez pas le modèle plus d’une fois pour les mêmes paramètres. Ou supprimez les ressources existantes avant d’utiliser le modèle pour les recréer.

  • Examinez les stratégies d’accès Key Vault, puis utilisez ces stratégies pour définir la propriété accessPolicies du modèle. Pour voir les stratégies d’accès, utilisez la commande Azure CLI suivante :

    az keyvault show --name mykeyvault --resource-group myresourcegroup --query properties.accessPolicies
    

    Pour plus d’informations sur l’utilisation de la section accessPolicies du modèle, consultez les informations de référence sur l’objet AccessPolicyEntry.

  • Vérifiez si la ressource Key Vault existe déjà. Si cela se produit, ne le recréez pas via le modèle. Par exemple, pour utiliser la ressource Key Vault existante au lieu d’en créer une nouvelle, apportez les modifications suivantes au modèle :

    • Ajoutez un paramètre qui accepte l’ID d’une ressource Key Vault existante :

      "keyVaultId":{
        "type": "string",
        "metadata": {
          "description": "Specify the existing Key Vault ID."
        }
      }
      
    • Supprimez la section qui crée une ressource Key Vault :

      {
        "type": "Microsoft.KeyVault/vaults",
        "apiVersion": "2018-02-14",
        "name": "[variables('keyVaultName')]",
        "location": "[parameters('location')]",
        "properties": {
          "tenantId": "[variables('tenantId')]",
          "sku": {
            "name": "standard",
            "family": "A"
          },
          "accessPolicies": [
          ]
        }
      },
      
    • Supprimez la ligne "[resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName'))]", dans la section dependsOn de l’espace de travail. Modifiez également l’entrée keyVault dans la section properties de l’espace de travail pour référencer le paramètre keyVaultId :

      {
        "type": "Microsoft.MachineLearningServices/workspaces",
        "apiVersion": "2019-11-01",
        "name": "[parameters('workspaceName')]",
        "location": "[parameters('location')]",
        "dependsOn": [
          "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
          "[resourceId('Microsoft.Insights/components', variables('applicationInsightsName'))]"
        ],
        "identity": {
          "type": "systemAssigned"
        },
        "sku": {
          "tier": "[parameters('sku')]",
          "name": "[parameters('sku')]"
        },
        "properties": {
          "friendlyName": "[parameters('workspaceName')]",
          "keyVault": "[parameters('keyVaultId')]",
          "applicationInsights": "[resourceId('Microsoft.Insights/components',variables('applicationInsightsName'))]",
          "storageAccount": "[resourceId('Microsoft.Storage/storageAccounts/',variables('storageAccountName'))]"
        }
      }
      

    Une fois ces changements effectués, vous pouvez spécifier l’ID de la ressource Key Vault existante quand vous exécutez le modèle. Le modèle réutilise ensuite le coffre de clés en définissant la propriété keyVault de l’espace de travail sur son ID.

    Pour obtenir l’ID de la ressource Key Vault, référencez la sortie du travail du modèle initial ou utilisez Azure CLI. La commande suivante est un exemple d’utilisation d’Azure CLI pour obtenir l’ID de la ressource Key Vault :

    az keyvault show --name mykeyvault --resource-group myresourcegroup --query id
    

    Cette commande retourne une valeur semblable au texte suivant :

    /subscriptions/{subscription-guid}/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mykeyvault