Microsoft Azure:为普通用户分配Microsoft Graph权限失败问题咨询
问题解答
1. 能否为普通用户通过appRoleAssignedTo分配Microsoft Graph应用权限?
不能。appRoleAssignedTo端点仅用于给**服务主体(应用身份)**分配应用权限,应用权限本身是专为服务主体设计的,不适用于普通用户账号。
2. 普通用户能否拥有Microsoft Graph应用权限?
不能。Microsoft Graph的权限分为两类:
- 应用权限:仅服务主体(如后台守护程序、无人值守服务)可使用,权限覆盖整个租户,需全局管理员或权限管理员分配,无需用户登录即可运行。
- 委托权限:适用于用户通过应用操作的场景,应用以用户身份执行动作,权限范围受限于用户自身的目录权限,可由用户或管理员同意授权。
普通用户只能使用委托权限,无法拥有应用权限。
3. 如何让普通用户执行目标操作?
如果想让用户完成类似「为其他用户分配角色」的操作,正确路径是:
- 给用户分配对应的目录角色:比如「角色管理员」或「全局管理员」,这才是控制用户自身操作权限的核心。
- 若通过应用操作,需为应用配置委托权限
RoleManagement.ReadWrite.Directory,用户登录应用后,应用将以该用户身份执行操作,权限范围受限于用户的目录角色。
4. 你的尝试失败的原因
你遇到的Insufficient privileges to complete the operation错误源于两点:
- 错误地给用户分配了应用权限
RoleManagement.ReadWrite.Directory,该权限仅对服务主体生效,对用户账号无意义。 - 即使使用委托权限,若用户本身没有对应的目录角色(如角色管理员),即便获取到令牌,也没有足够权限执行角色分配操作。
内容的提问来源于stack exchange,提问作者adrians
相关产品推荐
相关产品推荐

