【问题标题】:Local development access to Azure App Configuration with a managed identity使用托管标识对 Azure 应用配置进行本地开发访问
【发布时间】:2021-06-09 15:32:18
【问题描述】:

是否可以通过托管标识在本地(或在管道中)访问 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 应该在本地和天蓝色环境中都可以工作。

我错过了什么吗?

【问题讨论】:

  • .Select(KeyFilter.Any, "TestLocal")去掉有用吗?您所做的应该是正确的 - DefaultAzureCredential 尝试使用多种方法,包括托管身份,首先,回退到可用于本地开发的浏览器身份验证。
  • 不幸的是没有任何区别。我登录到 Visual Studio 的用户是对应用程序配置资源(从资源组继承)具有“贡献者”访问权限的组的一部分。你觉得这就够了吗?
  • 要使用 VS 登录用户进行身份验证,请直接在代码中尝试 VisualStudioCredential() 而不是 DefaultAzureCredential()。 Besdies,无法使用 MSI(托管标识)在本地访问应用程序配置。

标签: c# azure azure-app-configuration


【解决方案1】:

原来的问题是我没有App Configuration Data OwnerApp Configuration Data Reader 角色与我所属的用于访问资源的组相对应。群里只有contributor

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

【讨论】:

猜你喜欢
  • 2020-03-10
  • 2022-11-10
  • 1970-01-01
  • 2020-07-03
  • 2020-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多