如何配置Azure Conditional Access实现仅通过Azure VPN访问Azure Portal
你配置失效的核心原因有两个:
- 第一个策略逻辑错误:只要求VPN位置下要MFA,没有限制非VPN位置的访问权限,所以未连VPN只要过了MFA就可以正常登录
- 第二个策略填错了网段:你在命名位置里配置的是VPN客户端的内网网段,但是Azure AD条件访问识别的是登录请求的公网源IP,内网网段不会被识别到,所以连了VPN也会被拦截
正确配置步骤
1. 确认VPN公网出口IP段
首先获取你连接VPN后访问公网的出口IP段:
- 连接VPN后,访问公网IP查询工具,拿到当前的公网IP/CIDR段;如果是Azure点到站点VPN,出口IP就是VPN网关绑定的公网IP
- 如果你需要所有VPN客户端的访问都走VPN隧道,先在VPN配置里开启强制隧道(Force Tunneling),避免客户端访问Azure Portal时走本地公网出口
2. 配置Azure AD命名位置
进入「Azure AD > 安全 > 命名位置」:
- 新建IP范围位置,填入上面拿到的VPN公网出口IP/CIDR段,不要填之前的192.xxx/172.xxx客户端内网段
- 可勾选「标记为可信位置」,保存即可
3. 配置条件访问策略
新建条件访问策略,按以下参数配置:
- 启用状态:开(测试阶段可先选「仅报告」避免锁账号)
- 用户和组:选择你需要管控的目标用户/用户组,建议先选测试用户验证,不要直接选所有管理员
- 云应用或操作:选择
Microsoft Azure Management,覆盖Azure Portal、Azure CLI、PowerShell等所有管理入口 - 条件 > 位置:
- 包含:勾选「任何位置」
- 排除:勾选你刚才创建的VPN公网出口IP对应的命名位置
- 授权:选择「阻止访问」
- 保存策略,等待10-15分钟让配置生效
验证效果
- 断开VPN时访问Azure Portal,会被条件访问策略阻止
- 连接VPN后,确认当前公网IP是VPN出口IP,再访问Azure Portal可正常登录
常见注意事项
- 如果开启了强制隧道,需要确保VPN路由配置正确,不会出现连VPN后无法访问公网的问题
- 策略如果配置错误导致自己被拦截,可以用Azure AD紧急访问账号登录后修改策略
- 不要在命名位置里填入内网IP段,Azure AD无法识别登录请求中的内网源IP
内容的提问来源于stack exchange,提问作者Nayden Van
相关产品推荐
相关产品推荐

