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

使用服务主体调用New-MgBetaPrivilegedAccessRoleAssignmentRequest遇403错误求助

解决PIM角色分配请求403禁止错误(服务主体)

问题重现

使用PowerShell通过服务主体(Connect-MgGraph -AccessToken $token)连接MS Graph API时,Get-MgBetaPrivilegedAccessResource等简单请求可正常执行,但调用New-MgBetaPrivilegedAccessRoleAssignmentRequest返回403禁止错误:

Status Code: Forbidden
Body:
{
'error': {
'code': 'UnauthorizedAccessException',
'message': 'Attempted to perform an unauthorized operation.',
'innerError': {
'date': '2024-01-26T17:21:09',
'request-id': '96d7652f-4f3e-464b-93c3-699152633546',
'client-request-id': '556a7966-3082-4e9c-ac5a-e12f017f098e'
}
}
}
服务主体已拥有订阅的User Access Admin权限及多项API权限,但相同权限的个人账号执行该命令可成功。

解决方案

  • 添加PIM管理员角色:User Access Admin是订阅级权限,但PIM操作需要服务主体在Azure AD PIM中拥有Privileged Role Administrator或Global Administrator角色。在Azure门户的Azure AD Privileged Identity Management中,进入「Azure AD角色」>「角色分配」,给服务主体添加该角色的永久/合格分配。
  • 验证Graph API应用权限:确保服务主体的Graph API权限为应用权限(而非委托权限),且包含PrivilegedAccess.ReadWrite.AzureAD或PrivilegedAccess.ReadWrite.AzureResources(根据操作的是Azure AD角色还是Azure资源角色),并完成管理员同意。
  • 检查订阅PIM资源设置:在PIM中进入「Azure资源」>目标订阅>「设置」>「角色设置」,确认目标角色的「分配权限」允许服务主体发起角色分配请求。
  • 确认令牌权限范围:执行Get-MgContext查看当前令牌权限,确保包含所需的PIM权限。若缺失,重新获取令牌时指定scope为https://graph.microsoft.com/.default。
  • 尝试GA版本API:Beta API对服务主体可能存在额外限制,若GA版本已支持该操作,切换使用New-MgPrivilegedAccessRoleAssignmentRequest。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 04:33:32