是否可以让 Azure 策略比较特定标签键的标签值?

问题描述 投票:0回答:1

我正在尝试编写一个 Azure 策略,将特定标记的标记值从资源组继承到资源。 例如,请考虑以下事项: 我有一个带有标签应用程序的虚拟机:Appname1 该虚拟机位于带有标签应用程序的资源组中:Appname2

我需要一个策略来检查虚拟机(Appname1)的标签值是否与资源组(Appname2)的标签值匹配。更改值的操作很简单,但我很难改进 if/check 来获取标签值。

内置继承策略具有以下规则:

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

这会检查 RG 标签键不为空,并且资源的标签键不等于 RG 的标签键。

这仅比较资源/RG 的标签键或标签名称,而不是标签值。

azure tags policy
1个回答
0
投票

是否可以让 Azure 策略比较特定标签键的标签值?

您可以使用下面的策略将特定标签的标签值从资源组继承到资源。

    {
      "mode": "Indexed",
      "policyRule": {
        "if": {
          "allOf": [
            {
              "field": "[concat('tags[', parameters('tagName'), ']')]",
              "exists": "false"
            },
            {
              "value": "[resourceGroup().tags[parameters('tagName')]]",
              "notEquals": ""
            }
          ]
        },
        "then": {
          "effect": "append",
          "details": [
            {
              "field": "[concat('tags[', parameters('tagName'), ']')]",
              "value": "[resourceGroup().tags[parameters('tagName')]]"
            }
          ]
        }
      },
      "parameters": {
        "tagName": {
          "type": "String",
          "metadata": {
            "displayName": "Tag Name",
            "description": "Name of the tag, such as 'environment'"
          }
        }
      }
    }

确保在分配策略时启用修复并分配角色以附加标签。

enter image description here

政策分配: enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.