«AuthorizationFailed» при запросе данных метрик Azure - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь получить доступ к данным метрик на своем локальном хосте (http://localhost:8100) Ионическое веб-приложение моих ресурсов с помощью регистрации приложения Active Directory. Мой администратор создал новую регистрацию приложения для моего приложения localhost, что позволяет запрашиватьновый токен доступа от носителя. После получения токена доступа я хотел бы разрешить приложению использовать этот токен доступа для запроса данных метрик.
Один из URL-адресов, используемых моим веб-приложением для вызова метрик (запрос HTTP GET):

"https://management.azure.com/subscriptions/{subscription_id}/resourceGroups/{resourcegroup_name}/providers/Microsoft.Compute/virtualMachines/{VirtualMachine_name}/providers/microsoft.insights/metrics?api-version=2018-01-01&metricnames=Percentage%20CPU&timespan=2018-10-16T03:00:00Z/2018-10-17T03:00:00Z"

с заголовками:
Authorization: {Bearer access_token},
Content-Type: 'application/json'

К сожалению, после отправки этого запроса get возвращается ошибка "AuthorizationFailed" (http код ошибки 403) с сообщением:

"The client '{client id}' with object id '{same as client id}' does not have authorization to perform action 'microsoft.Insights/metrics/read' over scope '/subscriptions/{subscription_id}/resourceGroups/{resourcegroup_name}/providers/Microsoft.Compute/virtualMachines/{VirtualMachine_name}/providers/microsoft.Insights'."



Что здесь не так?

1 Ответ

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

Я решил проблему, так как заметил, что зарегистрированное приложение в Active Directory не имеет предоставленных ролей.
Я предоставил роль этому приложению, перейдя в окно subscription и затем на вкладку Access control (IAM).На этой вкладке я добавил приложение, которое было объявлено в разделе «Регистрация приложений Active Directory» и которому присвоена роль reader.
С тех пор как я сохранил настройки, ошибка AuthorizationFailed больше не возникала.

...