在不同的范围分配 Microsoft Entra 角色
在 Microsoft Entra ID 中,角色通常分配适用于整个租户。 但是,还可以为不同的资源(例如管理单元或应用程序注册)分配 Microsoft Entra 角色。 例如,可以分配支持管理员角色,使之仅应用于特定的管理单元,而不是整个租户。 角色分配适用的资源也称为范围。 本文介绍如何在租户范围、管理单元范围和应用程序注册范围分配 Microsoft Entra 角色。 有关范围的详细信息,请参阅 Microsoft Entra ID 中基于角色的访问控制 (RBAC) 概述。
先决条件
- 特权角色管理员。
- 使用 PowerShell 时安装的 Microsoft Graph PowerShell SDK。
有关详细信息,请参阅使用 PowerShell 的先决条件。
分配以租户为作用域的角色
本部分介绍如何在租户作用域分配角色。
Microsoft Entra 管理中心
提示
本文中的步骤可能因开始使用的门户而略有不同。
至少以特权角色管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“角色和管理员”>“角色和管理员”。
选择一个角色,查看其分配情况。 为帮助查找所需角色,请使用“添加筛选器”来筛选角色。
选择“添加分配”,然后选择要分配给此角色的用户。
选择“添加”以分配角色。
PowerShell
执行以下步骤以使用 PowerShell 分配 Microsoft Entra 角色。
打开 PowerShell 窗口。 如有必要,使用 Install-Module 安装 Microsoft Graph PowerShell。 有关详细信息,请参阅使用 PowerShell 的先决条件。
Install-Module Microsoft.Graph -Scope CurrentUser
在 PowerShell 窗口中,使用 Connect-MgGraph 登录到你的租户。
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
使用 Get-MgUser 获取用户。
$user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
使用 Get-MgRoleManagementDirectoryRoleDefinition 获取要分配的角色。
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "displayName eq 'Billing Administrator'"
将租户设置为角色分配的作用域。
$directoryScope = '/'
使用 New-MgRoleManagementDirectoryRoleAssignment 分配角色。
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment ` -DirectoryScopeId $directoryScope -PrincipalId $user.Id ` -RoleDefinitionId $roleDefinition.Id
分配以管理单元为作用域的角色
本部分介绍如何在管理单元范围分配角色。
Microsoft Entra 管理中心
至少以特权角色管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“角色和管理员”>“管理单元”。
选择管理单元。
从左侧导航菜单中选择“角色和管理员”,查看可用于通过管理单元分配的所有角色的列表。
选择所需的角色。
选择“添加分配”,然后选择要向其分配此角色的用户或组。
选择“添加”分配以管理单元为作用域的角色。
注意
你不会在此处看到 Microsoft Entra 内置或自定义角色的完整列表。 这是正常情况。 我们将显示具有与管理单元内支持的对象相关的权限的角色。 若要查看管理单元内支持的对象列表,请参阅 Microsoft Entra ID 中的管理单元。
PowerShell
执行以下步骤,使用 PowerShell 在管理单元作用域分配 Microsoft Entra 角色。
打开 PowerShell 窗口。 如有必要,使用 Install-Module 安装 Microsoft Graph PowerShell。 有关详细信息,请参阅使用 PowerShell 的先决条件。
Install-Module Microsoft.Graph -Scope CurrentUser
在 PowerShell 窗口中,使用 Connect-MgGraph 登录到你的租户。
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "Directory.Read.All","RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
使用 Get-MgUser 获取用户。
$user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
使用 Get-MgRoleManagementDirectoryRoleDefinition 获取要分配的角色。
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition ` -Filter "displayName eq 'User Administrator'"
使用 Get-MgDirectoryAdministrativeUnit 获取要将角色分配的作用域限定到的管理单元。
$adminUnit = Get-MgDirectoryAdministrativeUnit -Filter "displayName eq 'Seattle Admin Unit'" $directoryScope = '/administrativeUnits/' + $adminUnit.Id
使用 New-MgRoleManagementDirectoryRoleAssignment 分配角色。
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment ` -DirectoryScopeId $directoryScope -PrincipalId $user.Id ` -RoleDefinitionId $roleDefinition.Id
分配以应用注册为作用域的角色
本部分介绍如何在应用程序注册范围分配角色。
Microsoft Entra 管理中心
至少以特权角色管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“应用程序”>“应用注册”。
选择应用程序。 可以使用“搜索”框查找所需的应用。
从左侧导航菜单中选择“角色和管理员”,查看可用于通过应用注册分配的所有角色的列表。
选择所需的角色。
选择“添加分配”,然后选择要向其分配此角色的用户或组。
选择“添加”分配以应用注册为作用域的角色。
注意
你不会在此处看到 Microsoft Entra 内置或自定义角色的完整列表。 这是正常情况。 我们将显示仅具有与管理应用注册相关的权限的角色。
PowerShell
执行以下步骤,使用 PowerShell 在应用程序作用域分配 Microsoft Entra 角色。
打开 PowerShell 窗口。 如有必要,使用 Install-Module 安装 Microsoft Graph PowerShell。 有关详细信息,请参阅使用 PowerShell 的先决条件。
Install-Module Microsoft.Graph -Scope CurrentUser
在 PowerShell 窗口中,使用 Connect-MgGraph 登录到你的租户。
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "Application.Read.All","RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
使用 Get-MgUser 获取用户。
$user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
使用 Get-MgRoleManagementDirectoryRoleDefinition 获取要分配的角色。
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition ` -Filter "displayName eq 'Application Administrator'"
使用 Get-MgApplication 获取要将角色分配的作用域限定到的应用注册。
$appRegistration = Get-MgApplication -Filter "displayName eq 'f/128 Filter Photos'" $directoryScope = '/' + $appRegistration.Id
使用 New-MgRoleManagementDirectoryRoleAssignment 分配角色。
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment ` -DirectoryScopeId $directoryScope -PrincipalId $user.Id ` -RoleDefinitionId $roleDefinition.Id