gpt4 book ai didi

azure - 使用 DefaultAzureCredential 通过系统管理标识访问 Azure AppConfiguration

转载 作者:行者123 更新时间:2023-12-03 05:29:04 24 4
gpt4 key购买 nike

我有一个 functionApp (V3),它尝试使用 DefaultAzureCredential 访问应用程序配置。我的系统托管用户已打开并具有“应用程序配置数据读取者”角色。我在本地调试中运行它,因此需要默认凭据。我还有多个租户,因此我必须在 DefaultAzureCredentialOptions 上设置 VisualStudioTenantId 和 SharedTokenCacheTenantId。

访问 Key Vault 以获取 secret 时,该凭据有效,但需要设置 SharedTokenCacheTenantId。

连接到应用程序配置时,我收到“服务请求失败。状态:403(禁止)”。

参见下面的代码:

public override async void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
{
var credOptions = new DefaultAzureCredentialOptions();

var tenantId = Environment.GetEnvironmentVariable("Tenant_Id");

credOptions.VisualStudioTenantId = tenantId;

credOptions.SharedTokenCacheTenantId = tenantId;

var cred = new DefaultAzureCredential(credOptions);

/*Works but requires SharedTokenCacheTenantId*/
var secretClient = new SecretClient(new Uri(vaultURI), cred);
var secret = await secretClient.GetSecretAsync("<secret name>");

/*Does not work - forbidden*/
builder.ConfigurationBuilder.AddAzureAppConfiguration(options =>
{
options.Connect(new Uri(appConfigURI), cred);

}).Build();

}

谢谢!

最佳答案

感谢真兰here回答我的问题。我的本地 Visual Studio 用户还需要被授予“应用程序配置数据读取器”才能在本地调试我的代码。

关于azure - 使用 DefaultAzureCredential 通过系统管理标识访问 Azure AppConfiguration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66678270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com