Azure策略-如果新的vnet CIDR已存在于管理组级别的任何vnet资源中,则拒绝创建新的vnet

wfsdck30  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(208)

我正在尝试创建一个Azure策略,如果新VNet的CIDR与管理组级别的任何现有VNet资源匹配,则拒绝创建新VNet。这是为了确保我们没有任何重叠的IP地址,这可能会导致资源之间的通信问题。
我已经研究过创建自定义策略,但我不确定如何获取正在创建的新VNet的CIDR,并将其与管理组级别的现有VNet资源进行比较。如有任何指导或示例,将不胜感激。

"if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.Network/virtualNetworks"
        },
        {
          "not": {
            "field": "Microsoft.Network/virtualNetworks/addressSpace.addressPrefixes[*]",
            "notIn": "[subscription().virtualNetworks[*].addressSpace.addressPrefixes[*]]"
          }
        }
      ]
    },
"then": {
      "effect": "deny"
    }
rsaldnfx

rsaldnfx1#

Azure策略-如果新的vnet CIDR已存在于管理组级别的任何vnet资源中,则拒绝创建新的vnet。
我已经使用下面的策略来限制IP地址前缀匹配时创建Venets。

{
"mode": "All",
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Network/virtualNetworks"
},
{
"anyOf": [
{
"field": "Microsoft.Network/virtualNetworks/addressSpace.addressPrefixes[*]",
"contains": "[parameters('addressPrefix')]"
}
]
}
]
},
"then": {
"effect": "deny"
}
},
"parameters": {
"addressPrefix": {
"type": "String",
"metadata": {
"displayName": "addressPrefix",
"description": "The address prefix to check for"
}
}
}
}

如果我尝试创建一个IP地址前缀相同的Vnet策略会拒绝创建Vnet

相关问题