我们尝试创建一个 AAD 服务主体,用于从 Log Analytics 工作区中检索数据。
- 我们的 AAD 区域位于
Germany - Log Analytics 位于
North Europe
在尝试创建 API 权限时,提到了 API 本身的地址westus2.api.loganalytics.io(美国西部地区),这不利于我们公司的数据隐私。
这个默认且不可编辑的设置有什么原因吗?有什么办法可以克服吗?
我们尝试创建一个 AAD 服务主体,用于从 Log Analytics 工作区中检索数据。
GermanyNorth 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"
}
有关更多详细信息,请参阅此链接。