Получение токена доступа для keyvault - PullRequest
0 голосов
/ 24 октября 2018

Я опубликовал веб-приложение локально и подключил его к IIS.

Когда я пытаюсь перейти на сайт, он не запускается при запуске со следующей ошибкой при попытке получить доступ к keyvault :

Исключение при запуске приложения:

Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProviderException: Параметры: Строка подключения: [Строка подключения не указана], Ресурс: https://vault.azure.net, Authority: https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47. Сообщение об исключении: пробовал следующие 3 метода для получения токена доступа, но ни один из них не работал.Параметры: Строка подключения: [Строка подключения не указана], Ресурс: https://vault.azure.net, Полномочия: https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47. Сообщение об исключении: Попытка получить токен с использованием идентификатора управляемой службы.

Невозможно подключиться к конечной точке Managed Service Identity (MSI).

Убедитесь, что вы работаете на ресурсе Azure с настройкой MSI.

Параметры: Строка подключения: [Строка подключения не указана], Ресурс: https://vault.azure.net, Полномочия: https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47.

Сообщение об исключении: Попытка получить токен с помощью Visual Studio.

Не удалось получить токен доступа.Файл поставщика Visual Studio Token не найден в папке «C: \ WINDOWS \ system32 \ config \ systemprofile \ AppData \ Local.IdentityService \ AzureServiceAuth \ tokenprovider.json"

Параметры: Строка подключения: [Строка подключения не указана],Ресурс: https://vault.azure.net, Полномочия: https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47. config (последний вызов был последним):
Файл "runpy.py", строка 193, в _run_module_as_main
Файл "runpy.py", строка85, в _run_code
Файл "C: \ Users \ VSSADM ~ 1 \ AppData \ Local \ Temp \ pip-install-qw7dqhq0 \ azure-cli \ azure \ cli__main __. Py", строка 32, в файле "C: \Users \ VSSADM ~ 1 \ AppData \ Local \ Temp \ pip-install-qw7dqhq0 \ azure-cli-core \ azure \ cli \ core__init __. Py ", строка 511, в get_default_cli
Файл" C: \ Users \ VSSADM ~1 \ AppData \ Local \ Temp \ pip-install-qw7dqhq0 \ azure-cli-core \ azure \ cli \ core__init __. Py ", строка 34, в init
файл" C: \ Program Files(x86) \ Microsoft SDKs \ Azure \ CLI2 \ Lib \ site-packages \ knack \ cli.py ", строка 82, в init self.config = config_cls (config_dir = config_dir, config_env_var_prefix = config_env_var_prefix) Файл "C: \ Program Files (x86) \ Microsoft SDKs \ Azure \ CLI2 \ Lib \ site-packages \ knack \ config.py", строка 38, в init verify_dir (config_dir)
Файл "C: \ Program Files (x86) \ Microsoft SDKs \ Azure \ CLI2 \ Lib \ sitepackages \ knack \ util.py", строка 38, в sure_dir os.makedirs (d)
Файл "os.py", строка 220, в makedirs PermissionError: [WinError 5] Доступ запрещен: 'C: \ WINDOWS \ system32 \ config \ systemprofile \ .azure'

Ответы [ 2 ]

0 голосов
/ 15 августа 2019

У меня возникла эта проблема, и я обнаружил, что не вошел в Azure локально.

Что решило проблему для меня, так это загрузив на мою машину интерфейс командной строки Azure и запустив

az login

и просто следуя полученным страницам, чтобы войти в систему. Запустите приложение, и вы увидите, что оно подключается.Теперь.

0 голосов
/ 25 октября 2018

Как упомянуто в этом документе Идентификатор управляемой службы , идентификатор управляемой службы работает только в среде Azure и только в развертывании службы приложений, в котором вы его настроили.

Примечание : MSI не работает с Развертывание службы приложений слот в это время.

Перед кодированием нам необходимо setup что-то в Azure:

1. Включение идентификатора управляемой службы в веб-приложении

2. Разрешить сгенерированному субъекту-службе доступ к хранилищу производственного ключа

Вот мой кодчтобы получить токен, и он хорошо работает:

var azureServiceTokenProvider = new AzureServiceTokenProvider();
string token = await azureServiceTokenProvider.GetAccessTokenAsync("https://vault.azure.net");

Для получения дополнительной информации о том, как получить Azure KeyVault с MSI в Asp.net Core, вы можете обратиться к этой статье .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...