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

如何使用基础身份验证保护Azure API Gateway并对接自有用户库

Azure API Management 对接自有用户表实现身份校验的实现方案

你无需将自有用户数据同步到APIM内置用户体系,直接通过APIM原生的策略引擎配合现有认证服务即可完成访问控制,主流实现方式有两种:

方案1:OAuth2.0 密码模式(推荐)

该方案符合API安全通用规范,APIM自带令牌校验能力无需每次请求都调用认证服务,性能最优:

  • 先改造现有认证服务,新增符合OAuth2.0规范的令牌签发接口,接收账号密码参数,校验自有数据库的用户数据后返回JWT令牌,可在令牌Payload中自定义携带用户角色、权限标识、用户ID等业务字段
  • 进入Azure APIM控制台,在「API」菜单下找到需要保护的基础数据查询服务API,打开「策略」编辑页
  • 在入站流量规则中添加validate-jwt策略,配置认证服务的JWKS端点、颁发者地址、受众等参数,APIM会自动校验请求携带的令牌合法性,校验失败直接返回401,不会转发到后端服务
  • 如需细粒度权限控制,可进一步在策略中提取JWT内的自定义字段,判断用户权限是否匹配当前调用的接口,示例策略如下:
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="无效访问令牌">
  <openid-config url="https://你的认证服务域名/.well-known/openid-configuration" />
  <audiences>
    <audience>apim-data-query</audience>
  </audiences>
  <issuers>
    <issuer>https://你的认证服务域名</issuer>
  </issuers>
</validate-jwt>

方案2:自定义HTTP校验(无需改造现有认证服务)

如果当前没有条件改造认证服务为OAuth2.0接口,可直接通过APIM的send-request策略调用现有登录校验接口实现鉴权:

  • 入站策略中提取请求头里携带的账号密码/自定义校验参数
  • 调用现有认证服务的校验接口,根据返回结果判断是否允许请求通过
  • 校验通过后可将用户ID、角色等信息写入请求头转发给后端数据查询服务,后端无需重复做身份校验

官方参考内容检索方式

直接在Azure官方文档中心搜索以下关键词即可获取对应配置教程:

  • Azure API Management 策略参考 - validate-jwt
  • Azure API Management 使用外部OAuth2.0服务保护API
  • Azure API Management 自定义请求验证策略示例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:36:04