使用 REST API 列出 Azure 角色分配
Azure 基于角色的访问控制 (Azure RBAC) 是用于管理 Azure 资源访问权限的授权系统。 若要确定用户、组、服务主体或托管标识有权访问的资源,请列出其角色分配。 本文介绍如何使用 REST API 列出角色分配。
注意
如果你的组织已将管理功能外包给使用 Azure Lighthouse 的服务提供商,则此处将不会显示该服务提供商授权的角色分配。 同样,无论已分配有什么角色,服务提供商租户中的用户都不会看到用户在客户租户中的角色分配。
注意
有关查看或删除个人数据的信息,请参阅 GDPR 的 Azure 数据使用者请求。 有关 GDPR 的详细信息,请参阅 Microsoft 信任中心的 GDPR 部分和服务信任门户的 GDPR 部分。
先决条件
必须使用以下版本:
2015-07-01
或更高版本2022-04-01
或更高版本以包含条件
有关详细信息,请参阅 Azure RBAC REST API 的 API 版本。
列出角色分配
在 Azure RBAC 中,若要列出访问权限,请列出角色分配。 若要列出角色分配,可以使用其中一个角色分配 Get 或 List REST API。 若要优化结果,请指定一个范围和可选的筛选器。
从下面的请求开始:
GET https://management.chinacloudapi.cn/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter={filter}
在 URI 中,将“{scope}”替换为要列出角色分配的范围。
作用域 类型 providers/Microsoft.Management/managementGroups/{groupId1}
管理组 subscriptions/{subscriptionId1}
订阅 subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1
资源组 subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
资源 在前面的示例中,microsoft.web 是引用应用服务实例的资源提供程序。 同样,可以使用任何其他资源提供程序并指定范围。 有关详细信息,请参阅 Azure 资源提供程序和类型和支持的 Azure 资源提供程序操作。
将“{filter}”替换为筛选角色分配列表时要应用的条件。
筛选器 说明 $filter=atScope()
只列出指定范围内的角色分配,而不包括子范围内的角色分配。 $filter=assignedTo('{objectId}')
列出指定用户或服务主体的角色分配。
如果用户是具有角色分配的组的成员,则该角色分配也会列出。 此筛选器对于组是可传递的,这意味着如果用户是组的成员,并且该组是具有角色分配的另一个组的成员,则该角色分配也会列出。
此筛选器仅接受用户或服务主体的对象 ID。 不能传递组的对象 ID。$filter=atScope()+and+assignedTo('{objectId}')
列出指定范围内指定用户或服务主体的角色分配。 $filter=principalId+eq+'{objectId}'
列出指定用户、组或服务主体的角色分配。
以下请求列出订阅范围中指定用户的所有角色分配:
GET https://management.chinacloudapi.cn/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=atScope()+and+assignedTo('{objectId1}')
下面显示了输出示例:
{
"value": [
{
"properties": {
"roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
"principalId": "{objectId1}",
"principalType": "User",
"scope": "/subscriptions/{subscriptionId1}",
"condition": null,
"conditionVersion": null,
"createdOn": "2022-01-15T21:08:45.4904312Z",
"updatedOn": "2022-01-15T21:08:45.4904312Z",
"createdBy": "{createdByObjectId1}",
"updatedBy": "{updatedByObjectId1}",
"delegatedManagedIdentityResourceId": null,
"description": null
},
"id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}",
"type": "Microsoft.Authorization/roleAssignments",
"name": "{roleAssignmentId1}"
}
]
}