Avvio rapido: Distribuisci un modello di catalogo di servizi usando la CLI

Azure Enclave è un servizio di networking cloud che offre alle organizzazioni che gestiscono dati altamente sensibili la possibilità di distribuire e gestire rapidamente carichi di lavoro su larga scala nei cloud Azure commerciali e nei cloud Azure isolati. Questo avvio rapido spiega come:

  • Distribuisci un modello di catalogo di servizi utilizzando i comandi interfaccia della riga di comando di Azure.

Note

Questa distribuzione di esempio è solo a scopo dimostrativo e non rappresenta tutte le procedure consigliate per l'amministrazione di rete, sistemi o applicazioni.

Prima di iniziare

Prerequisiti

Prima di iniziare, esamina i prerequisiti specificati dal modello del catalogo di servizi che intendi distribuire. Distribuisci tutte le risorse prerequisito richieste che non sono già disponibili e conferma di avere il permesso di utilizzarle.

Poi raccogli i nomi delle risorse, gli ID delle risorse e altri parametri richiesti da quel template. I prerequisiti, i parametri richiesti e i valori predefiniti possono variare a seconda del modello e della versione. Non dare per scontato che ogni template richieda le risorse utilizzate nell'esempio seguente.

Distribuire un modello dal catalogo dei servizi

Puoi trovare i modelli di catalogo di servizi in Azure Public nel inventory.xml file inventario.

Scarica un modello specifico usando il nome che trovi nell'inventario (ad esempio, deploy-adminVM-1.0.1.json).

  1. Elencare i modelli disponibili nel catalogo dei servizi:

    # 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 }
    

    L'account di archiviazione del catalogo dei servizi varia a seconda dell'ambiente:

    • Azure: veservicecatalogprod.z22.web.core.windows.net
    • Azure per enti pubblici: veservicecatalogfairfax.z2.web.core.usgovcloudapi.net
    • Azure Secret:veservicecatalogussec.z1.web.core.<AzureSecretDomain>
    • Azure Top Secret:veservicecatalogusnat.z2.web.core.<AzureTopSecretDomain>
  2. Scaricare ogni modello. Continuare con lo script PowerShell dal passaggio precedente. Per scaricare un solo modello, sostituisci il filtro con l'URL del modello selezionato.

    # download all templates
    $urls | ForEach-Object {
        $url = $_.InnerText
        $fileName = Split-Path -Leaf $url
        Invoke-WebRequest -Uri $url -OutFile $fileName
    }
    
  3. Apri il template e determina quali parametri devi fornire. In questo esempio usare storageAccount/deploy-storage-account-1.0.0.json.

    Si noti quali parametri sono obbligatori e quali parametri hanno valori predefiniti.

    Crea un params.json file per fornire i valori dei parametri:

    {
        "$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. Recupera le risorse dell'enclave per fornire i seguenti valori di parametro:

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

    Usa la risposta e le proprietà della risorsa Azure per popolare i valori in params.json. Per ulteriori operazioni e schemi API, consulta il riferimento API di Azure Enclave e la sorgente e le specifiche dell'API di Azure Enclave. Devi anche identificare privateLinkSubnetName e keyName.

  5. Elencare le subnet nella rete virtuale (privateLinkSubnetName)

    az network vnet subnet list --resource-group <resource-group-name> --vnet-name <vnet-name> --query "[].name"
    
  6. Recuperare il nome della chiave CMK (keyName)

    az keyvault key list --vault-name <keyvault-name> --query "[].name"
    
  7. Ottenere la posizione di userAssignedIdentityObject (userAssignedIdentityObject.location)

    az resource show --ids <user-assigned-identity-resource-id> --query location
    
  8. Recuperare il nome della sottoscrizione

    az account show --subscription <subscription-id> --query name
    
  9. Implementare il modello

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

Convalidare la distribuzione

  1. Controllare lo stato della distribuzione.

    az deployment group show --resource-group <resource-group-name> --name <deployment-name> --query properties.provisioningState
    
  2. Verifica che le risorse create dal modello siano presenti.

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

Eliminare la distribuzione

Se non hai intenzione di mantenere queste risorse, elimina solo quelle create da questa distribuzione per evitare addebiti Azure. Elimina il gruppo di risorse solo quando è dedicato a questo deployment e hai confermato che non contiene risorse da conservare.