You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Graph API修改其他用户密码,是否可使用低于全局管理员的权限?

如何用低于全局管理员的权限通过Graph API修改用户密码?

当然可以!你遇到的问题核心是对Azure AD角色的权限范围不够了解——全局管理员权限确实太大,我们有更精细的角色可以满足修改用户密码的需求,同时遵循最小权限原则。

可行的低权限角色选项

以下几个角色都能让用户通过委托权限的Graph API修改其他用户的密码,无需全局管理员权限:

  • 用户管理员:这是最常用的选项,权限范围涵盖管理普通用户的账号、密码、配置文件等操作,完全满足你的需求。
  • 身份验证管理员:专注于身份验证相关操作,包括重置用户密码、管理MFA设置等,权限比用户管理员更窄。
  • 密码管理员:专门负责密码生命周期管理,只能重置用户密码、设置密码策略,是权限最精细的角色。

关键配置步骤

  1. 分配合适的角色:在Azure AD的「角色和管理员」页面,给需要执行密码修改操作的用户分配上述角色之一。注意角色分配可能需要几分钟才能生效,别着急测试。
  2. 确保应用权限已获管理员同意:你的应用使用的Directory.AccessAsUser.All是高权限委托权限,必须由租户管理员在Azure AD的「企业应用」中对该权限进行管理员同意,否则即使用户有角色,API调用也会返回权限不足的错误。
  3. 验证API调用格式:确保你使用的是正确的Graph API请求(PATCH方法),示例如下:
PATCH https://graph.microsoft.com/v1.0/users/{userPrincipalName}
Content-Type: application/json

{
  "passwordProfile": {
    "password": "YourSecurePassword123!",
    "forceChangePasswordNextSignIn": false
  }
}

注意:如果要求用户下次登录必须修改密码,把forceChangePasswordNextSignIn设为true即可。

常见问题排查

  • 如果还是报错,先检查目标用户是否是受保护的管理员账户(比如其他全局管理员):这类账户的密码修改需要更高权限,普通用户管理员无法操作,但普通用户完全没问题。
  • 确认角色分配的范围:如果你的角色分配设置了特定的用户组或OU范围,要确保目标用户在这个范围内。

这样配置后,你就能用远低于全局管理员的权限实现用户密码修改了。

内容的提问来源于stack exchange,提问作者Morio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 12:22:47