Azure Log Analytics API 对 west-us2 区域的权限

Azure Log Analytics API permissions on west-us2 region

我们尝试创建一个 AAD 服务主体,用于从 Log Analytics 工作区检索数据。

尝试创建 API 权限时,API 本身的地址提到了 westus2.api.loganalytics.io(美国西部地区),这对我们公司的数据隐私来说是不可取的。

这种默认且不可编辑的设置有什么原因吗?有什么办法可以克服吗?

好吧,如果是这样,您可以获得 ARM API 端点的令牌,然后调用 ARM API。

这样就不需要为你的AD应用添加API权限,只要确保你的AD应用有一个RBAC角色即可。 Contributor, Log Analytics Reader 在你的工作区 Access control (IAM) 中,如果没有,请按照此 doc 添加它。

然后使用client credential flow获取token。

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"
}

更多详细信息,请参阅此link