Azure Policy minta: az érték operátor
Az érték operátor egy adott feltétel megadott értékére értékeli ki a paramétereket, a támogatott sablonfüggvényeket vagy a literálokat.
Figyelmeztetés
Ha egy sablonfüggvény eredménye hiba, a szabályzat kiértékelése meghiúsul. A sikertelen kiértékelés implicit megtagadás. További információ: Sablonhibák elkerülése.
Mintaszabályzat-definíció
Ez a szabályzatdefiníció hozzáadja vagy lecseréli a tagName (sztring) paraméterben megadott címkét az erőforrásokon, és örökli a tagName értékét attól az erőforráscsoporttól, amelyben az erőforrás található. Ez az értékelés az erőforrás létrehozásakor vagy frissítésekor történik. Módosítási hatásként a szervizelés egy szervizelési feladaton keresztül futtatható a meglévő erőforrásokon.
{
"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')]]"
}]
}
}
}
}
}
Magyarázat
"if": {
"allOf": [{
"field": "[concat('tags[', parameters('tagName'), ']')]",
"notEquals": "[resourceGroup().tags[parameters('tagName')]]"
},
{
"value": "[resourceGroup().tags[parameters('tagName')]]",
"notEquals": ""
}
]
},
Az érték operátort a policyRule.if blokk használja a tulajdonságokon belül. Ebben a példában az allOflogikai operátor azt jelzi, hogy mindkét feltételes utasításnak igaznak kell lennie ahhoz, hogy a hatás, módosítás és lezajljon.
az érték kiértékeli a resourceGroup() sablonfüggvény eredményét egy üres érték notEquals feltételére. Ha a szülő erőforráscsoport tagName elemében megadott címkenév létezik, a feltételes érték igaz lesz.
Következő lépések
- Tekintse át az egyéb mintákat és a beépített definíciókat.
- Tekintse meg az Azure szabályzatdefiníciók struktúrája szakaszt.
- A Szabályzatok hatásainak ismertetése.