Pola Azure Policy: operator count
Operator count mengevaluasi anggota alias [*].
Sampel definisi kebijakan
Definisi kebijakan ini mengaudit Grup Keamanan Jaringan yang dikonfigurasi untuk membolehkan lalu lintas Protokol Desktop Jarak Jauh (RDP) masuk.
{
"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"
}
}
}
}
Penjelasan
Komponen inti dari operator count adalah field, where, dan kondisi. Masing-masing disorot dalam cuplikan berikut.
- field memberitahu count alias mana yang akan dievaluasi anggotanya. Di sini, kita melihat larik alias securityRules [*] dari grup keamanan jaringan.
- where menggunakan bahasa kebijakan untuk menentukan anggota array mana yang memenuhi kriteria. Dalam contoh ini, operator logika allOf mengkelompokkan tiga evaluasi kondisi yang berbeda dari properti array alias: direction, access, dan destinationPortRange.
- Kondisi count dalam contoh ini lebih besar. Count mengevaluasi sebagai true ketika satu atau beberapa anggota array alias cocok dengan klausa 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
}
Langkah berikutnya
- Tinjau pola dan definisi bawaan lainnya.
- Tinjau Struktur definisi Azure Policy.
- Tinjau Memahami efek kebijakan.