列出 transitiveRoleAssignment

命名空间:microsoft.graph

重要

Microsoft Graph 中版本下的 /beta API 可能会更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 在 v1.0 中是否可用,请使用 版本 选择器。

获取特定主体的直接和可传递 的 unifiedRoleAssignment 对象列表。 例如,如果通过组成员身份为用户分配了 Azure AD 角色,则角色分配是可传递的,并且此请求会将组的 ID 列为 principalId。 还可以按 roleDefinitionIddirectoryScopeId 筛选结果。 仅支持 azure AD) 提供程序 (目录。

有关详细信息,请参阅 使用 Azure AD 组管理角色分配

注意

对于最近创建、更新或删除的角色分配,此请求可能存在复制延迟。

权限

调用此 API 需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) RoleManagement.Read.Directory、Directory.Read.All、RoleManagement.ReadWrite.Directory、Directory.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 RoleManagement.Read.Directory、Directory.Read.All、RoleManagement.ReadWrite.Directory、Directory.ReadWrite.All

HTTP 请求

列出目录提供程序的可传递角色分配:

GET /roleManagement/directory/transitiveRoleAssignments?$filter=principalId eq '{principalId}'

可选的查询参数

此方法支持 $count$filter (eq) 和 $select OData 查询参数来帮助自定义响应。 若要了解一般信息,请参阅 OData 查询参数。 可以按 principalIdroleDefinitionIddirectoryScopeId 进行筛选,以检索主体的直接角色分配和可传递角色分配。

请求标头

名称 说明
Authorization 持有者 {token} 必需。
ConsistencyLevel 最终。 此标头 $count、 和 $filter 是必需的。 有关使用 ConsistencyLevel、 和 $filter的详细信息,$count请参阅 Azure AD 目录对象上的高级查询功能

请求正文

请勿提供此方法的请求正文。

响应

如果成功,此方法在响应正文中返回响应 200 OK 代码和 unifiedRoleAssignment 对象的集合。

如果请求不包括设置为 eventualConsistencyLevel 标头,此方法返回404 Not Found响应代码。

示例

对于本部分中的示例,请考虑以下角色分配方案。 名为 Alice 的用户具有直接和可传递角色分配,如下所示:

User Role 范围 角色分配 ID
爱 丽 丝
2c7936bc-3517-40f3-8eda-4806637b6516
用户管理员
fe930be7-5e62-47db-91af-98c3a49a38b1
Tenant RA1
857708a7-b5e0-44f9-bfd7-53531d72a739
G1
ae2fc327-4c71-48ed-b6ca-f48632186510
(Alice 是成员)
用户管理员
fe930be7-5e62-47db-91af-98c3a49a38b1
Tenant RA2
8a021d5f-7351-4713-aab4-b088504d476e
G2
6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8
(Alice 是成员)
帮助台管理员
729827e3-9c14-49f7-bb1b-9608f156bbb8
管理单元 (AU1)
26e79164-0c5c-4281-8c5b-be7bc7809fb2
RA3
6cc86637-13c8-473f-afdc-e0e65c9734d2
  • 使用角色分配 RA1 直接在租户范围内为 Alice 分配用户管理员角色。
  • Alice 是组 G1 的成员,G1 具有角色分配 RA2 的租户范围内的用户管理员角色。
  • Alice 也是组 G2 的成员,G2 在具有角色分配 RA3 的管理单元 AU1 范围内分配了支持人员管理员角色。

示例 1:获取主体的直接和可传递角色分配

请求

下面展示了示例请求。 此请求需要 将 ConsistencyLevel 标头设置为 eventual$count=true$filter 查询参数。 有关使用 ConsistencyLevel、 和 $filter的详细信息,$count请参阅 Azure AD 目录对象上的高级查询功能

GET https://graph.microsoft.com/beta/roleManagement/directory/transitiveRoleAssignments?$count=true&$filter=principalId eq '2c7936bc-3517-40f3-8eda-4806637b6516'
ConsistencyLevel: eventual

响应

下面展示了示例响应。

注意:为了提高可读性,可能缩短了此处显示的响应对象。 所有属性都将通过实际调用返回。

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/transitiveRoleAssignments",
    "value": [
        {
            "id": "857708a7-b5e0-44f9-bfd7-53531d72a739",
            "principalId": "2c7936bc-3517-40f3-8eda-4806637b6516",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        },
        {
            "id": "8a021d5f-7351-4713-aab4-b088504d476e",
            "principalId": "ae2fc327-4c71-48ed-b6ca-f48632186510",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        },
        {
            "id": "6cc86637-13c8-473f-afdc-e0e65c9734d2",
            "principalId": "6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8",
            "directoryScopeId": "/administrativeUnits/26e79164-0c5c-4281-8c5b-be7bc7809fb2",
            "roleDefinitionId": "729827e3-9c14-49f7-bb1b-9608f156bbb8"
        }
    ]
}

示例 2:获取主体的直接和可传递分配,但仅获取特定角色定义

请求

下面展示了示例请求。 此请求需要 将 ConsistencyLevel 标头设置为 eventual$count=true$filter 查询参数。 有关使用 ConsistencyLevel、 和 $filter的详细信息,$count请参阅 Azure AD 目录对象上的高级查询功能

GET https://graph.microsoft.com/beta/roleManagement/directory/transitiveRoleAssignments?$count=true&$filter=principalId eq '2c7936bc-3517-40f3-8eda-4806637b6516' and roleDefinitionId eq 'fe930be7-5e62-47db-91af-98c3a49a38b1'
ConsistencyLevel: eventual

响应

下面展示了示例响应。

注意:为了提高可读性,可能缩短了此处显示的响应对象。 所有属性都将通过实际调用返回。

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/transitiveRoleAssignments",
    "value": [
        {
            "id": "857708a7-b5e0-44f9-bfd7-53531d72a739",
            "principalId": "2c7936bc-3517-40f3-8eda-4806637b6516",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        },
        {
            "id": "8a021d5f-7351-4713-aab4-b088504d476e",
            "principalId": "6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        }
    ]
}

示例 3:获取主体的直接和可传递角色分配,但仅限管理单元范围

请求

下面展示了示例请求。 此请求需要 将 ConsistencyLevel 标头设置为 eventual$count=true$filter 查询参数。 有关使用 ConsistencyLevel、 和 $filter的详细信息,$count请参阅 Azure AD 目录对象上的高级查询功能

GET https://graph.microsoft.com/beta/roleManagement/directory/transitiveRoleAssignments?$count=true&$filter=principalId eq '2c7936bc-3517-40f3-8eda-4806637b6516' and directoryScopeId eq '/administrativeUnits/26e79164-0c5c-4281-8c5b-be7bc7809fb2'
ConsistencyLevel: eventual

响应

下面展示了示例响应。

注意:为了提高可读性,可能缩短了此处显示的响应对象。 所有属性都将通过实际调用返回。

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/transitiveRoleAssignments",
    "value": [
        {
            "id": "6cc86637-13c8-473f-afdc-e0e65c9734d2",
            "principalId": "6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8",
            "directoryScopeId": "/administrativeUnits/26e79164-0c5c-4281-8c5b-be7bc7809fb2",
            "roleDefinitionId": "729827e3-9c14-49f7-bb1b-9608f156bbb8"
        }
    ]
}