У нас есть хранилище ключей в группе ресурсов в момент Azure.
У нас есть пользователь в США (ME) и пользователь в другой стране (FU).
Оба варианта имеют много общего, а именно:
Использование той же версии VS 2017.
Запуск точно такой же код.
Наша учетная запись пользователя VS такая же (пользователь в нашем экземпляре Azure AD).
Мы используем управляемую идентификацию
Если я запускаю код в США (вошел в VS как FU), я могу прочитать секрет и отобразить на экране.
Если FU (вошел в VS как FU, но в другой стране), когда он запускает код, он выдает следующее исключение
Операция вернула недопустимый код состояния ' Несанкционированный '
Строка кода, которая выдает ошибку:
var secret = await keyVaultClient.GetSecretAsync("https://XXXXXXX.vault.azure.net/secrets/username")
.ConfigureAwait(false);
Мы оба установили Azure CLI 2.0.
Однако я нашел эти условия на этом сайте .
Ваш локальный активный каталог синхронизируется с Azure AD.
Вы запускаете этот код на компьютере, присоединенном к домену.
Ничего из этого не верно в нашем случае.
Возможно, это хороший тест для нашего поставщика, который позволит мне удаленно подключиться к его машине и поставить мою личность на VS, а затем запустить код.
Если мы все еще получим ошибку, то, скорее всего, это наша проблема.
В приведенной выше ссылке сказано, что мы можем " запустить приложение с использованием субъекта службы в локальной среде разработки "
Это решит проблему ???
Я довольно новичок в Azure и C #. Любая помощь будет принята с благодарностью!