Pola Azure Policy: properti bidang

Operator bidang mengevaluasi properti atau alias yang ditentukan ke nilai yang disediakan untuk kondisi tertentu.

Contoh 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 logika allOf.

  • Penggunaan pertama mengevaluasi properti location dengan kondisi notIn ke parameter listOfAllowedLocations. notIn bekerja dengan anggapan bahwa array dan parameternya adalah array. Jika location 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. Jika location 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