Azure自动化账户Connect-MGGraph调用Get-MgUser权限不足问题
问题描述
我创建了一个Azure自动化账户,分配了Contributor角色(用于从HR系统更新Entra ID),并启用了系统托管标识。执行Connect-MGGraph -Identity可成功连接,但运行get-mguser时提示权限不足:
System.Exception: [Authorization_RequestDenied] : Insufficient privileges to complete the operation.
解决方案
需要为系统托管标识额外配置Microsoft Graph权限,具体说明和步骤如下:
- Azure的Contributor角色属于Azure RBAC权限,仅管控Azure资源的操作,无法访问Microsoft Graph(Entra ID相关API属于Microsoft Graph范畴),因此必须单独为托管标识分配Graph权限。
配置步骤:
- 打开Azure门户,进入你的自动化账户,在左侧菜单标识的系统分配标签下,复制该标识的对象ID。
- 进入Entra ID控制台,依次点击应用注册 > 所有应用程序,通过对象ID搜索找到对应的系统托管标识应用。
- 进入该应用的API权限页面,点击添加权限,选择Microsoft Graph > 应用权限。
- 根据业务需求添加对应权限:
- 仅读取用户:添加
User.Read.All; - 需要更新用户:添加
User.ReadWrite.All;
注意:必须选择「应用权限」而非「委托权限」,因为托管标识是后台运行的服务身份,无交互式用户。
- 仅读取用户:添加
- 点击授予管理员同意(需Entra ID全局管理员或权限管理员权限)。
- 等待权限生效后,重新执行
get-mguser即可正常运行。
内容的提问来源于stack exchange,提问作者Robin Curtis
相关产品推荐
相关产品推荐

