Modello di Criteri di Azure: operatore count
L'operatore count valuta i membri di un alias [*].
Definizione di criteri di esempio
Questa definizione di criterio controlla i gruppi di sicurezza di rete configurati per consentire il traffico RDP (Remote Desktop Protocol) in ingresso.
{
"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"
}
}
}
}
Spiegazione
I componenti principali dell'operatore count sono field, where e la condizione. Ogni elemento è evidenziato nel frammento di codice seguente.
- field indica a count i membri di quale alias valutare. In questo caso viene esaminata la matrice alias securityRules[*] del gruppo di sicurezza di rete.
- where usa il linguaggio dei criteri per definire quali membri della matrice soddisfano i criteri. In questo esempio l'operatore logico allOf raggruppa tre diverse condizioni di valutazione delle proprietà della matrice di alias: direction, access e destinationPortRange.
- La condizione count in questo esempio è greater. Count restituisce true se uno o più membri della matrice di alias soddisfano la clausola 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
}
Passaggi successivi
- Esaminare altri modelli e definizioni predefinite.
- Vedere la struttura delle definizioni di Criteri di Azure.
- Leggere Informazioni sugli effetti di Criteri.