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

借助Azure API Management安全暴露本地API遇Conditional Access策略失效问题

问题解决:Azure AD应用代理Conditional Access策略失效及本地APIM网关使用问题

一、Conditional Access策略不生效的核心原因及修复方案

你的Conditional Access策略失效,本质是因为采用Passthrough预认证模式的Azure AD应用代理不支持Conditional Access策略。Passthrough模式下,应用代理仅做请求转发,不会触发Azure AD的身份验证流程,因此基于Azure AD的Conditional Access策略无法对这类请求生效。

修复步骤:

  1. 修改应用代理预认证模式

    • 进入Azure门户 -> Azure Active Directory -> 企业应用 -> 找到目标应用代理应用 -> 应用代理 -> 预认证,将模式改为Azure AD预认证
    • 配置对应的用户/组分配(若APIM使用服务主体访问,后续需将该服务主体加入分配列表)
  2. 重新配置Conditional Access策略

    • 用户分配:选择需要允许访问的对象,包括APIM使用的服务主体(若APIM通过服务主体调用应用代理API)及必要运维用户
    • 云应用或操作:选择目标应用代理企业应用
    • 条件:
      • 创建命名位置,添加Azure API Management实例的出站IP范围(可从APIM门户“概述”->“属性”->“出站IP地址”获取)
      • 在条件的“位置”中,设置为包含所有位置,排除上述命名位置
    • 访问控制-授予:选择“阻止访问”
    • 保存策略后,仅来自APIM IP的请求会被允许,其他IP请求将被阻止
  3. 验证APIM的访问身份

    • 若APIM通过服务主体调用应用代理API,需确保该服务主体被添加到应用代理应用的用户分配列表,且Conditional Access策略的用户范围包含该服务主体

二、本地APIM网关的正确使用方式

本地APIM网关的定位是反向代理本地服务到云端APIM,而非直接接收互联网请求。要实现互联网请求路由到本地服务,正确方案如下:

  • 云端APIM实例配置API,后端指向本地服务地址
  • 通过Azure VPN网关/ExpressRoute打通云端APIM与本地环境的网络连接,或继续使用Azure AD应用代理作为云端APIM到本地服务的转发通道
  • 若要使用本地网关接收外部请求,需将本地网关部署在具备公网IP的环境中,然后将云端APIM的API后端指向本地网关的公网地址,实现“互联网->云端APIM->本地网关->本地服务”的路由,但需做好本地网关的公网安全防护(如IP白名单、防火墙规则)

内容的提问来源于stack exchange,提问作者Rytis I

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 04:35:08