列出 Microsoft Entra 角色分配

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

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

先决条件

  • 使用 PowerShell 时的 Microsoft Graph PowerShell 模块
  • 将 Graph 浏览器用于 Microsoft Graph API 时需要管理员同意

有关详细信息,请参阅使用 PowerShell 或 Graph 浏览器的先决条件

Microsoft Entra 管理中心

提示

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

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

  1. 登录 Microsoft Entra 管理中心

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

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

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

    从列表中打开角色时,列出角色分配和权限

列出我的角色分配

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

列出我的角色分配

下载角色分配

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

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

  2. 选择“下载分配”。

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

    显示下载所有角色分配的屏幕截图。

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

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

  2. 选择“下载分配”。

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

    显示下载特定角色的所有分配的屏幕截图。

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

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

  1. 登录到 Microsoft Entra 管理中心

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

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

    在“应用注册”页中创建或编辑应用注册

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

    通过“应用注册”页列出应用注册角色分配

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

    通过应用注册的属性列出应用注册角色分配

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 aaaaaaaa-bbbb-cccc-1111-222222222222 62e90394-69f5-4237-9190-012177145e10 /
lAPpYvVpN0KRkAEhdxReEMdXLf2tIs1ClhpzQPsutrQ-1 bbbbbbbb-cccc-dddd-2222-333333333333 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 aaaaaaaa-bbbb-cccc-1111-222222222222 62e90394-69f5-4237-9190-012177145e10 /
lAPpYvVpN0KRkAEhdxReEMdXLf2tIs1ClhpzQPsutrQ-1 bbbbbbbb-cccc-dddd-2222-333333333333 62e90394-69f5-4237-9190-012177145e10 /
4-PYiFWPHkqVOpuYmLiHa3ibEcXLJYtFq5x3Kkj2TkA-1 cccccccc-dddd-eeee-3333-444444444444 88d8e3e3-8f55-4a1e-953a-9b9898b8876b /
4-PYiFWPHkqVOpuYmLiHa2hXf3b8iY5KsVFjHNXFN4c-1 dddddddd-eeee-ffff-4444-555555555555 88d8e3e3-8f55-4a1e-953a-9b9898b8876b /
BSub0kaAukSHWB4mGC_PModww03rMgNOkpK77ePhDnI-1 eeeeeeee-ffff-aaaa-5555-666666666666 d29b2b05-8046-44ba-8758-1e26182fcf32 /
BSub0kaAukSHWB4mGC_PMgzOWSgXj8FHusA4iaaTyaI-1 ffffffff-aaaa-bbbb-6666-777777777777 d29b2b05-8046-44ba-8758-1e26182fcf32 /

Microsoft Graph API

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

使用 List unifiedRoleAssignments API 获取特定角色定义的角色分配。 以下示例演示如何列出 ID 为 00000000-0000-0000-0000-000000000000 的特定角色定义的角色分配。

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

响应

HTTP/1.1 200 OK
{
    "id": "C2dE3fH4iJ5kL6mN7oP8qR9sT0uV1wIiSDKQoTVJrLE9etXyrY0-1",
    "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
    "roleDefinitionId": "00000000-0000-0000-0000-000000000000",
    "directoryScopeId": "/"
}

后续步骤