Политика Azure для добавления нескольких имен тегов и значений тегов - PullRequest
0 голосов
/ 03 июня 2019

Необходимо создать политику Azure, которая бы добавляла несколько имен тегов и значения тегов

Необходимо назначить политику в Azure, где ресурсы должны развертываться только с использованием указанных имен и значений тегов.

{
   "properties": {
      "displayName": "Enforce tag and its value",
      "policyType": "BuiltIn",
      "description": "Enforces a required tag and its value.",
      "parameters": {
         "tagName": {
            "type": "String",
            "metadata": {
               "description": "Name of the tag, such as costCenter"
            }
         },
         "tagValue": {
            "type": "String",
            "metadata": {
               "description": "Value of the tag, such as headquarter"
            }
         }
      },
      "policyRule": {
         "if": {
            "not": {
               "field": "[concat('tags[', parameters('tagName'), ']')]",
               "equals": "[parameters('tagValue')]"
            }
         },
         "then": {
            "effect": "deny"
         }
      }
   },
   "id": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
   "type": "Microsoft.Authorization/policyDefinitions",
   "name": "1e30110a-5ceb-460c-a204-c1c3969c6d62"
}

Код описывает, как добавить имя и значение тега для одного тега. Необходимо добавить более одного значения тега и имя тега.

1 Ответ

0 голосов
/ 03 июня 2019

как насчет этого:

"if": {
    "not": {
        "allOf": [
            {
                "field": "[concat('tags[', parameters('tagName1'), ']')]",
                "equals": "[parameters('tagValue1')]"
            },
            {
                "field": "[concat('tags[', parameters('tagName2'), ']')]",
                "equals": "[parameters('tagValue2')]"
            }
        ]
    },
    "then": {
       "effect": "deny"
    }
},

и вам понадобятся еще 2 дополнительных параметра.

...