Migrer des plans vers des stacks de déploiement

Important

Azure Blueprints (version préliminaire) sera retiré le 31 janvier 2027, avec un retrait progressif à compter du 31 juillet 2026. Migrez vos définitions et attributions de Blueprint existantes vers Deployment Stacks (recommandé) et Template Specs. Les artefacts de blueprint sont convertis en modèles JSON ARM ou en fichiers Bicep utilisés pour définir des piles de déploiement. Pour connaître la chronologie, l’impact et le FAQ en phases complètes, consultez Azure Blueprints mise hors service ou https://aka.ms/AzureBlueprintsRetirement. Pour savoir comment créer un artefact en tant que ressource ARM, consultez :

Cet article explique comment convertir vos définitions Blueprint et vos affectations en stacks de déploiement. Les piles de déploiement sont de nouveaux outils au sein de l’espace de noms Microsoft.Resources, qui introduisent les fonctionnalités d’Azure Blueprint dans cet espace.

Étapes de la migration

  1. Exportez les définitions de blueprint vers des fichiers JSON de définition de blueprint qui incluent les artefacts des stratégies Azure, des attributions de rôles Azure et des modèles. Pour découvrir plus d’informations, consultez Exporter votre fichier de définition de blueprint.

  2. Convertissez les fichiers JSON de définition du plan directeur en un modèle ARM unique ou en un fichier Bicep destiné à être déployé via des piles de déploiement, en tenant compte des éléments suivants :

    • Attributions de rôle : convertissez n’importe quelle attribution de rôle.
    • Stratégies : convertissez n’importe quelle attribution de stratégie dans une syntaxe Bicep (ou un modèle JSON ARM), puis ajoutez-la à votre modèle principal. Vous pouvez également incorporer le policyDefinitions dans le modèle JSON.
    • Modèles : convertissez n’importe quel modèle en modèle principal pour soumission à une pile de déploiement. Vous pouvez utiliser des modules dans Bicep, incorporer des modèles comme modèles imbriqués ou liens de modèle et éventuellement utiliser des spes de modèle pour stocker vos modèles dans Azure. Les spécifications de modèle ne sont pas nécessaires pour utiliser des stacks de déploiement.
    • Verrous : la pile de déploiement DenySettingsMode vous offre la possibilité de bloquer des modifications indésirables via DenySettingsMode (semblable à des verrous Blueprint). Vous pouvez les configurer via l’interface Azure CLI ou Azure PowerShell. Pour ce faire, vous avez besoin des rôles correspondants pour pouvoir définir des paramètres de refus. Pour plus d'informations, voir Piles de déploiement.
  3. Vous pouvez éventuellement créer des specs de modèle pour les modèles ARM ou les fichiers Bicep convertis. Les specs de modèle vous permettent de stocker des modèles et leurs versions dans votre environnement Azure, ce qui simplifie le partage de modèles dans votre organisation. Les piles de déploiement vous permettent de déployer des définitions de spécifications de modèle, ou des modèles ARM/fichiers Bicep, dans une étendue cible spécifiée.

Exemple

Le fichier Bicep suivant est un exemple de fichier de migration.

targetScope = 'subscription'

param roleAssignmentName string = 'myTestRoleAssignment'
param roleDefinitionId string = guid(roleAssignmentName)
param principalId string = guid('myTestId')

param policyAssignmentName string = 'myTestPolicyAssignment'
param policyDefinitionID string = '/providers/Microsoft.Authorization/policyDefinitions/06a78e20-9358-41c9-923c-fb736d382a4d'

param rgName string = 'myTestRg'
param rgLocation string = deployment().location
param templateSpecName string = 'myNetworkingTs'

// Step 1 - create role assignments
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: guid(roleAssignmentName)
  properties: {
    principalId: principalId
    roleDefinitionId: roleDefinitionId
  }
}

// Step 2 - create policy assignments
resource policyAssignment 'Microsoft.Authorization/policyAssignments@2025-03-01' = {
    name: policyAssignmentName
    scope: subscriptionResourceId('Microsoft.Resources/resourceGroups', resourceGroup().name)
    properties: {
        policyDefinitionId: policyDefinitionID
    }
}

// Step 3 - create template artifacts via modules (or template specs)
resource rg1 'Microsoft.Resources/resourceGroups@2025-04-01' = {
  name: rgName
  location: rgLocation
}

module vnet 'templates/bicep/vnet.bicep' = if (rgName == 'myTestRg') {
  name: uniqueString(rgName)
  scope: rg1
  params: { location: rgLocation }
}

Migrer vers des spécifications de modèle

Si vous souhaitez stocker et versionr vos modèles convertis dans Azure plutôt que de les déployer directement, publiez-les en tant que spécifications de modèle et déployez la spécification de modèle avec une pile de déploiement. Les spécifications de modèle remplacent le rôle de stockage d’artefacts et de contrôle de version fourni par les définitions de blueprint. Pour obtenir des instructions pas à pas, consultez Migrer Azure Blueprints vers des spécifications de modèle.

Étapes suivantes