Azure Policy-patroon: de count-operator
De teloperator evalueert leden van een alias [*].
Voorbeeld van beleidsdefinitie
Deze beleidsdefinitie controleert netwerkbeveiligingsgroepen die zijn geconfigureerd om inkomend Remote Desktop Protocol (RDP)-verkeer toe te staan.
{
"properties": {
"mode": "all",
"displayName": "Audit Network Security Groups for RDP",
"description": "This policy audits NSGs with RDP ports enabled",
"policyRule": {
"if": {
"allOf": [{
"field": "type",
"equals": "Microsoft.Network/networkSecurityGroups"
},
{
"count": {
"field": "Microsoft.Network/networkSecurityGroups/securityRules[*]",
"where": {
"allOf": [{
"field": "Microsoft.Network/networkSecurityGroups/securityRules[*].direction",
"equals": "Inbound"
},
{
"field": "Microsoft.Network/networkSecurityGroups/securityRules[*].access",
"equals": "Allow"
},
{
"field": "Microsoft.Network/networkSecurityGroups/securityRules[*].destinationPortRange",
"equals": "3389"
}
]
}
},
"greater": 0
}
]
},
"then": {
"effect": "audit"
}
}
}
}
Uitleg
De belangrijkste onderdelen van de count-operator zijn field, where en de voorwaarde. Elk is gemarkeerd in het volgende codefragment.
- In veld wordt aangegeven welke alias wordt gebruikt om leden te evalueren. Hier kijken we naar de aliasmatrix securityRules[*] van de netwerkbeveiligingsgroep.
- where gebruikt de beleidstaal om te definiƫren welke matrix-leden voldoen aan de criteria. In dit voor beeld groepeert een logische operator allOf drie verschillende voorwaarden van de alias matrix-eigenschappen: direction, access en destinationPortRange.
- De telvoorwaarde in dit voorbeeld is meer. Count evalueert als True wanneer een of meer leden van de alias matrix overeenkomt met het component where.
{
"count": {
"field": "Microsoft.Network/networkSecurityGroups/securityRules[*]",
"where": {
"allOf": [{
"field": "Microsoft.Network/networkSecurityGroups/securityRules[*].direction",
"equals": "Inbound"
},
{
"field": "Microsoft.Network/networkSecurityGroups/securityRules[*].access",
"equals": "Allow"
},
{
"field": "Microsoft.Network/networkSecurityGroups/securityRules[*].destinationPortRange",
"equals": "3389"
}
]
}
},
"greater": 0
}
Volgende stappen
- Bekijk andere patronen en ingebouwde definities.
- Lees over de structuur van Azure Policy-definities.
- Lees Informatie over de effecten van het beleid.