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

如何基于Azure APIM Product按HTTP动词限制API读写访问权限

Azure APIM Product只读限制方案(无需修改Product层级CORS配置)

你可以直接在目标Product的入站策略中添加HTTP动词过滤规则,该逻辑完全独立于CORS配置,不会和全局/API层级已有的CORS规则冲突,也不需要在Product层维护任何CORS相关参数。

具体配置步骤如下:

  • 进入你要配置为只读的api-(name)-read类Product的策略配置页面
  • 在入站配置段添加动词判断逻辑,非允许的只读动词直接返回405状态码即可
  • 无需调整现有CORS配置,<base/>标签会自动继承上级的所有CORS规则

示例策略配置如下:

<policies>
    <inbound>
        <base />
        <choose>
            <!-- 仅允许GET、HEAD以及CORS预检用的OPTIONS方法,可根据实际需求删减 -->
            <when condition="@(context.Request.Method != "GET" && context.Request.Method != "HEAD" && context.Request.Method != "OPTIONS")">
                <return-response>
                    <set-status code="405" reason="Method Not Allowed" />
                    <set-header name="Allow" exists-action="override">
                        <value>GET, HEAD</value>
                    </set-header>
                </return-response>
            </when>
        </choose>
    </inbound>
    <backend>
        <base />
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
    </on-error>
</policies>

配置说明:

  • 若不需要支持HEAD请求,可直接删除条件中对应&& context.Request.Method != "HEAD"的判断
  • 排除OPTIONS方法是为了避免拦截CORS预检请求,确保上层CORS配置正常生效,如果你没有跨域需求也可以删掉该判断
  • 读写类的api-(name)-writeProduct不需要添加任何额外策略,默认继承上级规则即可支持所有HTTP动词

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 14:54:02