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

如何通过客户端证书保护Azure Self hosted Gateway上的API免遭未授权访问

客户端证书防护Azure自托管网关API操作指南

前置准备

  • 已完成Azure API Management实例部署,且关联配置好自托管网关
  • 准备好用于签发客户端证书的根CA证书(测试场景可使用自签CA,生产场景建议使用企业级可信CA)
  • 拥有自托管网关所在运行环境的配置权限、API Management实例的管理权限

步骤1:上传根CA证书至API Management

  • 进入Azure API Management管理界面,在左侧菜单栏「安全」分类下选择「证书」选项
  • 切换到「CA证书」标签页,点击添加按钮
  • 上传根CA证书的.cer格式公钥文件(无需上传私钥),填写自定义证书名称,为自托管网关启用证书链验证选项选择「是」,完成保存
  • 等待配置同步至关联的自托管网关,同步周期通常为1-2分钟

步骤2:配置API的客户端证书校验策略

进入需要防护的API的「策略」编辑页面,在入站(inbound)策略段添加客户端证书校验逻辑,示例策略如下:

<policies>
    <inbound>
        <base />
        <!-- 校验客户端证书是否由信任的根CA签发 -->
        <validate-client-certificate 
            validate-revocation="false" 
            validate-identity="false" 
            trusted-root-certificate-names="你之前上传的根CA证书的自定义名称" />
        <!-- 如需更严格的指纹/主题校验,可添加如下判断逻辑 -->
        <choose>
            <when condition="@(context.Request.Certificate == null || context.Request.Certificate.Thumbprint != "允许的客户端证书指纹值")">
                <return-response>
                    <set-status code="403" reason="Invalid client certificate" />
                </return-response>
            </when>
        </choose>
    </inbound>
    <backend>
        <base />
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
    </on-error>
</policies>

策略参数说明:validate-revocation可在你拥有CA的CRL或OCSP吊销校验服务时设置为true,测试场景建议先关闭;trusted-root-certificate-names需和你上传的根CA证书的自定义名称完全一致。

步骤3:自托管网关侧额外配置

  • 确认自托管网关的部署配置已开启客户端证书协商:默认自托管网关8081端口已开启TLS与客户端证书协商,如使用自定义端口,需在网关环境变量中配置negotiateClientCertificate: true
  • 如自托管网关部署在K8s集群中,需在Ingress/负载均衡层配置客户端证书透传,禁止在Ingress层提前校验客户端证书,否则证书信息无法传递到自托管网关
  • 重启自托管网关实例,确保所有配置生效

步骤4:有效性验证

  • 不带客户端证书调用目标API,确认返回403状态码
  • 使用受信任CA签发的合法客户端证书调用API,确认可正常获取响应
  • 使用不受信任的证书调用API,确认返回403状态码

常见问题排查

  • 合法证书访问仍返回403:检查上传的根CA证书是否与客户端证书的签发CA一致,策略中填写的CA证书名称是否正确
  • 自托管网关未收到客户端证书:检查上层负载均衡/Ingress是否开启了证书透传,网关的客户端证书协商配置是否正常开启

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:24:03