Início Rápido: Implante um modelo de catálogo de serviços usando a CLI

O Azure Enclave é um serviço de rede em nuvem que oferece às organizações com dados altamente confidenciais a capacidade de implantar e gerenciar cargas de trabalho rapidamente em nuvens do Azure comerciais e isoladas (air-gapped) em escala. Neste guia de início rápido, você:

  • Implante um modelo de catálogo de serviços usando comandos CLI do Azure.

Note

Essa implantação de exemplo é apenas para fins de demonstração e não representa todas as práticas recomendadas para administração de rede, sistemas ou aplicativos.

Antes de começar

Prerequisites

Antes de começar, revise os pré-requisitos especificados pelo modelo de catálogo de serviços que você pretende implantar. Implante quaisquer recursos pré-requisitos necessários que ainda não estejam disponíveis e confirme que você tem permissão para usá-los.

Depois, reúna os nomes dos recursos, IDs de recursos e outros valores de parâmetros exigidos por esse modelo. Os pré-requisitos, parâmetros exigidos e valores padrão podem variar conforme o template e a versão. Não presuma que todo template requer os recursos usados no exemplo a seguir.

Implantar um modelo do catálogo de serviços

Você pode encontrar os modelos de catálogo de serviços no Azure Public no inventory.xml arquivo de inventário.

Baixe um modelo específico usando o nome que você encontrar no inventário (por exemplo, deploy-adminVM-1.0.1.json).

  1. Liste os modelos disponíveis no catálogo de serviços:

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

    A conta de armazenamento do catálogo de serviços varia conforme o ambiente:

    • Azure: veservicecatalogprod.z22.web.core.windows.net
    • Azure Governamental:veservicecatalogfairfax.z2.web.core.usgovcloudapi.net
    • Azure Secret:veservicecatalogussec.z1.web.core.<AzureSecretDomain>
    • Azure Top Secret:veservicecatalogusnat.z2.web.core.<AzureTopSecretDomain>
  2. Baixe cada modelo. Continue o script do PowerShell da etapa anterior. Para baixar apenas um modelo, substitua o filtro pela URL do modelo que você selecionou.

    # download all templates
    $urls | ForEach-Object {
        $url = $_.InnerText
        $fileName = Split-Path -Leaf $url
        Invoke-WebRequest -Uri $url -OutFile $fileName
    }
    
  3. Abra o modelo e determine quais parâmetros você precisa fornecer. Neste exemplo, use storageAccount/deploy-storage-account-1.0.0.json.

    Observe quais parâmetros são necessários e quais parâmetros têm valores padrão.

    Crie um params.json arquivo para fornecer os valores dos parâmetros:

    {
        "$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. Busque os recursos do enclave para fornecer os seguintes valores de parâmetro:

    • 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>"
    

    Use uma versão da API atualmente suportada Microsoft.Mission da referência da API do Azure Enclave (por exemplo, 2026-04-01).

    Use a resposta e as propriedades do recurso do Azure para preencher os valores em params.json. Para mais operações e esquemas de API, veja a referência da API do Azure Enclave e a fonte e especificações da API do Azure Enclave. Você também deve identificar privateLinkSubnetName e keyName.

  5. Liste as sub-redes na rede virtual (privateLinkSubnetName)

    az network vnet subnet list --resource-group <resource-group-name> --vnet-name <vnet-name> --query "[].name"
    
  6. Obter o nome da chave CMK (keyName)

    az keyvault key list --vault-name <keyvault-name> --query "[].name"
    
  7. Obter a localização de userAssignedIdentityObject (userAssignedIdentityObject.location)

    az resource show --ids <user-assigned-identity-resource-id> --query location
    
  8. Obter o nome da assinatura

    az account show --subscription <subscription-id> --query name
    
  9. Implantar o modelo

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

Validar a implementação

  1. Verifique o status da implantação.

    az deployment group show --resource-group <resource-group-name> --name <deployment-name> --query properties.provisioningState
    
  2. Confirme que os recursos criados pelo modelo estão presentes.

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

Excluir a implantação

Se você não pretende manter esses recursos, exclua apenas os recursos criados por essa implantação para evitar cobranças do Azure. Exclua o grupo de recursos apenas quando ele for dedicado a essa implantação e você tiver confirmado que ele não contém recursos que você precise manter.