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

如何使用Azure容器应用密钥覆盖本地用户机密与appsettings.json

在Azure容器应用中覆盖ASP.NET Core 6 Web API的连接字符串

ASP.NET Core的配置系统默认遵循环境变量优先于本地配置的规则,所以在Azure容器应用中可以通过两种方式覆盖连接字符串,具体操作步骤如下:

一、直接通过容器应用的应用设置覆盖

这种方式适合快速配置,无需依赖Key Vault:

  • 登录Azure门户,找到目标容器应用
  • 进入「配置」>「应用设置」页面
  • 点击「添加」,设置键名为ConnectionStrings:MainDatabase(必须和本地appsettings.json/secrets.json中的键名完全一致)
  • 对应的值填写生产环境的数据库连接字符串
  • 保存设置,容器应用会自动重启,ASP.NET Core会自动读取该环境变量,覆盖本地配置值

二、集成Azure Key Vault管理机密并关联配置

如果需要更安全的机密管理(比如定期轮换密钥、细粒度权限控制),可以采用Key Vault集成方案:

1. 在Key Vault中添加机密

  • 进入你的Azure Key Vault实例,打开「机密」页面
  • 点击「生成/导入」,创建新机密:
    • 名称填写ConnectionStrings--MainDatabase(Key Vault不允许使用冒号,用双短横线替代原配置中的冒号)
    • 值填写生产环境的数据库连接字符串
    • 完成后保存机密

2. 给容器应用授权访问Key Vault

  • 回到容器应用的「标识」页面,启用「系统分配的标识」,保存后会生成一个托管服务标识
  • 切换到Key Vault的「访问策略」页面,点击「添加访问策略」:
    • 权限选择「机密」类别下的「获取」权限
    • 「主体」选择刚才容器应用生成的系统分配标识
    • 保存访问策略

3. 在容器应用中配置机密引用

  • 回到容器应用的「配置」>「应用设置」页面
  • 点击「添加」,设置键名为ConnectionStrings:MainDatabase(和本地配置键名一致)
  • 值填写Key Vault机密的引用格式,二选一即可:
    • 完整URI格式:@Microsoft.KeyVault(SecretUri=https://你的KeyVault名称.vault.azure.net/secrets/ConnectionStrings--MainDatabase)
    • 简洁格式:@Microsoft.KeyVault(VaultName=你的KeyVault名称;SecretName=ConnectionStrings--MainDatabase)
  • 保存设置,容器应用重启后会自动从Key Vault拉取机密值,覆盖本地配置

说明:ASP.NET Core默认的配置提供者优先级为:环境变量 > 用户机密 > appsettings.json,只要键名匹配,Azure端的配置就会自动覆盖本地值,无需修改API代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:10:40