Разрешения Azure Log Analytics API в регионе west-us2

Мы пытаемся создать субъект-службу AAD для получения данных из рабочей области Log Analytics.

  • Наш регион AAD расположен в Germany
  • Log Analytics находится в North Europe

При попытке создать разрешения API в адресе самого API упоминается westus2.api.loganalytics.io (западный регион США), что не является нарушением конфиденциальности данных нашей компании.

Есть ли причина того, что настройки по умолчанию и не редактируются? Есть ли способ побороть это?

1 ответ

Решение

Что ж, если это так, вы можете получить токен для конечной точки ARM API, а затем вызвать ARM API.

Таким образом, нет необходимости добавлять разрешение API для вашего приложения AD, просто убедитесь, что ваше приложение AD имеет роль RBAC, например Contributor, Log Analytics Reader в Access control (IAM)вашего рабочего пространства, если нет, следуйте этому документу, чтобы добавить его.

Затем используйте поток учетных данных клиента, чтобы получить токен.

POST /YOUR_AAD_TENANT/oauth2/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=YOUR_CLIENT_ID
&redirect_uri=YOUR_REDIRECT_URI
&resource=https://management.azure.com/
&client_secret=YOUR_CLIENT_SECRET

После получения токена используйте его для вызова API, как показано в примере ниже.

GET https://management.azure.com/subscriptions/6c3ac85e-59d5-4e5d-90eb-27979f57cb16/resourceGroups/demo/providers/Microsoft.OperationalInsights/workspaces/demo-ws/api/query

Authorization: Bearer <access_token>
Prefer: response-v1=true

{
    "query": "AzureActivity | limit 10"
}

Для получения более подробной информации перейдите по этой ссылке.

Другие вопросы по тегам