未提供有效身份验证

Valid authentication was not provided

我卡在了这个 wiki

的第 2.4 步

在上一步中,我得到了一个有效的令牌。

为什么我会收到“未提供有效身份验证”?

我添加了一个名为授权的 header - 见图。

我错过了什么?

当我们使用Azure Log Analytics REST API做查询时,我们需要使用Authorization=Bearer eyJ....作为请求头。详情请参考here.

例如

  1. 注册 Azure AD 应用程序

  2. 为AD应用配置API权限

  3. 授予 AAD 应用程序访问我们的 Log Analytics 工作区的权限。请将 Log Analytics Reader 角色分配给 AD 应用程序

  4. 获取访问令牌

POST /<your tenant id>/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

grant_type =client_credentials
&client_id=<>
&client_secret=<>
&resource=https://westus2.api.loganalytics.io
  1. 调用 api
POST https://api.loganalytics.io/v1/workspaces/{workspaceId}/query
Authorization: Bearer ey...
Content-Type: application/json

{
    "query": ""
}

使用API键

您还可以创建 API 密钥 并将其用于您的请求:

  1. 转到 Azure 门户中的 Application Insights
  2. 单击API 访问 blade 配置 部分
  3. 创建新的 API 密钥
  4. 在 REST 中使用它 API 在 header 中使用 Key = x-api-key
  5. 调用