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