Usare un modello di Azure Resource Manager per creare un'area di lavoro per Azure Machine Learning

Questo articolo illustra diversi modi per creare un'area di lavoro di Azure Machine Learning usando i modelli di Azure Resource Manager. Il modello di Resource Manager consente di creare le risorse come un'unica operazione coordinata. Un modello è un documento JSON che definisce le risorse necessarie per una distribuzione. Può anche specificare i parametri di distribuzione. I parametri sono usati per fornire i valori di input quando si usa il modello.

Per altre informazioni, vedere Distribuire un'applicazione con il modello di Gestione risorse di Azure.

Prerequisiti

Limiti

  • Quando si crea una nuova area di lavoro, è possibile creare automaticamente i servizi necessari o usare quelli servizi esistenti. Se si vogliono usare i servizi esistenti di una sottoscrizione di Azure diversa rispetto all'area di lavoro, è necessario registrare lo spazio dei nomi di Azure Machine Learning nella sottoscrizione che contiene tali servizi. Ad esempio, se si crea un'area di lavoro nella sottoscrizione A che usa un account di archiviazione della sottoscrizione B, lo spazio dei nomi di Azure Machine Learning deve essere registrato nella sottoscrizione B prima che sia possibile usare l'account di archiviazione con l'area di lavoro.

    Il provider di risorse per Azure Machine Learning è Microsoft.MachineLearningServices. Per informazioni su come verificare se è registrato e come registrarlo, vedere l'articolo Provider e tipi di risorse di Azure.

    Importante

    Questo vale solo per le risorse fornite durante la creazione dell'area di lavoro: Account di Archiviazione di Azure, Registro Azure Container, Azure Key Vault e Application Insights.

  • I modelli di esempio potrebbero non usare sempre la versione più recente dell'API per Azure Machine Learning. Prima di usare il modello, è consigliabile modificarlo per usare le versioni più recenti dell'API. Per informazioni sulle versioni più recenti dell'API per Azure Machine Learning, vedere API REST di Azure Machine Learning.

    Suggerimento

    Ogni servizio di Azure ha un proprio set di versioni API. Per informazioni sull'API di un servizio specifico, vedere le informazioni sul servizio nelle informazioni di riferimento dell'API REST di Azure..

    Per aggiornare la versione dell'API, trovare la voce "apiVersion": "YYYY-MM-DD" per il tipo di risorsa e aggiornarla alla versione più recente. L'esempio seguente è una voce per Azure Machine Learning:

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

Più aree di lavoro nella stessa rete virtuale

Il modello non supporta più aree di lavoro di Azure Machine Learning distribuite nella stessa rete virtuale. Il motivo è che il modello crea nuove zone DNS durante la distribuzione.

Se si vuole creare un modello che distribuisce più aree di lavoro nella stessa rete virtuale, eseguire questa configurazione manualmente (usando il portale di Azure o l'interfaccia della riga di comando) e quindi usare il portale di Azure per generare un modello.

Modello di Resource Manager dell'area di lavoro

Il modello di Azure Resource Manager usato in questo documento è disponibile nella directory microsoft.machineleaerningservices/machine-learning-workspace-vnet del repository GitHub dei modelli di avvio rapido di Azure.

Questo modello crea le risorse Azure seguenti:

  • Account di archiviazione di Azure
  • Azure Key Vault
  • Azure Application Insights
  • Registro Azure Container
  • Azure Machine Learning workspace (Area di lavoro di Azure Machine Learning)

Il gruppo di risorse è il contenitore che contiene i servizi. I vari servizi sono necessari per l'area di lavoro di Azure Machine Learning.

Il modello di esempio ha due parametri obbligatori:

  • Il parametro location che indica la posizione in cui verranno create le risorse.

    Il modello utilizzerà la posizione selezionata per la maggior parte delle risorse. L'eccezione è il servizio Application Insights, che non è disponibile in tutte le posizioni in cui sono situati gli altri servizi. Se si seleziona una posizione in cui non è disponibile, il servizio verrà creato nella posizione Stati Uniti centro-meridionali.

  • Il parametro workspaceName, ovvero il nome descrittivo dell'area di lavoro Azure Machine Learning.

    Nota

    Il nome dell'area di lavoro non rileva la distinzione tra maiuscole e minuscole.

    I nomi degli altri servizi vengono generati in modo casuale.

Suggerimento

Sebbene il modello associato a questo documento crei un nuovo Registro Container di Azure, è possibile creare una nuova area di lavoro anche senza creare il registro contenitori. Ne verrà creato uno quando si eseguirà un'operazione che lo richiederà, ad esempio quando si addestrerà o si distribuirà un modello.

È anche possibile fare riferimento a un registro contenitori o a un account di archiviazione esistente nel modello di Azure Resource Manager, invece di crearne uno nuovo. In questo caso, è necessario usare un'identità gestita (anteprima) o abilitare l'account amministratore per il registro contenitori.

Avviso

Dopo aver creato un'istanza di Registro Azure Container per un'area di lavoro, non eliminarla. In caso contrario, l'area di lavoro di Azure Machine Learning verrà terminata.

Per altre informazioni sui modelli, vedere gli articoli indicati di seguito:

Distribuire un modello

Per distribuire il modello è necessario creare un gruppo di risorse.

Vedere la sezione sul portale di Azure se si preferisce usare l'interfaccia utente grafica.

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

Dopo aver creato il gruppo di risorse, distribuire il modello con il comando seguente:

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"

Per impostazione predefinita, tutte le risorse create come parte del modello sono nuove. Tuttavia, è anche possibile usare le risorse esistenti. Fornendo parametri aggiuntivi al modello, è possibile usare le risorse esistenti. Ad esempio, se si vuole usare un account di archiviazione esistente, impostare il valore storageAccountOption su existing e specificare il nome dell'account di archiviazione nel parametro storageAccountName.

Importante

Se si vuole usare un account di archiviazione di Azure esistente, non può essere un account Premium (Premium_LRS e Premium_GRS). Non può neanche avere uno spazio dei nomi gerarchico (usato con Azure Data Lake Storage Gen2). L'archiviazione Premium o lo spazio dei nomi gerarchico non sono supportati con l'account di archiviazione predefinito dell'area di lavoro. L'archiviazione Premium o gli spazi dei nomi gerarchici non sono supportati con l'account di archiviazione predefinito dell'area di lavoro. È possibile usare l'archiviazione Premium o lo spazio dei nomi gerarchico con account di archiviazione non predefiniti.

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"

Distribuire un'area di lavoro crittografata

Il modello di esempio seguente mostra come creare un'area di lavoro con tre impostazioni:

  • Abilitare le impostazioni di riservatezza elevata per l'area di lavoro. Viene creata una nuova istanza di Azure Cosmos DB.
  • Abilitare la crittografia per l'area di lavoro.
  • Usa l'istanza esistente di Azure Key Vault per recuperare le chiavi gestite dal cliente. Le chiavi gestite dal cliente vengono usate per creare una nuova istanza di Azure Cosmos DB per l'area di lavoro.

Importante

Dopo aver creato un'area di lavoro, non è possibile modificare le impostazioni relative ai dati riservati, la crittografia, l'ID dell'insieme di credenziali delle chiavi o gli identificatori di chiave. Per modificare questi valori, è necessario creare una nuova area di lavoro usando altri valori.

Per altre informazioni, vedere Chiavi gestite dal cliente.

Importante

Prima di usare questo modello, è necessario che la sottoscrizione soddisfi alcuni requisiti specifici:

  • È necessario che l’insieme di credenziali delle chiavi esistenti contenga una chiave di crittografia.
  • L’insieme di credenziali delle chiavi di Azure deve trovarsi nella stessa area in cui si intende creare l'area di lavoro di Azure Machine Learning.
  • È necessario specificare l'ID dell'istanza di Azure Key Vault e l'URI della chiave di crittografia.

Per i passaggi per la creazione dell'insieme di credenziali e della chiave, vedere Configurare le chiavi gestite dal cliente.

Per ottenere i valori per i parametri cmk_keyvault (ID dell’insieme di credenziali delle chiavi) e resource_cmk_uri (URI della chiave) richiesti da questo modello, seguire questa procedura:

  1. Per ottenere l’ID dell’insieme di credenziali delle chiavi, usare il comando seguente:

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

    Il comando restituisce un valore analogo a /subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>.

  2. Per ottenere il valore dell'URI per la chiave gestita dal cliente, usare il comando seguente:

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

Il comando restituisce un valore analogo a https://mykeyvault.vault.azure.net/keys/mykey/{guid}.

Importante

Dopo aver creato un'area di lavoro, non è possibile modificare le impostazioni relative ai dati riservati, la crittografia, l'ID dell'insieme di credenziali delle chiavi o gli identificatori di chiave. Per modificare questi valori, è necessario creare una nuova area di lavoro usando altri valori.

Per abilitare l'uso di chiavi gestite dal cliente, impostare i parametri seguenti durante la distribuzione del modello:

  • encryption_status su Enabled.
  • cmk_keyvault sul valore di cmk_keyvault ottenuto nei passaggi precedenti.
  • resource_cmk_uri sul valore di resource_cmk_uri ottenuto nei passaggi precedenti.
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}" \

Quando si usa una chiave gestita dal cliente, Azure Machine Learning crea un gruppo di risorse secondario che contiene l'istanza di Azure Cosmos DB. Per altre informazioni, vedere Crittografia di dati inattivi in Azure Cosmos DB.

Una configurazione aggiuntiva che è possibile specificare per i dati consiste nell'impostare il parametro confidential_data su true. In questo modo, si ottiene quanto segue:

  • Viene avviata la crittografia del disco temporaneo locale ni cluster di elaborazione di Azure Machine Learning, purché non siano stati creati cluster precedenti nella sottoscrizione. Se in precedenza è stato creato un cluster nella sottoscrizione, aprire un ticket di supporto per chiedere di abilitare il disco temporaneo per i cluster di elaborazione.

  • Il disco temporaneo locale viene pulito tra processi.

  • Vengono passate in modo sicuro le credenziali per l'account di archiviazione, il registro contenitori e l'account SSH dal livello di esecuzione ai cluster di elaborazione usando l'insieme di credenziali delle chiavi.

  • Viene abilitato il filtro IP per assicurare che i pool di batch sottostanti non possano essere chiamati da servizi esterni diversi da AzureMachineLearningService.

    Importante

    Dopo aver creato un'area di lavoro, non è possibile modificare le impostazioni relative ai dati riservati, la crittografia, l'ID dell'insieme di credenziali delle chiavi o gli identificatori di chiave. Per modificare questi valori, è necessario creare una nuova area di lavoro usando altri valori.

    Per altre informazioni, vedere Crittografia di dati inattivi.

Distribuire l'area di lavoro dietro una rete virtuale

Impostando il valore del parametro vnetOption su new o existing, è possibile creare le risorse usate da un'area di lavoro dietro una rete virtuale.

Importante

Per il registro contenitori, è supportato solo lo SKU 'Premium'.

Importante

Application Insights non supporta la distribuzione dietro una rete virtuale.

Distribuire l'area di lavoro solo dietro un endpoint privato

Se le risorse associate non si trovano dietro una rete virtuale, è possibile impostare il parametro privateEndpointType su AutoAproval o ManualApproval per distribuire l'area di lavoro dietro un endpoint privato. Questa operazione può essere eseguita sia per le aree di lavoro nuove che per quelle esistenti. Quando si aggiorna un'area di lavoro esistente, compilare i parametri del modello con le informazioni dell'area di lavoro esistente.

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"

Usare una nuova rete virtuale

Per distribuire una risorsa dietro una nuova rete virtuale, impostare il parametro vnetOption su new insieme alle impostazioni della rete virtuale per la rispettiva risorsa. La distribuzione seguente illustra come distribuire un'area di lavoro con la risorsa dell'account di archiviazione dietro una nuova rete virtuale.

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"

In alternativa, è possibile distribuire diverse o tutte le risorse dipendenti dietro una rete virtuale.

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"

Usare una rete virtuale e risorse esistenti

Per distribuire un'area di lavoro con risorse associate esistenti, è necessario impostare il parametro vnetOption su existing insieme ai parametri della subnet. È tuttavia necessario creare endpoint di servizio nella rete virtuale per ognuna delle risorse prima della distribuzione. Analogamente alle nuove distribuzioni di rete virtuale, è possibile avere una o tutte le risorse dietro una rete virtuale.

Importante

La subnet deve avere un endpoint di servizio Microsoft.Storage

Importante

Le subnet non consentono la creazione di endpoint privati. Disabilitare gli endpoint privati per abilitare la subnet.

  1. Abilitare gli endpoint di servizio per le risorse.

    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. Distribuire l'area di lavoro

    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"
    

Usare il portale di Azure

  1. Seguire i passaggi in Distribuire risorse da un modello personalizzato. Quando si arriva alla schermata Selezionare un modello, scegliere la voce Avvii rapidi. Quando viene visualizzata, selezionare il collegamento "Fare clic qui per aprire il repository dei modelli". Questo collegamento consente di passare alla directory quickstarts nel repository dei modelli di avvio rapido di Azure.

  2. Nell'elenco di modelli selezionare microsoft.machinelearningservices. Infine, selezionare Deploy to Azure.

  3. Quando viene visualizzato il modello, specificare le informazioni necessarie seguenti ed eventuali altri parametri, a seconda dello scenario di distribuzione.

    • Sottoscrizione: selezionare la sottoscrizione Azure da usare per queste risorse.
    • Gruppo di risorse: selezionare o creare un gruppo di risorse in cui contenere i servizi.
    • Area: selezionare l'area di Azure in cui verranno create le risorse.
    • Nome dell'area di lavoro: il nome da usare per l'area di lavoro Azure Machine Learning che verrà creata. Il nome dell'area di lavoro deve avere una lunghezza compresa tra 3 e 33 caratteri. Può contenere solo caratteri alfanumerici e '-'.
    • Posizione: selezionare la posizione in cui verranno create le risorse.
  4. Selezionare Rivedi e crea.

  5. Nella schermata Rivedi e crea accettare i termini e le condizioni elencati e selezionare Crea.

Per altre informazioni, vedere Distribuire risorse da un modello personalizzato.

Risoluzione dei problemi

Errori del provider di risorse

Quando si crea un'area di lavoro di Azure Machine Learning o una risorsa usata dall'area di lavoro, è possibile che venga visualizzato un errore simile ai messaggi seguenti:

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

Molti provider di risorse vengono registrati automaticamente, ma non tutti. Se si riceve questo messaggio, è necessario registrare il provider indicato.

La tabella seguente contiene un elenco dei provider di risorse richiesti da Azure Machine Learning:

Provider di risorse Perché è necessario
Microsoft.MachineLearningServices Creazione dell'area di lavoro di Azure Machine Learning.
Microsoft.Storage L'account di Archiviazione di Azure viene usato come risorsa di archiviazione predefinita per l'area di lavoro.
Microsoft.ContainerRegistry Registro Azure Container viene usato dall'area di lavoro per compilare immagini Docker.
Microsoft.KeyVault Azure Key Vault viene usato dall'area di lavoro per archiviare i segreti.
Microsoft.Notebooks Notebook integrati nell'istanza di ambiente di calcolo di Azure Machine Learning.
Microsoft.ContainerService Se si prevede di distribuire modelli sottoposti a training nei servizi Azure Kubernetes.

Se si prevede di usare una chiave gestita dal cliente con Azure Machine Learning, è necessario registrare i provider di servizi seguenti:

Provider di risorse Perché è necessario
Microsoft.DocumentDB Istanza di Azure CosmosDB che registra i metadati per l'area di lavoro.
Microsoft.Search Ricerca di Azure offre funzionalità di indicizzazione per l'area di lavoro.

Se si prevede di usare una rete virtuale gestita con Azure Machine Learning, è necessario registrare il provider di risorse Microsoft.Network. Questo provider di risorse viene usato dall'area di lavoro quando si creano endpoint privati per la rete virtuale gestita.

Per informazioni sulla registrazione dei provider di risorse, vedere Risoluzione degli errori di registrazione del provider di risorse.

Criteri di accesso di Azure Key Vault e modelli di Azure Resource Manager

Quando si usa un modello di Azure Resource Manager per creare l'area di lavoro e le risorse associate (incluso il servizio Azure Key Vault), più volte. Ad esempio, l'uso ripetuto del modello con gli stessi parametri nell’ambito di una pipeline di integrazione e distribuzione continua.

La maggior parte delle operazioni di creazione di risorse tramite i modelli è idempotente, ma il servizio Key Vault cancella i criteri di accesso ogni volta che il modello viene usato. La cancellazione dei criteri di accesso interrompe l'accesso all’insieme di credenziali delle chiavi per tutte le aree di lavoro esistenti che lo usano. È quindi possibile, ad esempio, che le funzionalità di arresto/creazione di macchine virtuali Azure Notebooks non abbiano esito positivo.

Per evitare questo problema, è consigliabile usare uno degli approcci seguenti:

  • Non distribuire il modello più di una volta con gli stessi parametri. Si può in alternativa eliminare le risorse esistenti prima di usare il modello per ricrearle.

  • Esaminare i criteri di accesso del servizio Key Vault e quindi usarli per impostare la proprietà accessPolicies del modello. Per visualizzare i criteri di accesso, usare il comando dell'interfaccia della riga di comando di Azure seguente:

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

    Per altre informazioni sull’uso della sezione accessPolicies del modello, vedere il riferimento all’oggetto AccessPolicyEntry.

  • Verificare se la risorsa insieme di credenziali delle chiavi esiste già. In caso negativo, non ricrearla tramite il modello. Ad esempio, per usare l’insieme di credenziali delle chiavi esistente invece di crearne uno nuovo, apportare le modifiche seguenti al modello:

    • Aggiungere un parametro che accetti l'ID di una risorsa insieme di credenziali delle chiavi esistente:

      "keyVaultId":{
        "type": "string",
        "metadata": {
          "description": "Specify the existing Key Vault ID."
        }
      }
      
    • Rimuovere la sezione che crea una risorsa insieme di credenziali delle chiavi:

      {
        "type": "Microsoft.KeyVault/vaults",
        "apiVersion": "2018-02-14",
        "name": "[variables('keyVaultName')]",
        "location": "[parameters('location')]",
        "properties": {
          "tenantId": "[variables('tenantId')]",
          "sku": {
            "name": "standard",
            "family": "A"
          },
          "accessPolicies": [
          ]
        }
      },
      
    • Rimuovere la riga "[resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName'))]", dalla sezione dependsOn dell’area di lavoro. Modificare anche la voce keyVault nella sezione properties dell’area di lavoro per fare riferimento al parametro 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'))]"
        }
      }
      

    Dopo queste modifiche, è possibile specificare l'ID della risorsa insieme di credenziali delle chiavi esistente durante l'esecuzione del modello. Il modello riutilizzerà quindi l’insieme di credenziali delle chiavi impostando la proprietà keyVault dell'area di lavoro sul relativo ID.

    Per ottenere l'ID di Key Vault, è possibile fare riferimento all'output del processo modello originale o usare l'interfaccia della riga di comando di Azure. Il comando seguente è un esempio di uso dell'interfaccia della riga di comando di Azure per ottenere l'ID della risorsa insieme di credenziali delle chiavi:

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

    Il comando restituisce un valore simile al testo seguente:

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

Passaggi successivi