Azure Политика настраиваемых тегов, исключить тип ресурса - PullRequest
0 голосов
/ 06 мая 2020

Я сделал azure настраиваемую политику, которая обнаруживает несоответствие объекта с настраиваемым отсутствующим тегом в моей подписке.

Я получил много ошибок из этой политики, потому что она обнаруживает также агент oms, расширение и т. Д. c ..

Здесь json:

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

он ищет все ресурсы и проверяет их, если они не с этим тегом.

Возможно ли указанное исключение для указанного типа ресурсов c? Например, Microsoft.Compute / virtualMachines / extensions et c ...

Спасибо

Ответы [ 2 ]

1 голос
/ 06 мая 2020

Таким образом вы можете указать в операторе 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"
      }
    }
0 голосов
/ 08 мая 2020

Спасибо, работает! Я пытаюсь добавить другое исключение для типа, как показано ниже, но у меня возникла ошибка:

{
  "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": {}
}

можно исключить больше объектов из той же политики ??

...