如何解决 Azure Active Directory Graph API 无法删除用户

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:Microsoft Azure网络

小提示:您能找到这篇{如何解决 Azure Active Directory Graph API 无法删除用户}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的如何解决 Azure Active Directory Graph API 无法删除用户内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">问题描述

< ">Azure Active Directory(AD)Graph API推广怎样通过OData REST API终结点提供对Azure AD的编程访问权限。应用程序可以使用Azure AD Graph API对目录数据和对象执行创建、读取、更新和删除(CRUD)操作。例如,可以使用Azure AD Graph API创建新用户、查看或更新用户的属性、更改用户的密码、检查基于角色的访问的组成员身份、禁用或删除用户。

< ">然而用户在使用Azure AD Graph API时出现以下状况:

< ">用户赋予了Graph API:Read and write directory data权限(即:Directory.ReadWrite.All):



< ">发现可以创建、读取以及更新用户和组的信息,但是在进行删除用户或组的操作时却出现权限不足(403)的情况:Insufficient privileges to complete the operation.

< ">问题分析

< ">参考官方文档Microsoft Graph目录权限,可以发现在Directory.ReadWrite.All的权限说明中明确指出了不允许应用删除用户或组,或重置用户密码的操作:

< ">解决方法

< ">目前有两种方法可以解决Graph API删除用户或组权限不足的情况:

< ">方法一:将应用程序添加至全局管理员/公司管理员角色(此方法步骤比较繁琐但是对您的应用程序类型没有限制)

< ">方法二:为Microsoft Graph添加:Access directory as the signed-in user(即:Directory.AccessAsUser.All)权限(此方法步骤比较简单,可以直接在Azure门户上进行操作,但是只适用于应用程序类型为本机的应用程序)

< ">方法一:将应用程序添加至全局管理员/公司管理员角色

< ">关于全局管理员/公司管理员角色说明参考官方文档Azure Active Directory可用的角色:

< ">备注

< ">全局管理员/公司管理员:与此角色的用户有权访问Azure Active Directory,以及对Exchange Online、SharePoint Online和Skype for Business Online等Azure Active Directory联合的服务中的所有管理功能。注册Azure Active Directory租户的人员将成为全局管理员。只有全局管理员才能分配其他管理员角色。公司中可以有多个全创业宣传海报局管理员。全局管理员可以为任何用户和所有其他管理员重置密码。在Microsoft Graph API、Azure AD Graph API和Azure AD PowerShell中,此角色标识为“公司管理员”。在Azure门户中则为“全局管理员”。

< ">由于目前还不可以在Azure门户上进行该操作,所以我们需要使用Azure ActiveDirectory PowerShell模块(MSOnline),具体操作步骤如下:

< ">1.安装MSOnline PowerShell for Azure Active Directory。

< ">2.使用以下命令将应用程序添加至全局管理员/公司管理员角色:

< ">PowerShell

< ">#authenticate to your tenant with your Administrator Account

< ">Connect-MsolService-AzureEnvironment AzureChinaCloud



< ">#Then we need to get the Object ID of both the Service Principal we want to elevate,and the Company Administrator Role for your tenant.

< ">#Search for Service Principal by App ID GUID:

< ">$sp=Get-MsolServicePrincipal-AppPrincipalId&lt;App ID GUID&gt;

< ">#Search for Directory Role by Name

< ">$role=Get-MsolRole-RoleName"Company Administrator"

< ">#Now we can use the Add-MsolRoleMember command to add this role to the service principal.

< ">Add-MsolRoleMember-RoleObjectId$role.ObjectId-RoleMemberType ServicePrincipal-RoleMemberObjectId$sp.ObjectId

< ">#To check everything is working,lets get back all the members of the Company Administrator role:

< ">#You should see your application in that list,where RoleMemberType is ServicePrincipal and DisplayName is the name of your application.

< ">Get-MsolRoleMember-RoleObjectId$role.ObjectId

< ">通过以上步骤就可以将您的应用添加到全局管理员/公司管理员角色了,此时您的应用程序就获得了全局管理员的所有权限,再通过Graph API就可以完成用户或组的删除操作了:

< ">Connection returned HTTP code:204 with message:No Content

< ">方法二:为Microsoft Graph添加:Access directory as the signed-in user(即:Directory.AccessAsUser.All)权限

< ">具体操作步骤如下:

< ">1.使用全局管理员身份的用户登录Azure门户。

< ">2.选择您的应用程序:Azure Active Directory->应用注册-><您的应用程序>。

< ">3.为您的应用程序添加Access directory as 河南省舆情the signed in user权限:

< ">完成以上操作后,您就可以使用Graph API进行用户或组的删除操作了。

如何解决 Azure Active Directory Graph API 无法删除用户

上一篇:亚马逊站外引流工具“大网红”——Twitter
下一篇:2021年shopify独立站怎么做?


版权声明:以上主题为“如何解决 Azure Active Directory Graph API 无法删除用户"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    如何解决 Azure Active Directory Graph API 无法删除用户
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“如何解决 Azure Active Directory Graph API 无法删除用户”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通如何解决 Azure Active Directory Graph API 无法删除用户的相关事宜。

关键词:如何解决,Azure,Active,Direc

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号