是否可以在不向 Azure 部署任何其他服务的情况下通过本地(或管道中)托管标识访问 Azure 应用配置?
我有一个 .net 核心单元测试项目,它针对实时站点运行一些集成测试。为了将各种设置、机密等排除在源代码之外,我想我可以使用 Azure 应用配置。
我正在阅读本指南,但它似乎针对访问应用配置的应用服务 https://docs.microsoft.com/en-us/azure/azure-app-configuration/howto-integrate-azure-managed-service-identity?tabs=core2x
我已启用系统分配的托管标识
[]1]
我正在尝试使用以下代码:
var builder = new ConfigurationBuilder();
builder.AddAzureAppConfiguration(options =>
{
options.Connect(new Uri("https://sauitest-config.azconfig.io"), new DefaultAzureCredential())
.Select(KeyFilter.Any, "TestLocal");
});
不幸的是,这会返回一个 403 (Forbidden)
。注意我以管理员身份登录到 Visual Studio,其凭据与我用于访问门户的凭据相同。显然 DefaultAzureCredential
应该在本地和 Azure 环境中都可以使用。
我在这里遗漏了什么吗?
答案 0 :(得分:2)
事实证明,问题在于我没有对用于访问资源的组的 App Configuration Data Owner
或 App Configuration Data Reader
角色。该组只有contributor
。
一旦我通过 Add Role Assignment
添加它,它就开始工作了。