將 Azure AD 角色指派給使用者

若要向 Azure Active Directory (Azure AD) 中的使用者授與存取權限,請指派 Azure AD 角色。 角色是權限的集合。 本文描述如何使用 Azure 入口網站和 PowerShell 指派 Azure AD 角色。

必要條件

  • 特殊權限角色管理員或全域管理員。 若要知道您的特殊權限角色管理員或全域管理員是誰,請參閱列出 Azure AD 角色指派
  • 使用 Privileged Identity Management (PIM) 時的 Azure AD Premium P2 授權
  • 使用 PowerShell 時的 AzureADPreview 模組
  • 針對 Microsoft Graph API 使用 Graph 總管時的管理員同意

如需詳細資訊,請參閱使用 PowerShell 或 Graph 總管的必要條件

Azure 入口網站

按照以下步驟使用 Azure 入口網站指派 Azure AD 角色。 根據您是否已啟用 Azure AD Privileged Identity Management (PIM),您的體驗會有所不同。

指派角色

  1. 登入 Azure 入口網站Azure AD 系統管理中心

  2. 選取 [Azure Active Directory]> [角色和系統管理員] 以查看所有可用角色的清單。

    Roles and administrators page in Azure Active Directory.

  3. 選取角色以查看其指派。

    若要協助您找到所需的角色,請使用 [新增篩選條件] 來篩選角色。

  4. 選取 [新增指派],然後選取您要指派給此角色的使用者。

    如果您看到與下圖不同的內容,您可能已啟用 PIM。 請參閱下一節。

    Add assignments pane for selected role.

  5. 選取 [新增] 以指派角色。

使用 PIM 指派角色

如果您已啟用 Azure AD Privileged Identity Management (PIM),您將擁有額外的角色指派功能。 例如,您可以讓使用者符合角色的資格,或設定持續時間。 啟用 PIM 後,您有兩種方式可以使用 Azure 入口網站指派角色。 您可以使用 [角色和系統管理員] 頁面或 PIM 體驗。 無論哪種方式都使用相同的 PIM 服務。

按照以下步驟使用 [角色和系統管理員] 頁面指派角色。 如果您想使用 Privileged Identity Management 頁面指派角色,請參閱在 Privileged Identity Management 中分指派 Azure AD 角色

  1. 登入 Azure 入口網站Azure AD 系統管理中心

  2. 選取 [Azure Active Directory]> [角色和系統管理員] 以查看所有可用角色的清單。

    Roles and administrators page in Azure Active Directory when PIM enabled.

  3. 選取角色以查看其符合資格、作用中和已過期的角色指派。

    若要協助您找到所需的角色,請使用 [新增篩選條件] 來篩選角色。

  4. 選取 [新增指派]。

  5. 選取 [未選取成員],然後選取您要指派給此角色的使用者。

    Add assignments page and Select a member pane with PIM enabled.

  6. 選取 [下一步] 。

  7. 在 [設定] 索引標籤上,選取您是否要讓此角色指派 [符合資格] 或 [作用中]。

    符合資格的角色指派表示使用者必須執行一或多個動作,才能使用此角色。 作用中的角色指派表示使用者不需要執行任何動作就能使用此角色。 如需這些設定含義的詳細資訊,請參閱 PIM 術語

    Add assignments page and Setting tab with PIM enabled.

  8. 使用其餘選項來設定指派的持續時間。

  9. 選取 [指派] 以指派角色。

PowerShell

按照以下步驟使用 PowerShell 指派 Azure AD 角色。

安裝程式

  1. 開啟 PowerShell 視窗,並使用 [匯入-模組] 匯入 AzureADPreview 模組。 如需詳細資訊,請參閱使用 PowerShell 或 Graph 總管的必要條件

    Import-Module -Name AzureADPreview -Force
    
  2. 在 PowerShell 視窗中,使用 [連線-AzureAD] 登入您的租用戶。

    Connect-AzureAD
    
  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. 使用 [新-物件] 建立新的 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"
    

Microsoft Graph API

按照以下指示使用 Microsoft Graph API 指派角色。

指派角色

在此範例中,objectID f8ca5a85-489a-49a0-b555-0a6d81e56f0d 的安全主體在租用戶範圍內予以指派計費管理員角色 (角色定義識別碼b0f54661-2d74-4c50-afa3-1ec803f12efe)。 若想要查看所有內建角色的不可變角色範本 ID 清單,請參閱 Azure AD 內建角色

POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Content-type: application/json

{ 
    "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
    "roleDefinitionId": "b0f54661-2d74-4c50-afa3-1ec803f12efe",
    "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
    "directoryScopeId": "/"
}

使用 PIM 指派角色

指派有時間限制的符合資格角色指派

在此範例中,objectID f8ca5a85-489a-49a0-b555-0a6d81e56f0d的安全主體予以指派給計費管理員 (角色定義識別碼b0f54661-2d74-4c50-afa3-1ec803f12efe) 有時間限制的符合資格角色指派,為期 180 天。

POST https://graph.microsoft.com/v1.0/rolemanagement/directory/roleEligibilityScheduleRequests
Content-type: application/json

{
    "action": "adminAssign",
    "justification": "for managing admin tasks",
    "directoryScopeId": "/",
    "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
    "roleDefinitionId": "b0f54661-2d74-4c50-afa3-1ec803f12efe",
    "scheduleInfo": {
        "startDateTime": "2021-07-15T19:15:08.941Z",
        "expiration": {
            "type": "afterDuration",
            "duration": "PT180D"
        }
    }
}

指派永久符合資格角色指派

在下列範例中,安全主體予以指派給計費管理員的永久符合資格角色指派。

POST https://graph.microsoft.com/v1.0/rolemanagement/directory/roleEligibilityScheduleRequests
Content-type: application/json

{
    "action": "adminAssign",
    "justification": "for managing admin tasks",
    "directoryScopeId": "/",
    "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
    "roleDefinitionId": "b0f54661-2d74-4c50-afa3-1ec803f12efe",
    "scheduleInfo": {
        "startDateTime": "2021-07-15T19:15:08.941Z",
        "expiration": {
            "type": "noExpiration"
        }
    }
}

啟動角色指派

若要啟用角色指派,請使用 [建立 roleAssignmentScheduleRequests] API。

POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests
Content-type: application/json

{
    "action": "selfActivate",
    "justification": "activating role assignment for admin privileges",
    "roleDefinitionId": "b0f54661-2d74-4c50-afa3-1ec803f12efe",
    "directoryScopeId": "/",
    "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d"
}

如需在 Microsoft Graph 中透過 PIM API 管理 Azure AD 角色的詳細資訊,請參閱透過特殊權限身分識別管理 (PIM) API 進行角色管理的概觀

後續步驟