【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)

问题描述

使用 .NET Azure.Identity 中的 DefaultAzureCredential 认证并连接到Azure Key Vault中, 在Key Vault 的示例中,并没有介绍如何在代码中设置连接到中国区Azure中。

如果直接运行DefaultAzureCredential,会默认连接到Global Azure,那需要如何修改才能连接到China Azure中呢?

 

问题解答

查看DefaultAzureCredential方法,它可以通过DefaultAzureCredentialOptions来设置 AuthorityHost , 用于指定认证所连接的云环境。 

 所以,正确的代码应该是:

复制代码
##1: AAD 认证信息配置为系统环境变量

DefaultAzureCredentialOptions options = new DefaultAzureCredentialOptions() { AuthorityHost = AzureAuthorityHosts.AzureChina }; 

//Setting your AZURE_TENANT_ID/AZURE_CLIENT_ID/AZURE_CLIENT_SECRET in system environments

var client = new SecretClient(new Uri(kvUri), new DefaultAzureCredential(options));
##2:或者是通过代码直接传递AAD信息, 则可以使用 ClientSecretCredential string tenantId = "xxxxxxxx-xxxx-xxxx-xxxx- xxxxxxxxxxxx";

string clientId= " xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; string clientSecret= "***************"; DefaultAzureCredentialOptions options = new DefaultAzureCredentialOptions() { AuthorityHost = AzureAuthorityHosts.AzureChina };

var client = new SecretClient(new Uri(kvUri), new ClientSecretCredential(tenantId, clientId, clientSecret, options));
复制代码

 

 

参考资料

适用于 .NET 的 Azure 密钥保管库机密客户端库:https://docs.azure.cn/zh-cn/key-vault/secrets/quick-create-net?tabs=azure-cli

DefaultAzureCredential :https://learn.microsoft.com/en-us/dotnet/api/azure.identity.defaultazurecredential?view=azure-dotnet#definition

DefaultAzureCredentialOptions :https://learn.microsoft.com/en-us/dotnet/api/azure.identity.defaultazurecredentialoptions?view=azure-dotnet

 

posted @   路边两盏灯  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示