Azure Policy-Muster: Feldeigenschaften
Der Operator field wertet die angegebene Eigenschaft oder den angegebenen Alias für einen bereitgestellten Wert aus, um eine bestimmte Bedingung zu untersuchen.
Beispielrichtliniendefinition
Mit der folgenden Richtliniendefinition können Sie zulässige Regionen definieren, die die Anforderungen Ihrer Organisation im Zusammenhang mit geografischen Standorten erfüllen. Die zulässigen Ressourcen werden im Parameter listOfAllowedLocations (array) definiert. Ressourcen, die der Definition entsprechen, werden abgelehnt.
{
"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"
}
}
}
}
Erklärung
"if": {
"allOf": [{
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
{
"field": "location",
"notEquals": "global"
},
{
"field": "type",
"notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
}
]
},
"then": {
"effect": "Deny"
}
}
Der Operator field wird dreimal innerhalb des logischen Operators allOf verwendet.
- Das erste Vorkommen wertet die Eigenschaft
location
mit der Bedingung notIn für den Parameter listOfAllowedLocations aus. notIn funktioniert, da ein Array erwartet wird und es sich bei dem Parameter um ein Array handelt. Wenn sich der Standort (location
) der erstellten oder aktualisierten Ressource nicht in der genehmigten Liste befindet, wird dieses Element als „true“ ausgewertet. - Das zweite Vorkommen wertet ebenfalls die Eigenschaft
location
aus, verwendet jedoch die Bedingung notEquals, um zu ermitteln, ob die Ressource global ist. Wenn der Standort (location
) der erstellten oder aktualisierten Ressource nicht global ist, wird dieses Element als „true“ ausgewertet. - Das letzte Vorkommen wertet die Eigenschaft
type
aus und verwendet die Bedingung notEquals, um sicherzustellen, dass der Ressourcentyp nicht Microsoft.AzureActiveDirectory/b2cDirectories lautet. Ist dies nicht der Fall, wird das Element als „true“ ausgewertet.
Wenn alle drei Bedingungsanweisungen im logischen Operator allOf als „true“ ausgewertet werden, wird die Ressourcenerstellung oder -aktualisierung von Azure Policy blockiert.
Nächste Schritte
- Sehen Sie sich andere Muster und integrierte Definitionen an.
- Lesen Sie die Informationen unter Struktur von Azure Policy-Definitionen.
- Lesen Sie Grundlegendes zu Richtlinienauswirkungen.