AzureAppConfiguration не работает с Azure.Identity.TokenCredentials

Я пытаюсь добавить AzureAppConfiguration в свое основное веб-приложение dotnet, используя следующий код:

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

это не выполняется со следующей ошибкой:

Azure.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

и получить все значения.

1 ответ

Убедитесь, что вы предоставили своему удостоверению роль Читателя данных конфигурации приложения или Владельца данных конфигурации приложения в Управлении доступом вашего экземпляра конфигурации приложения и подождите ~ 15 минут, пока разрешение не распространится.

Более подробную информацию можно найти на https://docs.microsoft.com/en-us/azure/azure-app-configuration/concept-enable-rbac.

Кстати, использованная вами команда CLI не использует аутентификацию AAD. Использовать --auth-mode параметр, чтобы указать, как вы хотите аутентифицироваться.

      az appconfig kv list -n MYCONFIGURATION --auth-mode login
Другие вопросы по тегам