代码之家  ›  专栏  ›  技术社区  ›  quadroid

AzureAppConfiguration不适用于Azure。身份代币凭证

  •  0
  • quadroid  · 技术社区  · 5 年前

    我尝试使用以下代码将AzureAppConfiguration添加到我的dotnet core web应用程序中:

    var azureCredential = new DefaultAzureCredential();
    config.AddAzureAppConfiguration(options =>
      options.Connect(new Uri("https://MYCONFIGURATION.azconfig.io"), azureCredential).ConfigureKeyVault(kv =>
        {
          kv.SetCredential(azureCredential);
        })
        ....
    

    此操作失败,出现以下错误:

    蔚蓝色的RequestFailedException:服务请求失败。 状态:403(禁止)

    如果我使用连接字符串连接到 AzureAppConfiguration 它本身确实有效:

    var azureCredential = new DefaultAzureCredential();
    config.AddAzureAppConfiguration(options =>
      options.Connect("Endpoint=https://ac-mobileapps-dev.azconfig.io;Id=MYID;Secret=MYSECRET").ConfigureKeyVault(kv =>
        {
          kv.SetCredential(azureCredential);
        })
        ....
    

    我在本地机器上运行这个,所以默认凭据返回我的AzureCLI凭据。我也有同样的信念

     az appconfig kv list -n MYCONFIGURATION
    

    并检索所有值。

    0 回复  |  直到 5 年前
        1
  •  1
  •   Zhenlan Wang    5 年前

    请确认你的身份 应用程序配置数据读取器 应用程序配置数据所有者 在应用程序配置实例的访问控制中扮演角色,并等待约15分钟以传播权限。

    更多详情请访问 https://docs.microsoft.com/en-us/azure/azure-app-configuration/concept-enable-rbac

    顺便说一句,您使用的CLI命令不使用AAD auth。使用 --auth-mode 参数指定要进行身份验证的方式。

    az appconfig kv list -n MYCONFIGURATION --auth-mode login
    
    推荐文章