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

如何通过PowerShell/CLI/REST API获取服务主体的RBAC角色列表

获取服务主体的Azure RBAC角色分配列表

你需要的是查询服务主体在Azure资源上被分配的RBAC角色(而非MS Graph的应用角色分配),以下是几种现成的实现方式:

PowerShell

使用Get-AzRoleAssignment命令直接查询:

# 通过服务主体对象ID获取所有角色分配
Get-AzRoleAssignment -ObjectId "00063ffc-54e9-405d-b8f3-56124728e051"

# 若知道服务主体名称,也可以用名称查询
Get-AzRoleAssignment -ServicePrincipalName "你的服务主体名称"

返回结果包含该服务主体所有Azure资源级别的角色分配,可根据需求筛选与user_impersonation相关的角色(例如角色名称含"User"的条目)。

Azure CLI

使用az role assignment list命令:

# 通过服务主体对象ID查询
az role assignment list --assignee "00063ffc-54e9-405d-b8f3-56124728e051"

# 筛选包含用户访问相关的角色(示例)
az role assignment list --assignee "00063ffc-54e9-405d-b8f3-56124728e051" --query "[?contains(roleDefinitionName, 'User')]"

REST API

调用Azure Resource Manager的角色分配查询API:

GET https://management.azure.com/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId eq '00063ffc-54e9-405d-b8f3-56124728e051'

请求需携带Azure AD生成的Bearer Token授权,返回结果中可通过roleDefinitionId关联到具体的角色名称与权限详情。

注:你之前使用的MS Graph appRoleAssignedTo接口,是用于查询应用程序之间的角色分配(比如App A给App B分配的应用内角色),和Azure资源的RBAC角色分配不是同一范畴,因此不适用你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:40:42