Azure политика для VM Sku на основе имени Vm - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь написать свою первую Azure политику.

Я хочу, чтобы она проверяла мои виртуальные машины, где имя заканчивается на -tr-sa-vm, чтобы увидеть, находятся ли они в пределах разрешенного vmSKUs. Я думал, что ниже будет работать, но он говорит, что соответствует 100% 0 из 0. Может кто-нибудь помочь мне понять, почему он не работает и как заставить его работать?

{
  "properties": {
    "displayName": "TR - Allowed VM Sizes",
    "policyType": "Custom",
    "mode": "All",
    "metadata": {
      "category": "Compute",
      "createdBy": "0dcf9e6c-b717-485b-8704-a0695cd10be7",
      "createdOn": "2020-04-29T19:38:39.486075Z",
      "updatedBy": null,
      "updatedOn": null
    },
    "parameters": {
      "listOfAllowedSKUs": {
        "type": "Array",
        "metadata": {
          "displayName": "Allowed SKUs",
          "description": "The list of SKUs that can be specified for TR virtual machines.",
          "strongType": "vmSKUs"
        }
      }
    },
    "policyRule": {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Compute/virtualMachines"
          },
          {
            "field": "name",
            "like": "*-tr-sa-vm"
          },
          {
            "not": {
              "field": "Microsoft.Compute/virtualMachines/sku.name",
              "in": "[parameters('listOfAllowedSKUs')]"
            }
          }
        ]
      },
      "then": {
        "effect": "audit"
      }
    }
  },
  "id": "/subscriptions/c8387722-df99-4ac4-9e19-682e684b048d/providers/Microsoft.Authorization/policyDefinitions/44fd80d7-569a-416e-92ee-be2a5b56e9fd",
  "type": "Microsoft.Authorization/policyDefinitions",
  "name": "44fd80d7-569a-416e-92ee-be2a5b56e9fd"
}

Ожидаемый результат: допустим, У меня есть 200 виртуальных машин, 100 из которых имеют имя, оканчивающееся на -tr-sa-vm. Если в настоящее время есть 30 из этих 100, у которых нет разрешенного sku.name, то я ожидаю, что оно скажет 30 из из 100 не соответствуют.

1 Ответ

0 голосов
/ 30 апреля 2020

Возможно, что политика все еще находится в состоянии соответствия " Не запущено ". Вы проверяли состояние соответствия? enter image description here Политика, которая недавно назначается для области, занимает около 30 минут, чтобы назначение было применено к определенной области. После его применения начинается цикл оценки ресурсов в этой области относительно вновь назначенной политики, и в зависимости от эффектов, используемых политикой, ресурсы помечаются как Соответствующие или Несоответствующие .

Я попробовал ту же политику, и она работает для меня.

...