Azure 策略无法通过指定子网名称捕获路由表

Azure policy cannot capture routeTables by specifying subnet name

我需要一个策略来限制与特定子网关联的路由表的路由。

但是,我无法通过指定子网名称来捕获任何路由表:

"policyRule": {
      "if": {
        "allOf": [
          {
            "field": "Microsoft.Network/routeTables/subnets[*].name",
            "like": "*"
          }
        ]
      },

但是,我可以通过指定子网 ID 来获取路由表:

"policyRule": {
      "if": {
        "allOf": [
          {
            "field": "Microsoft.Network/routeTables/subnets[*].id",
            "like": "*"
          }
        ]
      },

我应该如何编写策略才能限制(审计)与特定子网关联的路由表的路由。

您可以使用“Get-AzRouteTable”获取 Microsoft。Network/routeTables/subnets[*] 参考:https://docs.microsoft.com/en-us/powershell/module/az.network/get-azroutetable?view=azps-6.0.0

Microsoft.Network/routeTables/subnets[*].id 将如下所示: /subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Network/virtualNetworks/XXX/subnets/XXX