В Azure У меня есть правило NSG, настроенное следующим образом:
Я пытаюсь написать политику Azure, чтобы проверить, если Исходные IP-адреса / диапазоны CIDR заданы неправильно.
Значение всегда должно быть точно равно: 192.168.0.0/24,192.168.1.0/24.
Если это не то точное значение , он должен проверять.
Это определение, которое я написал:
{
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Network/networkSecurityGroups"
},
{
"field": "name",
"like": "jeffweb2-dr-sm-nsg"
},
{
"count": {
"field": "Microsoft.Network/networkSecurityGroups/securityRules[*]",
"where": {
"allOf": [
{
"field": "Microsoft.Network/networkSecurityGroups/securityRules[*].name",
"equals": "SQL"
},
{
"anyof": [
{
"field": "Microsoft.Network/networkSecurityGroups/securityRules[*].sourceAddressPrefix",
"notEquals": [
"192.168.0.0/24",
"192.168.1.0/24"
]
}
]
}
]
}
},
"greater": 0
}
]
},
"then": {
"effect": "audit"
}
}
Но при попытке создать определение с этим json я получаю сообщение об ошибке:
New-AzPolicyDefinition : InvalidPolicyRule : Failed to parse policy rule: 'Error reading string. Unexpected token: StartArray. Path 'notEquals'.'.
Вопрос: Как передать несколько диапазонов CIDR в notEquals, я считаю, что это моя проблема.