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

如何将Azure Key Vault密钥值直接关联至Azure App Service环境变量

Azure App Service 直接引用Key Vault密钥作为环境变量的原生配置方案

先排查现有配置的常见问题

  • 托管标识权限:必须给App Service的托管标识分配Key Vault Secrets User角色(或自定义权限包含secrets/get),且权限作用范围是目标Key Vault,避免用订阅/资源组级别的权限导致继承问题
  • Secret URI正确性:确认URI完整,若指定版本需包含版本路径(如https://xxx.vault.azure.net/secrets/encryption-key/xxxxxxxxxxxx);不指定版本的话,要确保密钥处于启用状态
  • 托管标识状态:检查App Service的系统分配托管标识是否已开启,且该标识已被添加到Key Vault的访问策略中

正确配置步骤(原生无代码方案)

  1. 确认Key Vault访问策略

    • 进入目标Key Vault → 访问策略 → 添加访问策略
    • 机密权限勾选获取,主体选择你的App Service名称(系统分配托管标识名称与App Service一致)
    • 保存策略配置
  2. 配置App Service应用设置

    • 进入App Service → 配置 → 应用程序设置
    • 新建应用设置:
      • 名称:填写你的环境变量名(如EncryptionKey)
      • 值:使用格式 @Microsoft.KeyVault(SecretUri=https://<你的Key Vault名称>.vault.azure.net/secrets/<密钥名称>)
        • 示例:@Microsoft.KeyVault(SecretUri=https://my-keyvault.vault.azure.net/secrets/encryption-key)
        • 若密钥有版本,追加版本路径:@Microsoft.KeyVault(SecretUri=https://my-keyvault.vault.azure.net/secrets/encryption-key/abc123xyz)
    • 按需勾选部署槽位设置,点击确定后保存配置,App Service会自动重启加载
  3. 验证配置生效

    • 通过App Service控制台验证:Windows环境执行 echo %EncryptionKey%,Linux环境执行 echo $EncryptionKey,查看是否输出密钥值
    • 或通过Kudu高级工具 → 环境变量页面,检查对应变量是否已正确解析

额外注意事项

  • URI中不要包含多余字符(如引号、空格)
  • 若使用用户分配托管标识,需在值中指定标识Client ID,格式为:@Microsoft.KeyVault(SecretUri=https://xxx.vault.azure.net/secrets/xxx;IdentityClientId=<用户分配标识的Client ID>)
  • 确保Key Vault与App Service同属一个Azure租户;若Key Vault启用防火墙,需允许App Service所在虚拟网络或Azure服务标签访问

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 08:53:14