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

使用Azure Key Vault时如何在客户端隐藏API密钥?是否需中间后端?

如何在客户端隐藏Azure Key Vault中的API密钥?

核心结论

是的,你必须创建一个中间后端服务来实现密钥的完全隔离——客户端绝对不能直接获取或接触API密钥,所有需要用到密钥的操作都通过后端代理完成。

具体实现方案

  • 部署后端代理服务:在Azure上托管一个后端服务(比如Azure App Service、Azure Function),给这个服务配置访问Azure Key Vault的权限(用系统托管身份或服务主体,在Key Vault的访问策略里只授予该后端读取密钥的权限)。
  • 客户端请求路由:客户端不再直接调用目标服务器的API,而是调用你的后端接口。后端从Key Vault取出对应的API密钥,把密钥注入到请求的头部、参数或请求体中,转发给目标服务器,再将服务器的响应返回给客户端。
  • 客户端身份校验:给后端服务加上身份验证机制(比如Azure AD OAuth2、JWT令牌),确保只有合法的客户端能发起请求,避免后端被恶意调用。
  • 密钥全生命周期管控:密钥的创建、轮换、权限调整都在Key Vault和后端层面操作,客户端完全不需要感知密钥的存在,也没有任何途径获取密钥。

为什么不能让客户端直接访问Key Vault?

  • 客户端运行在不可信环境(浏览器、移动端、桌面应用),无论怎么加密存储客户端身份凭证,都存在被逆向破解的风险——一旦凭证泄露,攻击者就能直接从Key Vault获取所有API密钥,完全失去安全防护。
  • 遵循最小权限原则:客户端只需要使用API服务的能力,不需要拥有读取密钥的权限,把密钥的访问权限严格限制在后端服务,能大幅降低安全风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 08:23:14