Wzorzec usługi Azure Policy: właściwości pola
Operator pola ocenia określoną właściwość lub alias dla podanej wartości dla danego warunku.
Przykładowa definicja zasad
Ta definicja zasad umożliwia zdefiniowanie dozwolonych regionów spełniających wymagania organizacji dotyczące lokalizacji geograficznej. Dozwolone zasoby są definiowane na liście parametrów ListOfAllowedLocations (tablica). Zasoby zgodne z definicją są odrzucane.
{
"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"
}
}
}
}
Wyjaśnienie
"if": {
"allOf": [{
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
{
"field": "location",
"notEquals": "global"
},
{
"field": "type",
"notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
}
]
},
"then": {
"effect": "Deny"
}
}
Operator pola jest używany trzy razy w obrębie operatora logicznego allOf.
- Pierwsze użycie oblicza
location
właściwość z warunkiem notIn do parametru listOfAllowedLocations . notIn działa zgodnie z oczekiwaniami tablicy, a parametr jest tablicą. Jeśli elementlocation
utworzonego lub zaktualizowanego zasobu nie znajduje się na liście zatwierdzonych, ten element daje wartość true. - Drugie użycie ocenia
location
również właściwość, ale używa warunku notEquals , aby sprawdzić, czy zasób jest globalny. Jeśli elementlocation
utworzonego lub zaktualizowanego zasobu nie jest globalny, ten element daje wartość true. - Ostatnie użycie ocenia
type
właściwość i używa warunku notEquals , aby sprawdzić, czy typ zasobu nie jest Microsoft.AzureActiveDirectory/b2cDirectories. Jeśli tak nie jest, ten element daje wartość true.
Jeśli wszystkie trzy instrukcje warunku w operatorze logicznym allOf mają wartość true, tworzenie lub aktualizowanie zasobów jest blokowane przez usługę Azure Policy.
Następne kroki
- Przejrzyj inne wzorce i wbudowane definicje.
- Przejrzyj temat Struktura definicji zasad Azure Policy.
- Przejrzyj wyjaśnienie działania zasad.