使用服务主体创建Azure AD应用程序时,没有足够的权限来完成操作

时间:2016-01-20 21:54:12

标签: azure azure-ad-graph-api

遵循此处列出的代码:

https://github.com/Azure-Samples/active-directory-dotnet-graphapi-console/blob/master/GraphConsoleAppV3/Program.cs#L810

但是在使用服务主体进行身份验证时,尝试在

上创建应用程序时会出现Insufficient Privileges错误
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));

1 个答案:

答案 0 :(得分:4)

要求应用程序获得管理员角色,该角色目前似乎只能使用PowerSure工具添加到azure AD:https://msdn.microsoft.com/library/azure/jj151815.aspx#bkmk_installmodule

并使用connect-msolservice并在出现提示时使用Azure Ad Administrator用户登录。

  1. connect-msolservice
  2. Get-MsolServicePrincipal –AppPrincipalId {appId}
  3. Add-MsolRoleMember -RoleMemberType ServicePrincipal -RoleName 'Company Administrator' -RoleMemberObjectId {objectID}
  4. 其中objectID是2命令的输出