Gebruik een Azure Resource Manager om een werkruimte te maken voor Azure Machine Learning

In dit artikel leert u verschillende manieren om een Azure Machine Learning-werkruimte te maken met behulp van Azure Resource Manager-sjablonen. Met een Resource Manager-sjabloon kunt u eenvoudig resources maken als één gecoördineerde bewerking. Een sjabloon is een JSON-document dat de resources definieert die nodig zijn voor een implementatie. Het kan ook implementatieparameters opgeven. Parameters worden gebruikt om invoerwaarden op te geven bij het gebruik van de sjabloon.

Zie Een toepassing implementeren met een Azure Resource Manager-sjabloon voor meer informatie.

Vereisten

Beperkingen

  • Wanneer u een nieuwe werkruimte maakt, kunt u automatisch services maken die nodig zijn voor de werkruimte of bestaande services gebruiken. Als u bestaande services van een ander Azure-abonnement wilt gebruiken dan de werkruimte, moet u de Azure Machine Learning-naamruimte registreren in het abonnement dat deze services bevat. Als u bijvoorbeeld een werkruimte maakt in abonnement A die gebruikmaakt van een opslagaccount van abonnement B, moet de Azure Machine Learning-naamruimte zijn geregistreerd in abonnement B voordat u het opslagaccount met de werkruimte kunt gebruiken.

    De resourceprovider voor Azure Machine Learning is Microsoft.MachineLearningServices. Zie het artikel Azure-resourceproviders en typen voor informatie over hoe u kunt zien of deze is geregistreerd en hoe u deze registreert.

    Belangrijk

    Dit geldt alleen voor resources die worden geleverd tijdens het maken van de werkruimte; Azure Storage-accounts, Azure Container Register, Azure Key Vault en Application Insights.

  • De voorbeeldsjabloon gebruikt mogelijk niet altijd de nieuwste API-versie voor Azure Machine Learning. Voordat u de sjabloon gebruikt, raden we u aan deze te wijzigen om de nieuwste API-versies te gebruiken. Zie de Azure Machine Learning REST API voor informatie over de nieuwste API-versies voor Azure Machine Learning.

    Tip

    Elke Azure-service heeft een eigen set API-versies. Raadpleeg de servicegegevens in de Naslaginformatie over de Azure REST API voor informatie over de API voor een specifieke service.

    Als u de API-versie wilt bijwerken, zoekt u de "apiVersion": "YYYY-MM-DD" vermelding voor het resourcetype en werkt u deze bij naar de nieuwste versie. Het volgende voorbeeld is een vermelding voor Azure Machine Learning:

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

Meerdere werkruimten in hetzelfde VNet

De sjabloon biedt geen ondersteuning voor meerdere Azure Machine Learning-werkruimten die in hetzelfde VNet zijn geïmplementeerd. Dit komt doordat de sjabloon nieuwe DNS-zones maakt tijdens de implementatie.

Als u een sjabloon wilt maken waarmee meerdere werkruimten in hetzelfde VNet worden geïmplementeerd, stelt u dit handmatig in (met behulp van Azure Portal of CLI) en gebruikt u vervolgens Azure Portal om een sjabloon te genereren.

Resource Manager-sjabloon voor werkruimte

De Azure Resource Manager-sjabloon die in dit document wordt gebruikt, vindt u in de Map microsoft.machineleaerningservices/machine-learning-workspace-vnet van de GitHub-opslagplaats met Azure-quickstart-sjablonen.

Met deze sjabloon worden de volgende Azure-services gemaakt:

  • Azure-opslagaccount
  • Azure Key Vault
  • Azure Application Insights
  • Azure Container Registry
  • Azure Machine Learning-werkruimte

De resourcegroep is de container die de services bevat. De verschillende services zijn vereist voor de Azure Machine Learning-werkruimte.

De voorbeeldsjabloon heeft twee vereiste parameters:

  • De locatie waar de resources worden gemaakt.

    De sjabloon gebruikt de locatie die u voor de meeste resources selecteert. De uitzondering hierop is de Application Insights-service, die niet beschikbaar is op alle locaties waar de andere services zich bevinden. Als u een locatie selecteert waar deze niet beschikbaar is, wordt de service gemaakt op de locatie VS - zuid-centraal.

  • De workspaceName, de beschrijvende naam van de Azure Machine Learning-werkruimte.

    Notitie

    De naam van de werkruimte is niet hoofdlettergevoelig.

    De namen van de andere services worden willekeurig gegenereerd.

Tip

Terwijl de sjabloon die aan dit document is gekoppeld, een nieuwe Azure Container Registry maakt, kunt u ook een nieuwe werkruimte maken zonder een containerregister te maken. Er wordt een gemaakt wanneer u een bewerking uitvoert waarvoor een containerregister is vereist. Bijvoorbeeld het trainen of implementeren van een model.

U kunt ook verwijzen naar een bestaand containerregister of opslagaccount in de Azure Resource Manager-sjabloon in plaats van een nieuw account te maken. Als u dit doet, moet u een beheerde identiteit (preview) gebruiken of het beheerdersaccount voor het containerregister inschakelen.

Waarschuwing

Als er een Azure Container Registry voor een werkruimte is gemaakt, moet u deze niet verwijderen. Als u dat doet, werkt de Azure Machine Learning-werkruimte niet meer.

Zie de volgende artikelen voor meer informatie over sjablonen:

Sjabloon implementeren

Als u uw sjabloon wilt implementeren, moet u een resourcegroep maken.

Zie de sectie Azure Portal als u liever de grafische gebruikersinterface gebruikt.

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

Nadat uw resourcegroep is gemaakt, implementeert u de sjabloon met de volgende opdracht:

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"

Standaard zijn alle resources die als onderdeel van de sjabloon zijn gemaakt, nieuw. U kunt echter ook bestaande resources gebruiken. Door aanvullende parameters aan de sjabloon op te geven, kunt u bestaande resources gebruiken. Als u bijvoorbeeld een bestaand opslagaccount wilt gebruiken, stelt u de waarde storageAccountOption in op bestaande en geeft u de naam van uw opslagaccount op in de parameter storageAccountName.

Belangrijk

Als u een bestaand Azure Storage-account wilt gebruiken, kan het geen Premium-account zijn (Premium_LRS en Premium_GRS). Het kan ook geen hiërarchische naamruimte hebben (gebruikt met Azure Data Lake Storage Gen2). Premium-opslag of hiërarchische naamruimte worden niet ondersteund met het standaardopslagaccount van de werkruimte. Premium-opslag of hiërarchische naamruimten worden niet ondersteund met het standaardopslagaccount van de werkruimte. U kunt Premium Storage of hiërarchische naamruimte gebruiken met niet-standaardopslagaccounts .

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"

Een versleutelde werkruimte implementeren

In de volgende voorbeeldsjabloon ziet u hoe u een werkruimte maakt met drie instellingen:

  • Schakel instellingen voor hoge vertrouwelijkheid in voor de werkruimte. Hiermee maakt u een nieuw Azure Cosmos DB-exemplaar.
  • Schakel versleuteling in voor de werkruimte.
  • Maakt gebruik van een bestaande Azure Key Vault om door de klant beheerde sleutels op te halen. Door de klant beheerde sleutels worden gebruikt om een nieuw Azure Cosmos DB-exemplaar voor de werkruimte te maken.

Belangrijk

Zodra een werkruimte is gemaakt, kunt u de instellingen voor vertrouwelijke gegevens, versleuteling, sleutelkluis-id of sleutel-id's niet meer wijzigen. Als u deze waarden wilt wijzigen, moet u een nieuwe werkruimte maken met behulp van de nieuwe waarden.

Zie Door de klant beheerde sleutels voor meer informatie.

Belangrijk

Er zijn enkele specifieke vereisten die uw abonnement moet voldoen voordat u deze sjabloon gebruikt:

  • U moet een bestaande Azure Key Vault hebben die een versleutelingssleutel bevat.
  • De Azure Key Vault moet zich in dezelfde regio bevinden als waar u de Azure Machine Learning-werkruimte wilt maken.
  • U moet de id van de Azure Key Vault en de URI van de versleutelingssleutel opgeven.

Zie Door de klant beheerde sleutels configureren voor stappen voor het maken van de kluis en sleutel.

Voer de volgende stappen uit om de waarden op te halen voor de cmk_keyvault parameters (id van de sleutelkluis) en de resource_cmk_uri parameters (sleutel-URI) die nodig zijn voor deze sjabloon:

  1. Gebruik de volgende opdracht om de Key Vault-id op te halen:

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

    Met deze opdracht wordt een waarde geretourneerd die vergelijkbaar is met /subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>.

  2. Gebruik de volgende opdracht om de waarde voor de URI voor de door de klant beheerde sleutel op te halen:

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

Met deze opdracht wordt een waarde geretourneerd die vergelijkbaar is met https://mykeyvault.vault.azure.net/keys/mykey/{guid}.

Belangrijk

Zodra een werkruimte is gemaakt, kunt u de instellingen voor vertrouwelijke gegevens, versleuteling, sleutelkluis-id of sleutel-id's niet meer wijzigen. Als u deze waarden wilt wijzigen, moet u een nieuwe werkruimte maken met behulp van de nieuwe waarden.

Als u het gebruik van door de klant beheerde sleutels wilt inschakelen, stelt u de volgende parameters in bij het implementeren van de sjabloon:

  • encryption_status in Ingeschakeld.
  • cmk_keyvault de waarde die u in de cmk_keyvault vorige stappen hebt verkregen.
  • resource_cmk_uri de waarde die u in de resource_cmk_uri vorige stappen hebt verkregen.
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}" \

Wanneer u een door de klant beheerde sleutel gebruikt, maakt Azure Machine Learning een secundaire resourcegroep die het Azure Cosmos DB-exemplaar bevat. Zie Encryption-at-rest in Azure Cosmos DB voor meer informatie.

Een extra configuratie die u voor uw gegevens kunt opgeven, is door de parameter confidential_data in te stellen op true. Dit doet u als volgt:

  • Begint met het versleutelen van de lokale scratchschijf voor Azure Machine Learning-rekenclusters, mits u geen eerdere clusters in uw abonnement hebt gemaakt. Als u eerder een cluster in het abonnement hebt gemaakt, opent u een ondersteuningsticket om versleuteling van de scratchschijf in te schakelen voor uw rekenclusters.

  • Hiermee wordt de lokale scratchschijf tussen taken opgeschoond.

  • Hiermee worden referenties veilig doorgegeven voor het opslagaccount, het containerregister en het SSH-account van de uitvoeringslaag aan uw rekenclusters met behulp van de sleutelkluis.

  • Hiermee schakelt u IP-filtering in om ervoor te zorgen dat de onderliggende batchgroepen niet kunnen worden aangeroepen door andere externe services dan AzureMachineLearningService.

    Belangrijk

    Zodra een werkruimte is gemaakt, kunt u de instellingen voor vertrouwelijke gegevens, versleuteling, sleutelkluis-id of sleutel-id's niet meer wijzigen. Als u deze waarden wilt wijzigen, moet u een nieuwe werkruimte maken met behulp van de nieuwe waarden.

    Zie versleuteling-at-rest voor meer informatie.

Werkruimte implementeren achter een virtueel netwerk

Door de vnetOption parameterwaarde in te stellen op of newexistingkunt u de resources maken die worden gebruikt door een werkruimte achter een virtueel netwerk.

Belangrijk

Voor containerregister wordt alleen de Premium-SKU ondersteund.

Belangrijk

Application Insights biedt geen ondersteuning voor implementatie achter een virtueel netwerk.

Alleen werkruimte implementeren achter privé-eindpunt

Als uw gekoppelde resources zich niet achter een virtueel netwerk bevinden, kunt u de parameter AutoAproval privateEndpointType instellen op of ManualApproval de werkruimte achter een privé-eindpunt implementeren. Dit kan worden gedaan voor zowel nieuwe als bestaande werkruimten. Wanneer u een bestaande werkruimte bijwerkt, vult u de sjabloonparameters in met de informatie uit de bestaande werkruimte.

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"

Een nieuw virtueel netwerk gebruiken

Als u een resource achter een nieuw virtueel netwerk wilt implementeren, stelt u vnetOption in op nieuw, samen met de instellingen voor het virtuele netwerk voor de betreffende resource. In de onderstaande implementatie ziet u hoe u een werkruimte implementeert met de opslagaccountresource achter een nieuw virtueel netwerk.

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"

U kunt ook meerdere of alle afhankelijke resources achter een virtueel netwerk implementeren.

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"

Een bestaand virtueel netwerk en resources gebruiken

Als u een werkruimte wilt implementeren met bestaande gekoppelde resources, moet u de parameter vnetOption instellen op bestaande samen met subnetparameters. U moet echter service-eindpunten maken in het virtuele netwerk voor elk van de resources vóór de implementatie. Net als bij nieuwe implementaties van virtuele netwerken kunt u een of al uw resources achter een virtueel netwerk hebben.

Belangrijk

Subnet moet een service-eindpunt hebben Microsoft.Storage

Belangrijk

Subnetten staan het maken van privé-eindpunten niet toe. Schakel het privé-eindpunt uit om het subnet in te schakelen.

  1. Schakel service-eindpunten in voor de resources.

    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. De werkruimte implementeren

    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"
    

De Azure-portal gebruiken

  1. Volg de stappen in Resources implementeren vanuit een aangepaste sjabloon. Wanneer u bij het scherm Selecteer een sjabloon aankomt, kiest u de vermelding quickstarts . Wanneer deze wordt weergegeven, selecteert u de koppeling met het label 'Klik hier om de sjabloonopslagplaats te openen'. Met deze koppeling gaat u naar de quickstarts map in de opslagplaats met Azure-quickstartsjablonen.

  2. Selecteer in de lijst met snelstartsjablonen de optie microsoft.machinelearningservices. Selecteer Deploy to Azureten slotte .

  3. Wanneer de sjabloon wordt weergegeven, geeft u de volgende vereiste informatie en eventuele andere parameters op, afhankelijk van uw implementatiescenario.

    • Abonnement: Selecteer het Azure-abonnement dat u voor deze resources wilt gebruiken.
    • Resourcegroep: Selecteer of maak een resourcegroep die de services bevat.
    • Regio: Selecteer de Azure-regio waarin de resources worden gemaakt.
    • Werkruimtenaam: de naam die moet worden gebruikt voor de Azure Machine Learning-werkruimte die wordt gemaakt. De naam van de werkruimte moet tussen 3 en 33 tekens zijn. Het mag alleen alfanumerieke tekens en '-' bevatten.
    • Locatie: Selecteer de locatie waar de resources worden gemaakt.
  4. Selecteer Controleren + maken.

  5. Ga in het scherm Beoordelen en maken akkoord met de vermelde voorwaarden en selecteer Maken.

Zie Resources implementeren vanuit een aangepaste sjabloon voor meer informatie.

Problemen oplossen

Fouten met resourceprovider

Wanneer u een Azure Machine Learning-werkruimte maakt of een resource die door de werkruimte wordt gebruikt, ontvangt u mogelijk een foutbericht die op een van de volgende berichten lijkt:

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

De meeste resourceproviders worden automatisch geregistreerd, maar niet allemaal. Als u dit bericht ontvangt, moet u de vermelde provider registreren.

De volgende tabel bevat een lijst met de resourceproviders die vereist zijn voor Azure Machine Learning:

Resourceprovider Waarom dit nodig is
Microsoft.MachineLearningServices De Azure Machine Learning-werkruimte maken.
Microsoft.Storage Azure Storage-account wordt gebruikt als de standaardopslag voor de werkruimte.
Microsoft.ContainerRegistry Azure Container Registry wordt door de werkruimte gebruikt om Docker-installatiekopieën te bouwen.
Microsoft.KeyVault Azure Key Vault wordt door de werkruimte gebruikt om geheimen op te slaan.
Microsoft.Notebooks Geïntegreerde notebooks in een Azure Machine Learning-rekenproces.
Microsoft.ContainerService Als u van plan bent getrainde modellen te implementeren in Azure Kubernetes Services.

Als u van plan bent om een door de klant beheerde sleutel te gebruiken met Azure Machine Learning, moeten de volgende serviceproviders zijn geregistreerd:

Resourceprovider Waarom dit nodig is
Microsoft.DocumentDB Azure CosmosDB-exemplaar dat metagegevens voor de werkruimte registreert.
Microsoft.Search Azure Search biedt indexeringsmogelijkheden voor de werkruimte.

Als u van plan bent om een beheerd virtueel netwerk te gebruiken met Azure Machine Learning, moet de resourceprovider Microsoft.Network worden geregistreerd. Deze resourceprovider wordt door de werkruimte gebruikt bij het maken van privé-eindpunten voor het beheerde virtuele netwerk.

Zie Fouten oplossen voor de registratie van de resourceprovider voor informatie over het registreren van resourceproviders.

Toegangsbeleid voor Azure Key Vault en Azure Resource Manager-sjablonen

Wanneer u een Azure Resource Manager-sjabloon gebruikt om de werkruimte en de bijbehorende resources (inclusief Azure Key Vault) meerdere keren te maken. Als u bijvoorbeeld de sjabloon meerdere keren gebruikt met dezelfde parameters als onderdeel van een pijplijn voor continue integratie en implementatie.

De meeste bewerkingen voor het maken van resources via sjablonen zijn idempotent, maar Key Vault wist het toegangsbeleid telkens wanneer de sjabloon wordt gebruikt. Als u het toegangsbeleid wist, wordt de toegang tot de Key Vault verbroken voor alle bestaande werkruimten die deze gebruiken. Stop/Create-functionaliteiten van azure Notebooks-VM kunnen bijvoorbeeld mislukken.

Om dit probleem te voorkomen, raden we een van de volgende methoden aan:

  • Implementeer de sjabloon niet meer dan één keer voor dezelfde parameters. Of verwijder de bestaande resources voordat u de sjabloon gebruikt om ze opnieuw te maken.

  • Controleer het toegangsbeleid voor Key Vault en gebruik deze beleidsregels om de accessPolicies eigenschap van de sjabloon in te stellen. Gebruik de volgende Azure CLI-opdracht om het toegangsbeleid weer te geven:

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

    Zie de objectverwijzing accessPolicyEntry voor meer informatie over het gebruik van de accessPolicies sectie van de sjabloon.

  • Controleer of de Key Vault-resource al bestaat. Als dit het geval is, maakt u deze niet opnieuw via de sjabloon. Als u bijvoorbeeld de bestaande sleutelkluis wilt gebruiken in plaats van een nieuwe te maken, moet u de volgende wijzigingen aanbrengen in de sjabloon:

    • Voeg een parameter toe die de id van een bestaande Key Vault-resource accepteert:

      "keyVaultId":{
        "type": "string",
        "metadata": {
          "description": "Specify the existing Key Vault ID."
        }
      }
      
    • Verwijder de sectie waarmee een Key Vault-resource wordt gemaakt:

      {
        "type": "Microsoft.KeyVault/vaults",
        "apiVersion": "2018-02-14",
        "name": "[variables('keyVaultName')]",
        "location": "[parameters('location')]",
        "properties": {
          "tenantId": "[variables('tenantId')]",
          "sku": {
            "name": "standard",
            "family": "A"
          },
          "accessPolicies": [
          ]
        }
      },
      
    • Verwijder de "[resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName'))]", regel uit de dependsOn sectie van de werkruimte. Wijzig ook de keyVault vermelding in de properties sectie van de werkruimte om te verwijzen naar de keyVaultId parameter:

      {
        "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'))]"
        }
      }
      

    Na deze wijzigingen kunt u de id van de bestaande Key Vault-resource opgeven bij het uitvoeren van de sjabloon. De sjabloon gebruikt de sleutelkluis vervolgens opnieuw door de eigenschap van de werkruimte in te stellen op de keyVault id.

    Als u de id van de Sleutelkluis wilt ophalen, kunt u verwijzen naar de uitvoer van de oorspronkelijke sjabloontaak of de Azure CLI gebruiken. De volgende opdracht is een voorbeeld van het gebruik van de Azure CLI om de Key Vault-resource-id op te halen:

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

    Met deze opdracht wordt een waarde geretourneerd die lijkt op de volgende tekst:

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

Volgende stappen