使用托管标识对 Azure 应用配置进行本地开发访问

时间:2021-03-11 15:52:25

标签: c# azure azure-app-configuration

是否可以在不向 Azure 部署任何其他服务的情况下通过本地(或管道中)托管标识访问 Azure 应用配置?

我有一个 .net 核心单元测试项目,它针对实时站点运行一些集成测试。为了将各种设置、机密等排除在源代码之外,我想我可以使用 Azure 应用配置。

我正在阅读本指南,但它似乎针对访问应用配置的应用服务 https://docs.microsoft.com/en-us/azure/azure-app-configuration/howto-integrate-azure-managed-service-identity?tabs=core2x

我已启用系统分配的托管标识

[enter image description here]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 环境中都可以使用。

我在这里遗漏了什么吗?

1 个答案:

答案 0 :(得分:2)

事实证明,问题在于我没有对用于访问资源的组的 App Configuration Data OwnerApp Configuration Data Reader 角色。该组只有contributor

一旦我通过 Add Role Assignment 添加它,它就开始工作了。