Modèle Azure Policy : Propriétés de champs
L’opérateur field évalue l’alias ou la propriété spécifié(e) par rapport à une valeur fournie pour une condition donnée.
Exemple de définition de stratégie
Cette définition de stratégie vous permet de définir des régions autorisées qui répondent aux exigences de géolocalisation de votre organisation. Les ressources autorisées sont définies dans le paramètre listOfAllowedLocations (array). Les ressources qui correspondent à la définition sont refusées.
{
"properties": {
"displayName": "Allowed locations",
"policyType": "BuiltIn",
"description": "This policy enables you to restrict the locations your organization can specify when deploying resources. Use to enforce your geo-compliance requirements. Excludes resource groups, Microsoft.AzureActiveDirectory/b2cDirectories, and resources that use the 'global' region.",
"mode": "Indexed",
"parameters": {
"listOfAllowedLocations": {
"type": "Array",
"metadata": {
"description": "The list of locations that can be specified when deploying resources.",
"strongType": "location",
"displayName": "Allowed locations"
}
}
},
"policyRule": {
"if": {
"allOf": [{
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
{
"field": "location",
"notEquals": "global"
},
{
"field": "type",
"notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
}
]
},
"then": {
"effect": "Deny"
}
}
}
}
Explication
"if": {
"allOf": [{
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
{
"field": "location",
"notEquals": "global"
},
{
"field": "type",
"notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
}
]
},
"then": {
"effect": "Deny"
}
}
L’opérateur field est utilisé trois fois dans l’opérateur logique allOf.
- La première utilisation évalue la propriété
location
avec la condition notIn pour le paramètre listOfAllowedLocations. notIn fonctionne, car elle attend un tableau (array) et le paramètre en est un. Si lelocation
de la ressource créée ou mise à jour ne figure pas dans la liste approuvée, cet élément prend la valeur true. - La deuxième utilisation évalue également la propriété
location
, mais utilise la condition notEquals pour vérifier si la ressource est globale. Si lelocation
de la ressource créée ou mise à jour n’est pas global, cet élément prend la valeur true. - La dernière utilisation évalue la propriété
type
et utilise la condition notEquals pour valider le fait que le type de ressource n’est pas Microsoft. AzureActiveDirectory/b2cDirectories. Si ce n’est pas le cas, cet élément prend la valeur true.
Si les trois instructions de condition de l’opérateur logique allOf sont évaluées à la valeur true, la création ou la mise à jour de ressource est bloquée par Azure Policy.
Étapes suivantes
- Passez en revue les autres modèles et définitions intégrées.
- Consultez la Structure de définition Azure Policy.
- Consultez la page Compréhension des effets de Policy.