Schnellstart: Eine Servicekatalogvorlage über die CLI bereitstellen

Azure Enclave ist ein Cloud-Netzwerkdienst, der es Organisationen mit hochsensiblen Daten ermöglicht, Workloads in kommerziellen und isolierten Azure-Clouds schnell und in großem Maßstab bereitzustellen und zu verwalten. In dieser Schnellstartanleitung führen Sie die folgenden Schritte aus:

  • Stellen Sie eine Servicekatalog-Vorlage mit Azure CLI-Befehlen bereit.

Note

Diese Beispielbereitstellung dient nur zu Demozwecken und stellt nicht alle bewährten Methoden für die Verwaltung von Netzwerken, Systemen oder Anwendungen dar.

Bevor Sie anfangen

Voraussetzungen

Überprüfen Sie vor Beginn die Voraussetzungen, die für die Dienstkatalogvorlage angegeben sind, die Sie bereitstellen möchten. Stellen Sie alle als Voraussetzung benötigten Ressourcen bereit, sofern diese noch nicht verfügbar sind, und vergewissern Sie sich, dass Sie über die Berechtigung zu deren Verwendung verfügen.

Dann sammeln Sie die Ressourcennamen, Ressourcen-IDs und andere Parameterwerte, die für diese Vorlage erforderlich sind. Die Voraussetzungen, erforderlichen Parameter und Standardwerte können je nach Vorlage und Version variieren. Gehen Sie nicht davon aus, dass jede Vorlage die im folgenden Beispiel verwendeten Ressourcen benötigt.

Bereitstellen einer Vorlage aus dem Dienstkatalog

Die Servicekatalog-Vorlagen findest du in Azure Public in der inventory.xml Inventardatei.

Lade eine bestimmte Vorlage herunter, indem du den Namen verwendest, den du im Inventar findest (zum Beispiel, deploy-adminVM-1.0.1.json).

  1. Auflisten der verfügbaren Vorlagen im Dienstkatalog:

    # Download the XML file
    $xmlUrl = "https://veservicecatalogprod.z22.web.core.windows.net/inventory.xml"
    $xmlContent = Invoke-WebRequest -Uri $xmlUrl -UseBasicParsing
    
    # Load the XML content
    [xml]$xml = $xmlContent.Content
    
    # Extract URLs from the XML file
    $urls = $xml.SelectNodes("//EnumerationResults/Blobs/Blob/Url")
    
    # List the URLs
    $urls | ForEach-Object { $_.InnerText }
    

    Das Servicekatalog-Speicherkonto variiert je nach Umgebung:

    • Azure: veservicecatalogprod.z22.web.core.windows.net
    • Azure Government:veservicecatalogfairfax.z2.web.core.usgovcloudapi.net
    • Azure Secret:veservicecatalogussec.z1.web.core.<AzureSecretDomain>
    • Azure Top Secret:veservicecatalogusnat.z2.web.core.<AzureTopSecretDomain>
  2. Laden Sie jede Vorlage herunter. Setzen Sie das PowerShell-Skript aus dem vorherigen Schritt fort. Um nur eine Vorlage herunterzuladen, ersetzen Sie den Filter durch die von Ihnen gewählte Vorlagen-URL.

    # download all templates
    $urls | ForEach-Object {
        $url = $_.InnerText
        $fileName = Split-Path -Leaf $url
        Invoke-WebRequest -Uri $url -OutFile $fileName
    }
    
  3. Öffne die Vorlage und entscheide, welche Parameter du angeben musst. Verwenden Sie in diesem Beispiel storageAccount/deploy-storage-account-1.0.0.json.

    Beachten Sie, welche Parameter erforderlich sind und welche Parameter Standardwerte aufweisen.

    Erstellen Sie eine params.json Datei, um die Parameterwerte bereitzustellen:

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "storageAccountName": {
                "value": ""
            },
            "virtualNetworkName": {
                "value": ""
            },
            "networkResourceGroupName": {
                "value": ""
            },
            "privateLinkSubnetName": {
                "value": ""
            },
            "privateDnsZoneResourceGroupName": {
                "value": ""
            },
            "keyVaultName": {
                "value": ""
            },
            "keyName": {
                "value": ""
            },
            "keyVaultResourceGroupName": {
                "value": ""
            },
            "userAssignedIdentityObject": {
                "value": {
                    "name":"",
                    "id":"",
                    "location":"",
                    "subscriptionName":""
                }
            }
        }
    }
    
  4. Holen Sie die Ressourcen der Enklave, um folgende Parameterwerte bereitzustellen:

    • storageAccountName
    • virtualNetworkName
    • networkResourceGroupName
    • privateDnsZoneResourceGroupName
    • keyVaultName
    • keyVaultResourceGroupName
    • userAssignedIdentityObject.name
    • userAssignedIdentityObject.id
    • userAssignedIdentityObject.location
    • userAssignedIdentityObject.subscriptionName
    az rest --method get --uri "<enclave-resource-id>?api-version=<api-version>"
    

    Verwenden Sie eine derzeit unterstützte Microsoft.Mission API-Version aus der Azure Enclave API-Referenz (zum Beispiel 2026-04-01).

    Verwenden Sie die Antwort und die Azure-Ressourceneigenschaften, um die Werte in params.jsonauszufüllen. Für weitere API-Operationen und Schemata siehe die Azure Enclave API-Referenz sowie die Quellcode und Spezifikationen der Azure Enclave API. Du musst außerdem keyName und privateLinkSubnetName identifizieren.

  5. Subnetze im virtuellen Netzwerk (privateLinkSubnetName) auflisten

    az network vnet subnet list --resource-group <resource-group-name> --vnet-name <vnet-name> --query "[].name"
    
  6. CMK-Schlüsselname abrufen (keyName)

    az keyvault key list --vault-name <keyvault-name> --query "[].name"
    
  7. Den Standort von userAssignedIdentityObject abrufen (userAssignedIdentityObject.location)

    az resource show --ids <user-assigned-identity-resource-id> --query location
    
  8. Den Abonnementnamen abrufen

    az account show --subscription <subscription-id> --query name
    
  9. Implementieren der Vorlage

    az deployment group create --resource-group <resource-group-name> --template-file ./<template-downloaded-name> --parameters @./<parameter-file-name>
    

Validierung der Bereitstellung

  1. Überprüfen Sie den Bereitstellungsstatus.

    az deployment group show --resource-group <resource-group-name> --name <deployment-name> --query properties.provisioningState
    
  2. Bestätigen Sie, dass die von der Vorlage erstellten Ressourcen vorhanden sind.

    az resource list --resource-group <resource-group-name> --output table
    

Löschen der Bereitstellung

Wenn Sie diese Ressourcen nicht behalten möchten, löschen Sie nur die durch diese Bereitstellung erstellten Ressourcen, um Azure-Kosten zu vermeiden. Lösche die Ressourcengruppe nur, wenn sie für diese Bereitstellung vorgesehen ist und du bestätigt hast, dass sie keine Ressourcen enthält, die du behalten musst.