You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure Policy禁止其他服务部署到AppGateway专用子网?

用Azure Policy禁止非AppGateway资源部署到专用子网

可以通过Azure Policy实现这个需求,和Azure Bastion子网的默认限制逻辑类似,我们可以编写策略拒绝所有非Application Gateway类型的资源部署到名称包含AppGatewaySubnet的子网。

你现有的策略仅限制了Application Gateway必须部署到指定子网,但无法阻止其他资源占用该子网。以下是补充的子网保护策略:

{
    "policyRule": {
        "if": {
            "allOf": [
                {
                    "field": "type",
                    "notEquals": "Microsoft.Network/applicationGateways"
                },
                {
                    "anyOf": [
                        {
                            "field": "Microsoft.Network/networkInterfaces/ipConfigurations[*].subnet.id",
                            "contains": "AppGatewaySubnet"
                        },
                        {
                            "field": "Microsoft.Compute/virtualMachines/networkProfile.networkInterfaces[*].properties.ipConfigurations[*].subnet.id",
                            "contains": "AppGatewaySubnet"
                        },
                        {
                            "field": "Microsoft.Network/loadBalancers/frontendIPConfigurations[*].subnet.id",
                            "contains": "AppGatewaySubnet"
                        },
                        {
                            "field": "Microsoft.Network/natGateways/subnet.id",
                            "contains": "AppGatewaySubnet"
                        }
                    ]
                }
            ]
        },
        "then": {
            "effect": "Deny"
        }
    },
    "parameters": {},
    "metadata": {
        "description": "拒绝非Application Gateway资源部署到AppGateway专用子网",
        "version": "1.0.0"
    }
}

策略逻辑说明

  1. 资源类型排除:第一部分规则直接排除Microsoft.Network/applicationGateways类型,确保AppGateway本身可以正常部署到目标子网。
  2. 子网关联检查:第二部分通过anyOf覆盖常见的会关联子网的资源类型(虚拟网卡、虚拟机、负载均衡器、NAT网关等),检查这些资源的子网ID是否包含AppGatewaySubnet。只要匹配任一条件,就触发拒绝动作。

注意事项

  • 可根据你的实际环境,补充更多资源类型的子网字段路径(比如容器实例、函数应用等),确保覆盖所有可能部署到子网的资源。
  • 上线前建议先将effect改为Audit,验证策略是否正确触发,确认无误后再切换为Deny。
  • 将此策略与你现有的AppGateway子网绑定策略配合使用,即可实现完整的子网隔离:前者确保AppGateway仅能部署到指定子网,后者确保其他资源无法占用该子网。

内容的提问来源于stack exchange,提问作者Naresh S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 16:19:55