向用户分配 Azure AD 角色

若要为 Azure Active Directory (Azure AD) 中的用户授予访问权限,请分配 Azure AD 角色。 角色是权限的集合。 本文介绍如何使用 Azure 门户和 PowerShell 分配 Azure AD 角色。

先决条件

  • 特权角色管理员或全局管理员
  • 使用 Privileged Identity Management (PIM) 时,需要 Azure AD Premium P2 许可证
  • 使用 PowerShell 时需要 AzureADPreview 模块

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

Azure 门户

执行以下步骤以使用 Azure 门户分配 Azure AD 角色。 根据是否启用了 Azure AD Privileged Identity Management (PIM),体验会有所不同。

分配角色

  1. 登录到 Azure 门户

  2. 选择“Azure Active Directory” > “角色和管理员”以查看所有可用角色列表 。

    Azure Active Directory 中的角色和管理员页面。

  3. 选择一个角色,查看其分配情况。

    为帮助查找所需角色,请使用“添加筛选器”来筛选角色。

  4. 选择“添加分配”,然后选择要分配给此角色的用户。

    如果显示的内容与下图不同,则可能启用了 PIM。 请参阅下一部分。

    为所选角色添加分配窗格。

  5. 选择“添加”以分配角色。

使用 PIM 分配角色

如果启用了 Azure AD Privileged Identity Management (PIM),则你可使用额外的角色分配功能。 例如,可以使用户符合角色的条件或设置持续时间。 启用 PIM 后,可以通过两种方式使用 Azure 门户分配角色。 可以使用”角色和管理员”页面或 PIM 体验。 这两种方式均使用相同的 PIM 服务。

按照以下步骤通过角色和管理员页面分配角色。 如果要使用 Privileged Identity Management 页面分配角色,请参阅在 Privileged Identity Management 中分配 Azure AD 角色

  1. 登录 Azure 门户

  2. 选择“Azure Active Directory” > “角色和管理员”以查看所有可用角色列表 。

    启用 PIM 时 Azure Active Directory 中的“角色和管理员”页面。

  3. 选择一个角色,查看其符合条件的、有效的和过期的角色分配。

    为帮助查找所需角色,请使用“添加筛选器”来筛选角色。

  4. 选择“添加分配”。

  5. 选择“未选中成员”,然后选择要分配给此角色的用户。

    启用了 PIM 的“添加分配”页面和“选择成员”窗格。

  6. 选择“下一步”。

  7. 在“设置”选项卡上,选择要将此角色分配设置为“符合条件”还是“有效” 。

    符合条件的角色分配意味着用户必须执行一项或多项操作才能使用该角色。 活动角色分配意味着用户无需执行任何操作即可使用该角色。 若要详细了解这些设置的含义,请参阅 PIM 术语

    启用了 PIM 的“添加分配”页面和“设置”选项卡。

  8. 使用其余选项设置分配的持续时间。

  9. 选择“分配”以分配角色。

PowerShell

执行以下步骤以使用 PowerShell 分配 Azure AD 角色。

设置

  1. 打开 PowerShell 窗口并使用 Import-Module 导入 AzureADPreview 模块。 有关详细信息,请参阅使用 PowerShell 或 Graph 浏览器的先决条件

    Import-Module -Name AzureADPreview -Force
    
  2. 在 PowerShell 窗口中,使用 Connect-AzureAD 登录租户。

    Connect-AzureAD -AzureEnvironmentName AzureChinaCloud
    
  3. 使用 Get-AzureADUser 获取要为其分配角色的用户。

    $user = Get-AzureADUser -Filter "userPrincipalName eq 'user@contoso.com'"
    

分配角色

  1. 使用 Get-AzureADMSRoleDefinition 获取要分配的角色。

    $roleDefinition = Get-AzureADMSRoleDefinition -Filter "displayName eq 'Billing Administrator'"
    
  2. 使用 New-AzureADMSRoleAssignment 分配角色。

    $roleAssignment = New-AzureADMSRoleAssignment -DirectoryScopeId '/' -RoleDefinitionId $roleDefinition.Id -PrincipalId $user.objectId
    

使用 PIM 将角色分配为符合条件

如果启用 PIM,你将拥有其他功能,例如使用户有资格分配角色或定义角色分配的开始和结束时间。 这些功能使用一组不同的 PowerShell 命令。 若要详细了解如何使用 PowerShell 和 PIM,请参阅适用于 Privileged Identity Management 中的 Azure AD 角色的 PowerShell

  1. 使用 Get-AzureADMSRoleDefinition 获取要分配的角色。

    $roleDefinition = Get-AzureADMSRoleDefinition -Filter "displayName eq 'Billing Administrator'"
    
  2. 使用 Get-AzureADMSPrivilegedResource 获取特权资源。 在本例中即为你的租户。

    $aadTenant = Get-AzureADMSPrivilegedResource -ProviderId aadRoles
    
  3. 使用 New-Object 新建 AzureADMSPrivilegedSchedule 对象来定义角色分配的开始和结束时间。

    $schedule = New-Object Microsoft.Open.MSGraph.Model.AzureADMSPrivilegedSchedule
    $schedule.Type = "Once"
    $schedule.StartDateTime = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
    $schedule.EndDateTime = "2021-07-25T20:00:00.000Z"
    
  4. 使用 Open-AzureADMSPrivilegedRoleAssignmentRequest 将角色分配为符合条件。

    $roleAssignmentEligible = Open-AzureADMSPrivilegedRoleAssignmentRequest -ProviderId 'aadRoles' -ResourceId $aadTenant.Id -RoleDefinitionId $roleDefinition.Id -SubjectId $user.objectId -Type 'AdminAdd' -AssignmentState 'Eligible' -schedule $schedule -reason "Review billing info"
    

后续步骤