Pola Azure Policy: properti bidang
Operator bidang mengevaluasi properti atau alias yang ditentukan ke nilai yang disediakan untuk kondisi tertentu.
Sampel definisi kebijakan
Definisi kebijakan ini memungkinkan Anda menentukan wilayah yang diizinkan yang memenuhi persyaratan lokasi geografis organisasi Anda. Sumber daya yang diizinkan didefinisikan dalam parameter listOfAllowedLocations (array). Sumber daya yang cocok dengan definisi akan ditolak.
{
"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"
}
}
}
}
Penjelasan
"if": {
"allOf": [{
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
{
"field": "location",
"notEquals": "global"
},
{
"field": "type",
"notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
}
]
},
"then": {
"effect": "Deny"
}
}
Operator bidang digunakan tiga kali dalam operator logisallOf.
- Penggunaan pertama mengevaluasi properti
location
dengan kondisi notIn ke parameter listOfAllowedLocations. notIn bekerja dengan anggapan bahwa array dan parameternya adalah array. Jikalocation
sumber daya yang dibuat atau diperbarui tidak ada dalam daftar yang disetujui, elemen ini dievaluasi sebagai true. - Penggunaan kedua juga mengevaluasi properti
location
, tetapi menggunakan kondisi notEquals untuk melihat apakah sumber daya bersifat global. Jikalocation
sumber daya yang dibuat atau diperbarui tidak bersifat global, elemen ini dievaluasi sebagai true. - Penggunaan terakhir mengevaluasi properti
type
dan menggunakan kondisi notEquals untuk memvalidasi jenis sumber daya bukan Microsoft.AzureActiveDirectory/b2cDirectories. Jika tidak, elemen ini dievaluasi sebagai true.
Jika ketiga pernyataan kondisi tersebut di operator logis allOf dievaluasi sebagai true, pembuatan atau pembaruan sumber daya diblokir oleh Azure Policy.
Langkah berikutnya
- Tinjau pola dan definisi bawaan lainnya.
- Tinjau struktur definisi Azure Policy.
- Tinjau Memahami efek kebijakan.