如何通过Graph API获取全局管理员角色的合格角色分配?
获取Azure AD PIM合格角色分配的方法
要查看哪些用户具备特定角色的PIM激活权限(即合格角色分配),需要使用Microsoft Graph的privilegedAccess/aadroles相关端点,而非之前获取活跃角色的directoryRoles端点。以下是具体实现代码:
# 目标角色ID(示例为全局管理员角色ID) $roleId = "62e90394-69f5-4237-9190-012177145e10" # 构建Graph API请求URI,筛选指定角色的合格分配 $uri = "https://graph.microsoft.com/v1.0/privilegedAccess/aadroles/roleEligibilityScheduleInstances?`$filter=roleDefinitionId eq '$roleId'" # 发送请求获取合格角色分配 $eligibleAssignments = Invoke-RestMethod -Uri $Uri -Headers $Header -Method Get -ContentType "application/json" # 提取并显示用户信息 $eligibleAssignments.value | Select-Object ` @{Name='用户名'; Expression={$_.principal.displayName}}, ` @{Name='用户ID'; Expression={$_.principal.id}}, ` @{Name='角色ID'; Expression={$_.roleDefinitionId}}, ` assignmentType, startDateTime, endDateTime
说明:
roleEligibilityScheduleInstances端点返回当前有效的合格角色分配实例,包含直接分配给用户或通过安全组间接分配的记录。- 所需权限:调用该端点需要PrivilegedAccess.Read.AzureAD权限(委派权限需用户拥有PIM管理员、全局管理员等角色;应用权限需提前配置)。
- 可根据需求扩展筛选条件,比如添加
principalType eq 'User'来只返回用户分配,排除组分配。
内容的提问来源于stack exchange,提问作者RogueIT
相关产品推荐
相关产品推荐

