当您尝试更改密码,如果您使用图形 API 的"Authorization_RequestDenied"错误消息

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3004133
问题
如果您尝试更改 Microsoft Azure 活动目录 (AD Azure) 用户的密码和组织角色为该用户设置为"管理员"选项,该过程失败,将生成以下错误消息:

{"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient 权限来完成该操作。"}}}

读取和写入目录数据权限授予您的应用程序或应用程序服务主体,则启用应用程序来更改密码的典型 Azure AD 用户通过使用图形 API。此设置下面的屏幕快照所示。
权限屏幕
可将委派 Azure AD 用户作为管理员更改该用户的组织角色设置,如下面的屏幕快照中所示。
屏幕角色
原因
因为有的组织"管理员"角色的用户不是"公司管理员"或"用户帐户管理员"在 Office 365 管理角色中的成员,将出现此问题。
本地
若要解决此问题,请在 Office 365 管理角色中添加应用程序与"公司管理员"。若要执行此操作,运行所有以下 Azure AD 模块 Windows PowerShell (MSOL) 命令 的:

   #-----------------------------------------------------------   # This will prompt you for your tenant's credential   # You should be able to use your your Azure AD administrative user name   # (in the admin@tenant.onmicrosoft.com format)   #-----------------------------------------------------------   Connect-MsolService       #-----------------------------------------------------------   # Replace the Application Name with the name of your    # Application Service Principal   #-----------------------------------------------------------   $displayName = "Application Name"   $objectId = (Get-MsolServicePrincipal -SearchString $displayName).ObjectId       #-----------------------------------------------------------   # This will add your Application Service Prinicpal to    # the Company Administrator role   #-----------------------------------------------------------   $roleName = "Company Administrator"                 Add-MsolRoleMember -RoleName $roleName -RoleMemberType ServicePrincipal -RoleMemberObjectId $objectId
而且,必须在 Office 365 管理角色中添加应用程序与"用户帐户管理员"如果 Azure AD 用户具有任何下列组织"管理员"角色:
  • 全局管理员
  • 记帐管理员
  • 服务管理员

要这样做,请运行以下 MSOL cmdlet:

   #-----------------------------------------------------------   # This will prompt you for your tenant's credential   # You should be able to use your your Azure AD administrative user name   # (in the admin@tenant.onmicrosoft.com format)   #-----------------------------------------------------------   Connect-MsolService      #-----------------------------------------------------------   # Replace the Application Name with the name of your    # Application Service Principal   #-----------------------------------------------------------   $displayName = "Application Name"   $objectId = (Get-MsolServicePrincipal -SearchString $displayName).ObjectId      #-----------------------------------------------------------   # This will add your Application Service Principal to    # the Company Administrator role   #-----------------------------------------------------------   $roleName = "User Account Administrator"     Add-MsolRoleMember -RoleName $roleName -RoleMemberType ServicePrincipal -RoleMemberObjectId $objectId
运行的 命令 两组后,您的应用程序将能够更改组织的所有"管理员"角色的密码。

注意:它可以最多 30 分钟后到 Office 365 管理角色添加权限要应用到应用程序服务主体的权限。
详细信息
有关如何通过使用图形 API 重置用户密码的详细信息,请参阅下面的 Microsoft Azure 网站:

仍需要帮助?请转到 Office 365 社区 网站或 Azure 的 活动目录(AD) 论坛 网站。

属性

文章 ID:3004133 - 上次审阅时间:11/13/2015 02:10:00 - 修订版本: 3.0

Microsoft Office 365, Microsoft Azure Active Directory

  • o365022013 o365 o365e o365m o365a kbgraphxlink kbmt KB3004133 KbMtzh
反馈