我们尝试创建一个 AAD 服务主体,用于从 Log Analytics 工作区中检索数据。
- 我们的 AAD 区域位于
Germany
- Log Analytics 位于
North Europe
在尝试创建 API 权限时,提到了 API 本身的地址westus2.api.loganalytics.io
(美国西部地区),这不利于我们公司的数据隐私。
这个默认且不可编辑的设置有什么原因吗?有什么办法可以克服吗?
我们尝试创建一个 AAD 服务主体,用于从 Log Analytics 工作区中检索数据。
Germany
North Europe
在尝试创建 API 权限时,提到了 API 本身的地址westus2.api.loganalytics.io
(美国西部地区),这不利于我们公司的数据隐私。
这个默认且不可编辑的设置有什么原因吗?有什么办法可以克服吗?
好吧,如果是这样,您可以获取 ARM API 端点的令牌,然后调用 ARM API。
这样,无需为您的 AD App 添加 API 权限,只需确保您的 AD App 具有 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"
}
有关更多详细信息,请参阅此链接。