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

如何判断Azure API Management请求是否来自Application Gateway及安全疑问

关于Azure APIM判断请求源自Application Gateway的问题解答

一、Context.Request.OriginalUrl.Host的安全风险

Context.Request.OriginalUrl.Host的值完全来自请求的Host Header,二者是一致的。既然官方文档明确指出Host Header可被客户端篡改、用于来源判断不安全,那么用这个字段做同样的校验自然也存在相同的风险,不可靠。

二、判断请求源自Application Gateway的更优方法

以下是几种更安全的实现方式:

  • 自定义专用验证头
    配置Application Gateway在转发请求到APIM时,添加一个仅内部知晓的自定义请求头(比如X-AG-Validation-Key)并设置固定的密钥值。然后在APIM的入站策略中,添加校验逻辑:检查该头是否存在且值与预设密钥完全匹配,不匹配则直接拒绝请求。
    注意:密钥要严格保密,且建议将App Gateway和APIM部署在同一个虚拟网络内,减少头信息被拦截篡改的可能。

  • 源IP地址过滤
    利用Application Gateway的固定出站IP(或VNet内网IP),在APIM中配置IP过滤策略:只允许来自这些IP地址的请求通过。如果App Gateway使用的是公共IP,可直接将其加入允许列表;如果是VNet部署,可指定对应的子网IP范围。
    提示:若App Gateway是多实例或动态IP场景,需定期更新IP列表,或使用Azure服务标签简化维护。

  • Azure AD服务间身份验证
    为App Gateway和APIM配置Azure AD服务主体身份验证:让App Gateway在转发请求时携带Azure AD颁发的访问令牌,APIM的入站策略中校验令牌的有效性(包括签名、受众、过期时间等)。这种方式安全性最高,适合对身份验证要求严格的场景,但配置相对复杂。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 06:05:20