wzorzec Azure Policy: właściwości pola
Operator pola ocenia określoną właściwość lub alias na podaną wartość dla danego warunku.
Przykładowa definicja zasad
Ta definicja zasad umożliwia zdefiniowanie dozwolonych regionów spełniających wymagania dotyczące lokalizacji geograficznej organizacji. Dozwolone zasoby są definiowane w parametrach 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 logicznegoallOf.
- 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 zwróci wartość true. - Drugie użycie oblicza
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 do sprawdzania, 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 Azure Policy.
Następne kroki
- Przejrzyj inne wzorce i wbudowane definicje.
- Przejrzyj temat Struktura definicji zasad Azure Policy.
- Przejrzyj wyjaśnienie działania zasad.