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

如何从AKV密钥名称动态获取Azure Data Lake Storage Gen2 URL值

从Azure Key Vault动态获取ADLS Gen2 URL到配置的几种实用方法

场景1:Azure App Service 直接配置(最省心)

如果你的应用运行在Azure App Service上:

  • 打开App Service的「配置」页面,进入「应用程序设置」
  • 点击「新建应用程序设置」,配置名称填你业务需要的键(比如ADLS_GEN2_URL),值填写@Microsoft.KeyVault(SecretUri=你的AKV密钥完整URI)
  • 密钥的完整URI可从AKV的「密钥」列表中,点击对应密钥的「标识符」复制获取
  • 务必给App Service的托管标识添加AKV的「密钥/机密读取」权限,否则无法读取密钥内容

场景2:.NET 本地/自建应用用JSON配置

如果是自行部署的.NET应用,通过appsettings.json实现动态读取:

  1. 在appsettings.json中添加配置项,直接指向AKV密钥:
{
  "StorageConfig": {
    "AdlsGen2Url": "@Microsoft.KeyVault(SecretUri=https://你的密钥库名称.vault.azure.net/secrets/你的密钥名/密钥版本)"
  }
}
  1. 在Program.cs中添加代码,让应用启动时从AKV加载配置:
var builder = WebApplication.CreateBuilder(args);
// 接入Azure Key Vault
builder.Configuration.AddAzureKeyVault(
    new Uri("https://你的密钥库名称.vault.azure.net/"),
    new DefaultAzureCredential());
  1. 本地开发时用Azure CLI登录即可获取权限,生产环境需给应用配置托管标识并授权AKV读取权限

场景3:ARM/Bicep 部署时自动填充

如果使用基础设施代码部署应用:

  • 在ARM模板中直接引用AKV密钥填充应用配置:
{
  "resources": [
    {
      "type": "Microsoft.Web/sites",
      "properties": {
        "siteConfig": {
          "appSettings": [
            {
              "name": "ADLS_GEN2_URL",
              "value": "[reference(resourceId('Microsoft.KeyVault/vaults/secrets', '你的密钥库名', '你的密钥名'), '2023-02-01').secretUriWithVersion]"
            }
          ]
        }
      }
    }
  ]
}
  • 部署模板的账号需具备AKV访问权限,给其添加「Key Vault Secrets User」角色即可

关键注意事项

  • 无论采用哪种方式,访问AKV的主体(托管标识、账号等)必须拥有Key Vault Secrets User权限,否则无法读取密钥
  • 密钥URI建议携带版本号,避免密钥更新时应用意外获取到未预期的新值
  • 动态读取模式下,应用会在启动或配置刷新时自动拉取最新的密钥值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 12:55:08