Azure P2S VPN:如何通过单网关限制特定用户/组的资源访问
单网关下实现P2S VPN连接权限与资源访问权限分离的方案
核心逻辑
将VPN连接权限(谁能建立连接)与资源访问权限(能访问哪些资源)解耦:关联P2S VPN的企业应用仅负责验证用户的连接资格,特定VM或服务的访问权限通过Azure RBAC、NSG或Azure防火墙单独配置细粒度管控。
步骤1:锁定企业应用的权限范围
- 保留当前P2S VPN与企业应用的关联配置,所有需连接VPN的用户均添加至该应用的用户列表,确保其能正常建立VPN连接。
- 仅为该企业应用授予
Microsoft.Network/virtualNetworkGateways/p2sConnection/join权限(Azure AD认证型P2S场景),不额外赋予任何资源访问类权限,避免用户自动获得全域资源访问权。
步骤2:通过Azure RBAC配置资源级访问授权
针对需限制访问的VM或服务,分配精准的RBAC权限:
- VM场景:若需授权用户访问RDP/SSH,可创建自定义角色(或裁剪内置角色如
Virtual Machine Contributor的权限范围),仅授予用户对目标VM的Microsoft.Compute/virtualMachines/connect/action等必要操作权限。 - Azure服务场景:针对存储账户、SQL数据库等服务,分配对应细分权限——例如仅授予用户特定存储容器的
Storage Blob Data Reader权限,或特定SQL数据库的SQL DB Contributor权限。 - 操作路径:在目标资源的「访问控制(IAM)」页面,添加角色分配,选择需授权的用户/用户组,绑定至对应资源。
步骤3:结合NSG或Azure防火墙实现网络级管控
若需更严格的网络访问限制,可叠加NSG或Azure防火墙规则:
- NSG规则:在VM所在子网的NSG中添加入站规则,仅允许P2S VPN客户端地址池(如
10.1.0.0/24)内的IP访问指定端口(如3389/22),配合RBAC实现身份+网络的双重校验。 - Azure防火墙:跨子网/跨资源组场景下,配置防火墙规则,仅允许授权用户的VPN客户端IP访问目标资源端口;若使用Azure AD认证型防火墙,可直接绑定用户/用户组实现身份驱动的网络管控。
步骤4:验证权限分离效果
- 让未获特定资源授权的用户连接VPN,尝试访问目标VM/服务,应被RBAC或NSG规则拒绝。
- 已授权用户连接VPN后,可正常访问目标资源。
关键注意事项
- 切勿给P2S关联的企业应用赋予过高权限,避免用户自动获得全域资源访问权。
- RBAC与NSG/防火墙可组合使用,实现更严谨的多层级安全管控。
- Azure AD认证型P2S需确保VPN客户端的租户配置正确,用户仅能通过指定企业应用完成认证。
内容的提问来源于stack exchange,提问作者enigma.b17
相关产品推荐
相关产品推荐

