0

我正在尝试阅读 azure 资源的见解。我收到的错误是:

Operation returned an invalid status code 'Forbidden'

服务原则在工作区的订阅中被赋予了“Log Analytics Reader”角色。

Microsoft.Azure.Management.ResourceManager.Fluent.Authentication.AzureCredentials credentials =
 Microsoft.Azure.Management.ResourceManager.Fluent.SdkContext.AzureCredentialsFactory.FromServicePrincipal(
 "clientId", 
 "clientSecret", 
 "tenantId", 
 Microsoft.Azure.Management.ResourceManager.Fluent.AzureEnvironment.AzureGlobalCloud);

var client = new Microsoft.Azure.OperationalInsights.OperationalInsightsDataClient(credentials);
client.WorkspaceId = @"workspaceId";
var results = client.QueryWithHttpMessagesAsync("union * | take 5").Result;

状态码的解决方案:未授权是使用委派权限,但我需要一个没有用户交互的身份验证令牌。

4

1 回答 1

0

由于您已在订阅中授予服务原则“Log Analytics 读者”角色。还需要为您的服务原则授予 API 权限。

  • 转到您的服务原则> API 权限>添加权限>我的组织使用的 API。搜索日志分析 API

在此处输入图像描述

  • 并将以下权限添加到您的服务原则中。

在此处输入图像描述

  • 并向您的服务原则授予管理员同意权限以获取 API 权限。

在此处输入图像描述

一旦您授予服务原则的权限,您就可以阅读日志。

有关使用同一事物的更多信息,powershell请参阅此博客

于 2021-12-15T12:31:52.803 回答