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

如何将Key Vault与Bot Composer集成 以获取HTTP请求所需机密值

Bot Composer 对接Key Vault获取敏感参数实现HTTP请求的方案

前置基础配置

  • 先给你的Bot对应的Azure应用服务开启系统分配托管标识,全程不用硬编码服务主体密钥,从根源上减少敏感值泄露风险。
  • 打开目标Key Vault的权限配置,给刚才生成的托管标识分配最小权限:仅开放机密的Get读取权限,不要授予更新、删除等无关权限。

项目层配置打通

不管你是用Composer导出的C#还是JS/TS版本Bot项目,都不需要在代码里写硬编码的机密拉取逻辑,直接复用Bot Framework SDK内置的Key Vault配置加载能力就行:

  • 先把Key Vault的地址写进非敏感配置项,比如在appsettings.json(C#项目)或者default.js(JS项目)里加配置项:KeyVault:VaultUri,值填你的Key Vault实例地址。
  • 在配置加载入口启用Key Vault配置源,SDK会自动通过托管身份鉴权,把Key Vault里的机密值映射到全局配置上下文:只要你在配置里写的占位格式和Key Vault里的机密名匹配,运行时会自动替换成真实的机密值,不会把明文机密写进本地配置文件或者代码仓库。

Composer流设计阶段的使用方式

  • 你不需要在Composer的可视化设计器里手输明文的敏感请求参数,只需要在配置HTTP请求动作时,对应该填敏感值的参数位置,用自适应表达式引用全局配置里从Key Vault拉取到的机密项即可。
  • 举个实际配置例子:如果Key Vault拉取的机密被映射为配置项settings.ThirdPartyApi.ApiSecret,那你在HTTP请求的鉴权Header位置,直接填表达式{{settings.ThirdPartyApi.ApiSecret}},运行时Bot会自动从内存配置上下文拿到解密后的机密值完成请求。

避坑提示

  • 别图省事用带密钥的服务主体鉴权连接Key Vault,不然你又多了一个要保管的敏感值,完全失去了用Key Vault的意义,全程用托管身份的无密钥鉴权最稳妥。
  • 本地用Composer调试时,需要先在本地用Azure CLI登录你自己的开发账号,并且给这个开发账号也分配对应Key Vault的机密读取权限,不要把真实的机密值存在本地配置里同步到云端代码仓库。
  • Composer的设计预览界面不会明文展示从Key Vault拉取到的机密值,所有敏感参数只会在服务运行时的内存里加载,不会在设计操作环节被泄露。
  • 如果是用Composer云端托管能力部署的Bot,不需要手动改项目代码,只需要在部署流程中关联对应的Key Vault实例,平台会自动完成托管身份的权限打通和配置加载逻辑。

内容的提问来源于stack exchange,提问作者be3112 Rahul garg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 07:45:03