Azure Policy vzor: operátor hodnoty
Operátor hodnoty vyhodnotí parametry, podporované funkce šablony nebo literály na zadanou hodnotu pro danou podmínku.
Upozornění
Pokud je výsledkem funkce šablony chyba, vyhodnocení zásad se nezdaří. Neúspěšné vyhodnocení je implicitní zamítnutí. Další informace najdete v tématu zabránění selhání šablon.
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 zdědí hodnotu tagName ze skupiny prostředků, ve které se prostředek nachází. K tomuto vyhodnocení dojde při vytvoření nebo aktualizaci prostředku. Jako účinek úpravy 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 bloku policyRule.if v rámci vlastností. V tomto příkladu se logický operátorallOf používá ke stanovení, že oba podmíněné příkazy musí být pravdivé, aby se účinek , změna, aby se proběhla.
value vyhodnotí výsledek šablony funkce resourceGroup() 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.