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

如何通过Azure API Management管控内外部API访问权限?

实现Azure API Management内外API的访问隔离方案

一、先对API进行分组标记

首先把内部API和外部API做明确区分,推荐两种方式:

  • 给内部API统一添加标签(比如internal-only),外部API添加external-public标签,后续可通过标签批量应用策略
  • 把内部API归到单独的APIM产品(比如InternalAPIs),外部API归到ExternalAPIs产品,利用产品级策略统一管控

二、内部API的访问限制配置(内网IP+JWT验证)

在内部API(或对应产品)的入站策略中添加以下逻辑:先校验请求来源IP是否属于公司内网IP段,再执行OKTA的JWT令牌验证。

示例策略代码:

<inbound>
    <!-- 校验来源IP是否在公司内网IP范围内,多个IP用逗号分隔 -->
    <ip-filter action="allow">
        <address>192.168.0.0/16</address>
        <address>10.0.0.0/8</address>
    </ip-filter>
    <!-- 原有OKTA JWT验证策略 -->
    <validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Invalid or missing token">
        <openid-config url="https://your-okta-domain/.well-known/openid-configuration" />
        <audiences>
            <audience>your-internal-api-audience</audience>
        </audiences>
        <issuers>
            <issuer>https://your-okta-domain/oauth2/default</issuer>
        </issuers>
    </validate-jwt>
    <!-- 其他原有入站逻辑 -->
</inbound>

注:把192.168.0.0/16、10.0.0.0/8替换成实际的公司内网IP段,OKTA相关配置参数替换成你的实际值

三、外部API的访问限制配置(公网IP+JWT验证)

外部API仅保留原有OKTA JWT验证策略,确保允许所有公网IP访问,无需额外限制(或显式添加允许所有IP的规则):

示例策略代码:

<inbound>
    <!-- 允许所有来源IP访问 -->
    <ip-filter action="allow">
        <address>0.0.0.0/0</address>
    </ip-filter>
    <!-- 原有OKTA JWT验证策略 -->
    <validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Invalid or missing token">
        <openid-config url="https://your-okta-domain/.well-known/openid-configuration" />
        <audiences>
            <audience>your-external-api-audience</audience>
        </audiences>
        <issuers>
            <issuer>https://your-okta-domain/oauth2/default</issuer>
        </issuers>
    </validate-jwt>
    <!-- 其他原有入站逻辑 -->
</inbound>

四、额外优化建议

  • 如果公司内网使用Azure VNet,可将APIM部署到VNet内部模式,内部API通过VNet访问,外部API通过公网网关暴露,适合有成熟VNet环境的场景
  • 可结合APIM用户组,给内部API访问者分配专属用户组,同时在策略中校验JWT里的用户组声明,进一步细化权限控制

内容的提问来源于stack exchange,提问作者DIBYA RANJAN TRIPATHY

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 07:07:21