Partager via


Définir l’appartenance dynamique d’un groupe de réseaux dans Azure Virtual Network Manager avec Azure Policy

Dans cet article, vous découvrirez comment utiliser des instructions conditionnelles Azure Policy pour créer des groupes de réseaux avec une appartenance dynamique. Vous créez ces instructions conditionnelles à l’aide de l’éditeur de base en sélectionnant des paramètres et des opérateurs dans un menu déroulant. Vous apprendrez également à utiliser l’éditeur avancé pour mettre à jour les instructions conditionnelles d’un groupe de réseaux existant.

Azure Policy est un service qui vous permet d’appliquer la gouvernance par ressource à grande échelle. Il peut s’utiliser pour spécifier des expressions conditionnelles qui définissent l’appartenance au groupe, au lieu de spécifier des listes explicites de réseaux virtuels. Cette condition continue de régir vos groupes de réseaux dynamiquement, ce qui permet aux réseaux virtuels de rejoindre et de quitter le groupe automatiquement en cas de changement dans la réalisation de la condition, sans action requise de la part de Network Manager.

Prérequis

Paramètres et opérateurs

Les réseaux virtuels avec des appartenances dynamiques sont sélectionnés à l’aide d’instructions conditionnelles. Vous pouvez définir plusieurs instructions conditionnelles à l’aide d’opérateurs logiques tels que ET et OU pour des scénarios où vous devez affiner davantage les réseaux virtuels sélectionnés.

Liste des paramètres pris en charge :

Paramètres Champ Éditeur avancé
Nom Name
Identifiant Id
Étiquettes tag['tagName']
Nom d’abonnement [subscription().Name]
ID d’abonnement [subscription().Id]
Balises d’abonnement [subscription().tags['tagName']]
Nom du groupe de ressources [resourceGroup().Name]
ID de groupe de ressources [resourceGroup().Id]
Balises des groupes de ressources [resourceGroup().tags['tagName']]

Liste des opérateurs pris en charge :

Opérateurs Éditeur avancé
Contains "contains": <>
Ne contient pas "notcontains": <>
Dans "in": <>
Pas dans "notin": <>
Égal à "equals": <>
N’est pas égal à "notequals": <>
Contient l’un des "contains": <>
Contient tous les "contains": <>
Ne contient aucun des "notcontains": <>
Exists "exists": true
N’existe pas "exists": false

Remarque

Les opérateurs Existe et N’existe pas sont utilisés uniquement avec le paramètre Étiquettes.

Éditeur de base

Supposons que vous disposez des réseaux virtuels suivants dans votre abonnement. Chaque réseau virtuel a une balise nommée environnement associée à la valeur respective de production ou test.

Réseau virtuel Nom de la balise Valeur de la balise
myVNet01-EastUS Environnement production
myVNet01-WestUS Environnement production
myVNet02-WestUS Environnement test
myVNet03-WestUS Environnement test

Vous souhaitez uniquement sélectionner des réseaux virtuels dont la balise a une paire clé-valeur d’environnement égale à production. Pour commencer à utiliser l’éditeur de base afin de créer votre instruction conditionnelle, vous devez créer un groupe de réseaux.

  1. Accédez à votre instance Azure Virtual Network Manager et sélectionnez Groupes de réseaux sous Paramètres. Sélectionnez ensuite + Créer pour créer un groupe de réseaux.

  2. Entrez un Nom et une Description facultative pour le groupe réseau, puis sélectionnez Ajouter.

  3. Sélectionnez le groupe réseau dans la liste, puis sélectionnez Créer une stratégie Azure.

  4. Entrez un Nom de stratégie et conserver les sélections pour Étendue, sauf si des modifications sont nécessaires.

  5. Sous Critères, sélectionnez Balises dans la liste déroulante sous Paramètre, puis sélectionnez Paire clé-valeur dans la liste déroulante sous Opérateur.

  6. Entrez environnement et production sous condition, puis sélectionnez Ressources de préversion. Seuls les paramètres myVNet01-EastUS et myVNet01-WestUS devraient s’afficher dans la liste.

    Capture d’écran de la balise de paramètre de la fenêtre Créer une stratégie Azure avec paire clé-valeur.

  7. Sélectionnez Fermer et Enregistrer.

  8. Après quelques minutes, sélectionnez votre groupe réseau et sélectionnez Membres du groupe sous Paramètres. Seuls les paramètres myVNet01-WestUS et myVNet01-WestUS devraient s’afficher.

Important

L’éditeur de base est disponible uniquement lors de la création d’une stratégie Azure Policy. Une fois qu’une stratégie est créée, toutes les modifications sont effectuées à l’aide de JSON dans la section Stratégies du gestionnaire de réseau virtuel ou via Azure Policy.

Éditeur avancé

L’éditeur avancé peut être utilisé pour sélectionner des réseaux virtuels lors de la création d’un groupe de réseaux, ou de la mise à jour d’un groupe de réseaux existant. Basé sur JSON, l’éditeur avancé sera utile aux utilisateurs expérimentés pour créer et mettre à jour des instructions conditionnelles Azure Policy complexes.

Créer une stratégie avec l’éditeur avancé

  1. Accédez à votre instance Azure Virtual Network Manager et sélectionnez Groupes de réseaux sous Paramètres. Sélectionnez ensuite + Créer pour créer un groupe de réseaux.

  2. Entrez un Nom et une Description facultative pour le groupe réseau, puis sélectionnez Ajouter.

  3. Sélectionnez le groupe réseau dans la liste, puis sélectionnez Créer une stratégie Azure.

  4. Entrez un Nom de stratégie et conserver les sélections pour Étendue, sauf si des modifications sont nécessaires.

  5. Sous Critères, sélectionnez Éditeur avancé (JSON) pour ouvrir l’éditeur.

  6. Entrez le code JSON suivant dans la zone de texte et sélectionnez Enregistrer :

       {
       "field": "Name",
       "contains": "myVNet01"
       }
    
  7. Après quelques minutes, sélectionnez votre groupe réseau et sélectionnez Membres du groupe sous Paramètres. Vous ne devriez voir que myVNet01-WestUS et myVNet01-EastUS.

Important

Toutes les stratégies Azure que vous créez avec le gestionnaire de réseau virtuel résident dans la zone des services Azure Policy. Elles ne seront pas supprimées de vos affectations et définitions Azure Policy lorsqu’une instance de gestionnaire de réseau virtuel est supprimée. Cela nécessite la suppression manuelle des stratégies. Découvrir comment supprimer des stratégies Azure

Modifier une stratégie existante

  1. Sélectionnez le groupe de réseaux créé dans la section précédente. Sélectionnez ensuite l’onglet Stratégies.

  2. Sélectionnez la stratégie créée dans la section précédente.

  3. Les instructions conditionnelles du groupe de réseaux apparaissent dans l’affichage de l’éditeur avancé comme suit :

    [
      {
         "field": "Name",
         "contains": "myVNet01"
      }
    ]
    
  4. Pour ajouter une autre instruction conditionnelle pour un champ Nomne contenant pas WestUS, entrez ce qui suit dans l’éditeur avancé :

    {
       "allOf": [
    
          {
             "field": "Name",
             "contains": "VNet01"
          },
          {
             "field": "Name",
             "notcontains": "WestUS"
          }
       ]
    }
    

    Le paramètre "allOf" contient les deux instructions conditionnelles qui sont séparées par l’opérateur logique ET.

  5. Cliquez sur Enregistrer.

  6. Après quelques minutes, sélectionnez votre groupe réseau et sélectionnez Membres du groupe sous Paramètres. Vous ne devriez voir que myVNet01-EastUS.

Pour obtenir la liste complète des paramètres et des opérateurs que vous pouvez utiliser avec l’éditeur avancé, consultez Paramètres et opérateurs.

Autres exemples

Voici d’autres exemples d’instructions conditionnelles dans l’éditeur avancé.

Exemple 1 : opérateur OU uniquement

Cet exemple utilise l’opérateur logique OU pour séparer deux instructions conditionnelles.

  • Éditeur de base :

    Capture d’écran de l’instruction conditionnelle du groupe de réseaux utilisant l’opérateur logique OU.

  • Opérateur avancé :

    {
       "anyOf": [
          {
             "field": "Name",
             "contains": "myVNet01"
          },
          {
             "field": "Name",
             "contains": "myVNet02"
          }
       ]
    }
    

Le paramètre "anyOf" contient les deux instructions conditionnelles séparées par l’opérateur logique ET.

Exemple 2 : opérateur ET et OU en même temps

  • Éditeur de base :

    Capture d’écran de l’instruction conditionnelle de groupe de réseaux utilisant les opérateurs logiques Ou et ET.

  • Éditeur avancé :

{
   "allOf": [
      {
         "anyOf": [
            {
               "field": "Name",
               "contains": "myVNet01"
            },
            {
               "field": "Name",
               "contains": "myVNet02"
            }
         ]
      },
      {
         "field": "Name",
         "notcontains": "West"
      }
   ]
}

"allOf" et "anyOf" sont utilisés dans le code. Étant donné que l’opérateur ET est le dernier dans la liste, il se trouve dans la partie externe du code contenant les deux instructions conditionnelles avec l’opérateur OU.

Exemple 3 : Utilisation de valeurs d’étiquette personnalisées avec l’éditeur avancé

Dans cet exemple, une instruction conditionnelle est créée ; elle recherche les réseaux virtuels où le nom inclut myVNet ET l’étiquette environment est égale à production.

  • Éditeur avancé :

    
       {
            "allOf": [
              {
                 "field": "Name",
                 "contains": "myVNet"
              },      
              {
                 "field": "tags['environment']",
                 "equals": "production"
              }
            ]    
       }
    
    

    Remarque

    Les conditions doivent filtrer sur le type de ressource Microsoft.Network/virtualNetwork pour plus d’efficacité. Cette condition est automatiquement ajoutée dans les conditions spécifiées via le portail.

Étapes suivantes