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

Azure企业应用能否配置环境变量?.NET Core本地如何访问Key Vault?

问题解答

能否为Azure企业应用配置所需环境变量?

Azure企业应用本质是应用注册的实例化对象(自定义企业应用均对应一个后台应用注册,内置企业应用除外):

  • 若你使用的是自定义创建的企业应用,可在Azure AD中找到该企业应用对应的应用注册,在应用注册页面生成客户端密钥(Client Secret)或上传证书,此时就能获取到AZURE_CLIENT_ID(应用注册的Application ID)、AZURE_TENANT_ID(租户ID),以及生成的客户端密钥或证书路径,这些值完全可以配置为本地环境变量,供DefaultAzureCredential使用。
  • 若你使用的是Microsoft提供的内置企业应用(如Office 365相关应用),则无法生成客户端密钥或自定义证书,这种情况下无法通过配置上述环境变量来认证。

本地.NET Core访问Azure Key Vault的替代方式

如果无法配置环境变量,还可以通过以下几种方式实现本地访问:

  • Azure CLI身份认证:安装Azure CLI后执行az login,登录拥有Key Vault访问权限(如Key Vault Secrets User角色)的Azure账号,DefaultAzureCredential会自动拾取CLI的登录上下文,无需额外配置即可访问Key Vault。
  • Visual Studio身份认证:在Visual Studio中登录你的Azure账号(需拥有Key Vault权限),DefaultAzureCredential会自动识别VS的登录身份,直接调用Key Vault客户端即可。
  • 交互式浏览器认证:使用Azure.Identity包中的InteractiveBrowserCredential,代码运行时会弹出浏览器让你登录Azure账号,通过用户身份完成认证,示例代码:
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;

var credential = new InteractiveBrowserCredential();
var vaultUri = new Uri("https://your-keyvault-name.vault.azure.net/");
var secretClient = new SecretClient(vaultUri, credential);
var secret = await secretClient.GetSecretAsync("your-secret-name");
  • 证书认证:若企业应用对应的应用注册已上传证书,可将证书文件放在本地,配置AZURE_CLIENT_CERTIFICATE_PATH环境变量指向该文件,同时配置AZURE_CLIENT_ID和AZURE_TENANT_ID,DefaultAzureCredential会自动使用证书完成认证,这种方式比密钥更安全。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 17:17:15