Я использую Microsoft.Azure.keyVault
, пытаясь получить секрет из хранилища ключей в Azure.
Я зарегистрировал приложение как для собственного, так и для веб-API.
Вход в AD прошел успешно (можно подтвердить это, получив действительный AccessToken
на AuthenticationContext.AcquireTokenAsync
).
В Azure AD обоим приложениям предоставлен контроль доступа (IAM) и политики доступа в Key Vault. Я подтвердил, что базовый URL-адрес хранилища ключей и секретное имя верны, но при выполнении следующего вызова
var sec = kv.GetSecretAsync("https://xxxxxxx.vault.azure.net", "xxsecretnamexx").GetAwaiter().GetResult();
Я продолжаю получать ошибку
{"Operation returned an invalid status code 'Unauthorized'"} Microsoft.Azure.KeyVault.Models.KeyVaultErrorException
Одно примечание: попытка сделать это, войдя в систему как пользователь. Код для получения токена следующий
.AcquireTokenAsync(resourceUri,clientId, new Uri(redirectUri), new PlatformParameters(PromptBehavior.SelectAccount))
У нас есть рабочий код, использующий идентификатор и секрет зарегистрированного приложения Azure AD, у которого есть права на хранилище ключей.
Попытка сделать то же самое без использования идентификатора и секрета связанного зарегистрированного приложения Azure AD, но вместо этого при получении токена доступа к Azure AD отображается запрос на вход.
resourceUri
? - person juunas   schedule 14.10.2017