使用服务主体创建Azure AD应用程序时,权限不足,无法完成操作

使用服务主体创建Azure AD应用程序时,权限不足,无法完成操作,azure,azure-ad-graph-api,Azure,Azure Ad Graph Api,遵循此处概述的代码: https://github.com/Azure-Samples/active-directory-dotnet-graphapi-console/blob/master/GraphConsoleAppV3/Program.cs#L810 但是,当尝试在上创建应用程序时,使用服务主体进行身份验证将导致权限不足错误 client.Applications.AddApplicationAsync(appObject).Wait(); 使用令牌交换,如下所示: var con

遵循此处概述的代码:

https://github.com/Azure-Samples/active-directory-dotnet-graphapi-console/blob/master/GraphConsoleAppV3/Program.cs#L810
但是,当尝试在上创建应用程序时,使用服务主体进行身份验证将导致权限不足错误

client.Applications.AddApplicationAsync(appObject).Wait();
使用令牌交换,如下所示:

var context = new AuthenticationContext($"https://login.microsoftonline.com/{tenantId}");
var token = context.AcquireToken("https://graph.windows.net", new ClientCredential(clientId, secret));    
var client = new ActiveDirectoryClient(new Uri($"https://graph.windows.net/{tenantId}"),()=>Task.FromResult(token.AccessToken));

要求应用程序已被授予管理员角色,该角色目前似乎只能使用powershell tools for azure AD添加:

并在提示时使用
连接msolservice
和Azure Ad管理员用户登录

  • 连接msolservice
  • 获取MsolServicePrincipal–AppPrincipalId{appId}
  • 添加MsolRoleMember-RoleMemberType服务主体-RoleName'公司管理员'-RoleMemberObjectId}

  • 其中objectID是2命令的输出

    ,感谢您提供此信息。但是,当我尝试执行此操作时,会收到以下错误消息:拒绝访问。您没有调用此cmdlet的权限。你知道怎么解决吗?