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
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Pour modifier les groupes de réseau dynamiques, vous devez vous voir accorder l’accès avec le contrôle d’accès en fonction du rôle. L’autorisation Administration/héritée classique n’est pas prise en charge.
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.
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.
Entrez un Nom et une Description facultative pour le groupe réseau, puis sélectionnez Ajouter.
Sélectionnez le groupe réseau dans la liste, puis sélectionnez Créer une stratégie Azure.
Entrez un Nom de stratégie et conserver les sélections pour Étendue, sauf si des modifications sont nécessaires.
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.
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.
Sélectionnez Fermer et Enregistrer.
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é
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.
Entrez un Nom et une Description facultative pour le groupe réseau, puis sélectionnez Ajouter.
Sélectionnez le groupe réseau dans la liste, puis sélectionnez Créer une stratégie Azure.
Entrez un Nom de stratégie et conserver les sélections pour Étendue, sauf si des modifications sont nécessaires.
Sous Critères, sélectionnez Éditeur avancé (JSON) pour ouvrir l’éditeur.
Entrez le code JSON suivant dans la zone de texte et sélectionnez Enregistrer :
{ "field": "Name", "contains": "myVNet01" }
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
Sélectionnez le groupe de réseaux créé dans la section précédente. Sélectionnez ensuite l’onglet Stratégies.
Sélectionnez la stratégie créée dans la section précédente.
Les instructions conditionnelles du groupe de réseaux apparaissent dans l’affichage de l’éditeur avancé comme suit :
[ { "field": "Name", "contains": "myVNet01" } ]
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.Cliquez sur Enregistrer.
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 :
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 :
É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
- Découvrez les Groupes de réseaux.
- Créez une instance Azure Virtual Network Manager.
- Créer et gérer des stratégies pour assurer la conformité