Démarrage rapide : Déployer un modèle de catalogue de services à l’aide de l’interface CLI

Azure Enclave est un service de réseau cloud qui permet aux organisations traitant des données hautement sensibles de déployer et de gérer rapidement des charges de travail à grande échelle sur les clouds Azure commerciaux et isolés du réseau. Dans ce guide de démarrage rapide, vous :

  • Déployez un modèle de catalogue de services à partir du catalogue de services à l’aide de la Azure CLI.

Note

Cet exemple de déploiement est uniquement à des fins de démonstration et ne représente pas toutes les meilleures pratiques pour l’administration du réseau, des systèmes ou des applications.

Avant de commencer

Déployer un modèle à partir du catalogue de services

Les modèles de catalogue de services sont disponibles publiquement ici dans Azure Public :https://veservicecatalogprod.z22.web.core.windows.net/inventory.xml

Téléchargez un modèle spécifique à l’aide du nom trouvé dans l’inventaire ci-dessus (par exemple, https://veservicecatalogprod.z22.web.core.windows.net/adminVM/deploy-adminVM-1.0.1.json)

  1. Répertoriez les modèles disponibles dans le catalogue de services :

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

    Noms de compte de stockage par environnement

    • Azure : veservicecatalogprod.z22.web.core.windows.net
    • Azure Government : veservicecatalogfairfax.z2.web.core.usgovcloudapi.net
    • Azure Secret : veservicecatalogussec.z1.web.core.<SecretDomain>
    • Azure Top Secret : veservicecatalogusnat.z2.web.core.<TopSecretDomain>
  2. Téléchargez chaque modèle En continuant le script à partir de l’étape précédente

    # download all templates
    $urls | ForEach-Object {
        $url = $_.InnerText
        $fileName = Split-Path -Leaf $url
        Invoke-WebRequest -Uri $url -OutFile $fileName
    }
    
  3. Ouvrez le modèle et déterminez les paramètres dont vous avez besoin pour fournir des valeurs. Dans cet exemple, nous utilisons « storageAccount/deploy-storage-account-1.0.0.json»

    Notez quels paramètres sont requis et quels paramètres ont des valeurs par défaut.

    Créez un fichier params.json pour fournir les valeurs de paramètre :

    {
        "$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. Récupérer les ressources d’enclave pour fournir les valeurs de paramètre suivantes

    • storageAccountName
    • virtualNetworkName
    • nom du groupe de ressources réseau
    • privateDnsZoneResourceGroupName
    • keyVaultName
    • keyVaultResourceGroupName
    • ID de userAssignedIdentityObject
    az rest --method get --uri "<enclave-resource-id>?api-version=2026-03-01-preview"
    

    Pour plus d’opérations et de schémas API, consultez la référence API Azure Enclave et la source et spécifications API Azure Enclave. Vous devez toujours récupérer des valeurs privateLinkSubnetName, keyName, userAssignedIdentityObject

  5. Répertorier les sous-réseaux du réseau virtuel (privateLinkSubnetName)

    az network vnet subnet list --resource-group <resource-group-name> --vnet-name <vnet-name> --query "[].name"
    
  6. Récupérer le nom de la clé CMK (keyName)

    az keyvault key list --vault-name <keyvault-name> --query "[].name"
    
  7. Obtenir l’emplacement de userAssignedIdentityObject (userAssignedIdentityObject.location)

    az resource show --ids <user-assigned-identity-resource-id> --query location
    
  8. Obtenir le nom de l’abonnement

    az account show --subscription <subscription-id> --query name
    
  9. Déployer le modèle

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

    Ce script est destiné au déploiement d’un modèle à partir du catalogue de services

    az storage blob list --account-name <storage-account-name> --container-name servicecatalog --query '[].{Name:name}'
    
    az storage blob download --account-name <storag-eaccount-name> --container-name servicecatalog --name <template-to-download-name> --file ./<template-downloaded-name>
    
    az rest --method get --uri "<enclave-resource-id>?api-version=2026-03-01-preview"
    
    az network vnet subnet list --resource-group <resource-group-name> --vnet-name <vnet-name> --query "[].name"
    
    az keyvault key list --vault-name <keyvault-name> --query "[].name"
    
    az resource show --ids <user-assigned-identity-resource-id> --query location
    
    az account show --subscription <subscription-id> --query name
    
    az deployment group create --resource-group <resource-group-name> --template-file ./<template-downloaded-name> --parameters ./<parameter-file-name>
    

Supprimer le déploiement

Si vous ne prévoyez pas de conserver ces ressources, supprimez les ressources inutiles pour éviter des frais Azure. Si aucun autre déploiement n’existe dans le groupe de ressources, l’ensemble du groupe de ressources peut être supprimé.