Azure политика не нацелена Windows ВМ правильно - PullRequest
0 голосов
/ 09 марта 2020

Я нахожусь в процессе написания политики Azure, чтобы проверить, включены ли преимущества гибридного использования. Microsoft предоставляет встроенную политику, предназначенную для всех виртуальных машин, на основе предложений образов, доступных на платформе Azure. Однако некоторые виртуальные машины в моей подписке основаны на перенесенных виртуальных машинах и поэтому не имеют ссылки на существующие предложения изображений.

Я нашел сообщение в блоге (https://artisticcheese.wordpress.com/2019/07/04/proper-azure-policy-to-verify-azure-hybrid-benefit-enabled/), в котором объясняется, как целевые виртуальные машины основаны на сконфигурированном типе ОС, а не на предложении образов.

Я начал с малого и создал следующий параметр политики:

"if": {
    "allOf":[
        {
            "field": "type",
            "equals": "Microsoft.Compute/virtualMachines"
        },
        {
            "field": "Microsoft.Compute/virtualMachines/storageProfile.osDisk.osType",
            "equals": "Windows"                
        }
    ]
},
"then": {
    "effect": "audit"
}

Однако эти настройки показывают все мои Windows Виртуальные машины как несовместимые со следующим результатом:

Причина несоответствия:
Текущее значение не должно быть равным целевому значению .
Поле
Microsoft.Compute / virtualMachines / storageProfile.osDisk.osType
Путь
properties.storageProfile.osDisk.osType
Текущее значение
"Windows"
Цель значение
"Windows"

Я неправильно интерпретирую оператор "равно"? Я ожидал, что это будет совместимо со всеми Windows виртуальными машинами.

1 Ответ

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

Если вы хотите пометить ресурсы, которые не Windows, как несовместимые, вы должны изменить свои равные на не равные. Таким образом, было бы, если бы оно не равнялось Windows, тогда оно должно быть несовместимым, следовательно, аудит.

...