Pola Azure Policy: operator nilai

Operator nilai mengevaluasi parameter, fungsi templat yang didukung, atau harfiah ke nilai yang disediakan untuk kondisi tertentu.

Peringatan

Jika hasil fungsi templat adalah kesalahan, evaluasi kebijakan akan gagal. Evaluasi yang gagal adalah tolak yang implisit. Untuk mengetahui informasi selengkapnya, lihat menghindari kegagalan templat.

Sampel definisi kebijakan

Definisi kebijakan ini menambahkan atau mengganti tag yang ditentukan dalam parameter tagName (string) pada sumber daya dan mewarisi nilai untuk tagName dari grup sumber daya tempat sumber daya berada. Evaluasi ini terjadi ketika sumber daya dibuat atau diperbarui. Sebagai efek modifikasi, remediasi dapat dijalankan pada sumber daya yang ada melalui tugas remediasi.

{
    "properties": {
        "displayName": "Inherit a tag from the resource group",
        "policyType": "BuiltIn",
        "mode": "Indexed",
        "description": "Adds or replaces the specified tag and value from the parent resource group when any resource is created or updated. Existing resources can be remediated by triggering a remediation task.",
        "metadata": {
            "category": "Tags"
        },
        "parameters": {
            "tagName": {
                "type": "String",
                "metadata": {
                    "displayName": "Tag Name",
                    "description": "Name of the tag, such as 'environment'"
                }
            }
        },
        "policyRule": {
            "if": {
                "allOf": [{
                        "field": "[concat('tags[', parameters('tagName'), ']')]",
                        "notEquals": "[resourceGroup().tags[parameters('tagName')]]"
                    },
                    {
                        "value": "[resourceGroup().tags[parameters('tagName')]]",
                        "notEquals": ""
                    }
                ]
            },
            "then": {
                "effect": "modify",
                "details": {
                    "roleDefinitionIds": [
                        "/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c"
                    ],
                    "operations": [{
                        "operation": "addOrReplace",
                        "field": "[concat('tags[', parameters('tagName'), ']')]",
                        "value": "[resourceGroup().tags[parameters('tagName')]]"
                    }]
                }
            }
        }
    }
}

Penjelasan

"if": {
    "allOf": [{
            "field": "[concat('tags[', parameters('tagName'), ']')]",
            "notEquals": "[resourceGroup().tags[parameters('tagName')]]"
        },
        {
            "value": "[resourceGroup().tags[parameters('tagName')]]",
            "notEquals": ""
        }
    ]
},

Operator nilai digunakan dalam blok policyRule.if dalam properti. Dalam contoh ini, operator logikaallOf digunakan untuk menyatakan bahwa kedua pernyataan kondisional harus benar agar efek modifikasi dapat diterapkan.

nilai mengevaluasi hasil fungsi templat resourceGroup() ke kondisi notEquals dari nilai kosong. Jika nama tag yang disediakan dalam tagName pada grup sumber daya induk ada, persyaratan akan mengevaluasi ke true.

Langkah berikutnya