Model Azure Policy: operátor hodnoty
Operátor hodnoty vyhodnotí parametry, podporované funkce šablony nebo literály na zadanou hodnotu pro danou podmínku.
Upozorňující
Pokud je výsledkem funkce šablony chyba, vyhodnocení zásad selže. Neúspěšné vyhodnocení je implicitní odepření. Další informace najdete v tématu zabránění selhání šablony.
Ukázková definice zásady
Tato definice zásady přidá nebo nahradí značku zadanou v parametru tagName (řetězec) u prostředků a dědí hodnotu tagName ze skupiny prostředků, ve které je prostředek. K tomuto vyhodnocení dochází při vytvoření nebo aktualizaci prostředku. Jako účinek změny může být náprava spuštěna u existujících prostředků prostřednictvím úlohy nápravy.
{
"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')]]"
}]
}
}
}
}
}
Vysvětlení
"if": {
"allOf": [{
"field": "[concat('tags[', parameters('tagName'), ']')]",
"notEquals": "[resourceGroup().tags[parameters('tagName')]]"
},
{
"value": "[resourceGroup().tags[parameters('tagName')]]",
"notEquals": ""
}
]
},
Operátor hodnoty se používá v rámci policyRule.if bloku ve vlastnostech. V tomto příkladu se logický operátor allOf používá k vyjádření, že oba podmíněné příkazy musí být pravdivé pro účinek, upravit, aby proběhly.
hodnota vyhodnotí výsledek resourceGroup() funkce šablony na podmínku notEquals prázdné hodnoty. Pokud název značky zadaný v tagName nadřazené skupině prostředků existuje, podmínka se vyhodnotí jako true.
Další kroky
- Projděte si další vzory a předdefinované definice.
- Projděte si strukturu definic Azure Policy.
- Projděte si Vysvětlení efektů zásad.