在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,我相信这是我的问题。