【发布时间】:2019-01-07 07:41:44
【问题描述】:
我正在尝试连接到 Azure 门户中的工作区。我得到的错误是
操作返回了无效的状态代码“未授权”。
creds 对象已获取身份验证令牌,并且我已向我的应用程序添加资源权限,如 link 中所述
using System;
using Microsoft.Azure.OperationalInsights;
using Microsoft.Rest.Azure.Authentication;
namespace LogAnalytics
{
class Program
{
static void Main(string[] args)
{
var workspaceId = "**myworkspaceId**";
var clientId = "**myClientId**";
var clientSecret = "**myClientSecret**";
//<your AAD domain>
var domain = "**myDomain**";
var authEndpoint = "https://login.microsoftonline.com";
var tokenAudience = "https://api.loganalytics.io/";
var adSettings = new ActiveDirectoryServiceSettings
{
AuthenticationEndpoint = new Uri(authEndpoint),
TokenAudience = new Uri(tokenAudience),
ValidateAuthority = true
};
var creds = ApplicationTokenProvider.LoginSilentAsync(domain,clientId, clientSecret,
strong textadSettings).GetAwaiter().GetResult();
var client = new OperationalInsightsDataClient(creds);
client.WorkspaceId = workspaceId;
//Error happens below
var results = client.Query("union * | take 5");
Console.WriteLine(results);
Console.ReadLine();
}
}
}
【问题讨论】:
-
您是否在工作区的
Access control (IAM)中添加了权限? -
是的,具有上述ClientId和ClientSecret的应用程序被添加到具有LogAnalyticsReader角色的资源中
标签: c# azure azure-active-directory azure-application-insights azure-log-analytics