0

我做了一个天蓝色的自定义策略,在我的订阅中发现对象不兼容,自定义缺失标签。

我从这个政策中得到了很多错误,因为它还发现了 oms 代理、扩展等。

这里的json:

    {
  "mode": "All",
  "policyRule": {
    "if": {
      "anyOf": [
        {
          "field": "tags['TAG1']",
          "exists": false
        },
        {
          "field": "tags['TAG2']",
          "exists": false
        }
      ]
    },
    "then": {
      "effect": "audit"
    }
  },
  "parameters": {}
  }

它搜索所有资源并在它们不带有该标签的情况下对其进行审核。

是否可以对特定资源类型进行指定排除?例如 Microsoft.Compute/virtualMachines/extensions 等...

谢谢

4

3 回答 3

1

这样,您可以在“notEquals”运算符中提及您不想检查标签的所有资源类型。

{
      "if": {
        "allOf": [
          {
            "field": "type",
            "notEquals": "Microsoft.Security/assessments"
          },
          {
            "field": "type",
            "notEquals": "Microsoft.Compute/VirtualMachines"
          },
          {
            "anyOf": [
              {
                "field": "tags['TAG1']",
                "exists": false
              },
              {
                "field": "tags['TAG2']",
                "exists": false
              }
            ]
          }
        ]
      },
      "then": {
        "effect": "audit"
      }
    }
于 2020-05-06T14:17:26.720 回答
1

使用"mode": "indexed"而不是"mode": "All"只会匹配支持位置和标签的资源。

来源:https ://docs.microsoft.com/en-us/azure/governance/policy/concepts/definition-structure#resource-manager-modes

于 2022-01-12T08:28:49.483 回答
0

谢谢它的作品!我正在尝试为以下类型添加其他排除项,但出现错误:

{
  "mode": "All",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "not": {
            "field": "type",
            "equals": "Microsoft.Security/assessments"
          },
          {
            "field": "type",
            "equals": "Microsoft.Compute/VirtualMachines"
          }
        },
                  {
            "anyOf": [
              {
                "field": "tags['TAG1']",
                "exists": false
              },
              {
                "field": "tags['TAG2']",
                "exists": false
              }
            ]
          }
        ]
      },
    "then": {
      "effect": "audit"
    }
  },
  "parameters": {}
}

是否可以在同一策略中排除更多对象??

于 2020-05-08T15:50:46.220 回答