列出 Microsoft Entra 角色分配

本文介绍如何列出在 Microsoft Entra ID 中分配的角色。 在 Microsoft Entra ID 中,可以在组织范围内分配角色,也可以在单应用程序范围内分配角色。

  • 组织范围的角色分配会添加到单应用程序角色分配列表中,并可在其中查看它们。
  • 单应用程序范围的角色分配不会添加到组织范围的分配列表中,也不能在其中查看它们。

先决条件

  • 使用 PowerShell 时的 Microsoft Graph PowerShell 模块

有关详细信息,请参阅使用 PowerShell 的先决条件

Microsoft Entra 管理中心

提示

本文中的步骤可能因开始使用的门户而略有不同。

此过程介绍如何列出组织范围的角色分配。

  1. 登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“角色和管理员”>“角色和管理员”

  3. 选择角色以打开并查看其属性。

  4. 选择“分配”以列出角色分配。

    List role assignments and permissions when you open a role from the list

列出我的角色分配

你也可轻松列出自己的权限。 在“角色和管理员”页上选择“你的角色”,可查看当前分配给你的角色。

List my role assignments

下载角色分配

若要跨所有角色(包括内置角色和自定义角色)下载所有活动角色分配,请按照这些步骤(当前为预览版)操作。

  1. 在“角色和管理员”页上,选择“所有角色”。

  2. 选择“下载分配”。

    将会下载一个 CSV 文件,其中列出了所有角色的所有范围内的分配。

    Screenshot showing download all role assignments.

若要下载特定角色的所有分配,请执行以下步骤。

  1. 在“角色和管理员”页上,选择一个角色。

  2. 选择“下载分配”。

    将会下载一个 CSV 文件,其中列出了该角色的所有范围内的分配。

    Screenshot showing download all assignments for a specific role.

列出单一应用程序范围的角色分配

此部分介绍如何列出单一应用程序范围的角色分配。 此功能目前处于公开预览状态。

  1. 登录 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“应用注册”。

  3. 选择应用注册以查看其属性。 可能需要选择“所有应用程序”才能查看 Microsoft Entra 组织中应用注册的完整列表。

    Create or edit app registrations from the App registrations page

  4. 在应用注册中,选择“角色和管理员”,然后选择一个角色,以查看其属性。

    List app registration role assignments from the App registrations page

  5. 选择“分配”以列出角色分配。 如果在应用注册中打开分配页,会显示范围设为此 Microsoft Entra 资源的角色分配。

    List app registration role assignments from the properties of an app registration

PowerShell

此部分介绍如何查看组织范围的角色分配。 本文使用 Microsoft Graph PowerShell 模块。 若要使用 PowerShell 查看单应用程序范围的分配,可以使用通过 PowerShell 分配自定义角色中的 cmdlet。

使用 Get-MgRoleManagementDirectoryRoleDefinitionGet-MgRoleManagementDirectoryRoleAssignment 命令列出角色分配。

以下示例演示如何列出组管理员角色的角色分配。

# Fetch list of all directory roles with template ID
Get-MgRoleManagementDirectoryRoleDefinition

# Fetch a specific directory role by ID
$role = Get-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId fdd7a751-b60b-444a-984c-02652fe8fa1c

# Fetch membership for a role
Get-MgRoleManagementDirectoryRoleAssignment -Filter "roleDefinitionId eq '$($role.Id)'"
Id                                            PrincipalId                          RoleDefinitionId                     DirectoryScopeId AppScop
                                                                                                                                         eId
--                                            -----------                          ----------------                     ---------------- -------
lAPpYvVpN0KRkAEhdxReEH2Fs3EjKm1BvSKkcYVN2to-1 71b3857d-2a23-416d-bd22-a471854ddada 62e90394-69f5-4237-9190-012177145e10 /
lAPpYvVpN0KRkAEhdxReEMdXLf2tIs1ClhpzQPsutrQ-1 fd2d57c7-22ad-42cd-961a-7340fb2eb6b4 62e90394-69f5-4237-9190-012177145e10 /

以下示例演示如何列出所有角色(包括当前为预览版的内置角色和自定义角色)的所有活动角色分配。

$roles = Get-MgRoleManagementDirectoryRoleDefinition
foreach ($role in $roles)
{
  Get-MgRoleManagementDirectoryRoleAssignment -Filter "roleDefinitionId eq '$($role.Id)'"
}
Id                                            PrincipalId                          RoleDefinitionId                     DirectoryScopeId AppScop
                                                                                                                                         eId
--                                            -----------                          ----------------                     ---------------- -------
lAPpYvVpN0KRkAEhdxReEH2Fs3EjKm1BvSKkcYVN2to-1 71b3857d-2a23-416d-bd22-a471854ddada 62e90394-69f5-4237-9190-012177145e10 /
lAPpYvVpN0KRkAEhdxReEMdXLf2tIs1ClhpzQPsutrQ-1 fd2d57c7-22ad-42cd-961a-7340fb2eb6b4 62e90394-69f5-4237-9190-012177145e10 /
4-PYiFWPHkqVOpuYmLiHa3ibEcXLJYtFq5x3Kkj2TkA-1 c5119b78-25cb-458b-ab9c-772a48f64e40 88d8e3e3-8f55-4a1e-953a-9b9898b8876b /
4-PYiFWPHkqVOpuYmLiHa2hXf3b8iY5KsVFjHNXFN4c-1 767f5768-89fc-4a8e-b151-631cd5c53787 88d8e3e3-8f55-4a1e-953a-9b9898b8876b /
BSub0kaAukSHWB4mGC_PModww03rMgNOkpK77ePhDnI-1 4dc37087-32eb-4e03-9292-bbede3e10e72 d29b2b05-8046-44ba-8758-1e26182fcf32 /
BSub0kaAukSHWB4mGC_PMgzOWSgXj8FHusA4iaaTyaI-1 2859ce0c-8f17-47c1-bac0-3889a693c9a2 d29b2b05-8046-44ba-8758-1e26182fcf32 /

Microsoft Graph API

此部分介绍如何列出组织范围的角色分配。 若要使用 Graph API 列出单一应用程序范围的角色分配,可以使用通过 Graph API 分配自定义角色中的操作。

使用 List unifiedRoleAssignments API 获取特定角色定义的角色分配。 以下示例演示如何列出 ID 为 3671d40a-1aac-426c-a0c1-a3821ebd8218 的特定角色定义的角色分配。

GET https://microsoftgraph.chinacloudapi.cn/v1.0/roleManagement/directory/roleAssignments?$filter=roleDefinitionId eq ‘<template-id-of-role-definition>’

响应

HTTP/1.1 200 OK
{
    "id": "CtRxNqwabEKgwaOCHr2CGJIiSDKQoTVJrLE9etXyrY0-1",
    "principalId": "ab2e1023-bddc-4038-9ac1-ad4843e7e539",
    "roleDefinitionId": "3671d40a-1aac-426c-a0c1-a3821ebd8218",
    "directoryScopeId": "/"
}

后续步骤