將 Microsoft Entra 角色指派給使用者

若要將存取權授與 Microsoft Entra ID 中的使用者,您可以指派 Microsoft Entra 角色。 角色是權限的集合。 本文說明如何使用 Microsoft Entra 系統管理中心和 PowerShell 指派 Microsoft Entra 角色。

必要條件

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

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

Microsoft Entra 系統管理中心

請遵循下列步驟,使用 Microsoft Entra 系統管理中心指派 Microsoft Entra 角色。 您的體驗會根據您是否已啟用 Microsoft Entra Privileged Identity Management (PIM) 而有所不同。

指派角色

提示

根據您開始使用的入口網站,本文中的步驟可能略有不同。

  1. 以至少 [特殊權限角色管理員] 身分登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別] > [角色與系統管理員] > [角色與系統管理員]

    Microsoft Entra ID 中的 [角色和系統管理員] 頁面的螢幕擷取畫面。

  3. 尋找您所需的角色。 您可以使用搜尋方塊或 [新增篩選] 來篩選角色。

  4. 選取角色名稱,以開啟角色。 請勿在角色旁邊新增核取記號。

    顯示選取角色的螢幕擷取畫面。

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

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

    已選取角色的 [新增指派] 窗格螢幕擷取畫面。

    注意

    如果您將 Microsoft Entra 內建角色指派給來賓使用者,則會將來賓使用者提升為與成員使用者擁有相同的權限。 如需有關成員和來賓使用者預設權限的資訊,請參閱 Microsoft Entra ID 中的預設使用者權限是什麼? (部分機器翻譯)

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

使用 PIM 指派角色

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

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

  1. 以至少 [特殊權限角色管理員] 身分登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別] > [角色與系統管理員] > [角色與系統管理員]

    啟用 PIM 時,Microsoft Entra ID 中 [角色和系統管理員] 頁面的螢幕擷取畫面。

  3. 尋找您所需的角色。 您可以使用搜尋方塊或 [新增篩選] 來篩選角色。

  4. 選取角色名稱以開啟角色,並查看其合格、作用中和過期的角色指派。 請勿在角色旁邊新增核取記號。

    顯示選取角色的螢幕擷取畫面。

  5. 選取 [新增指派]

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

    螢幕擷取畫面顯示啟用 PIM 時的 [新增指派] 頁面和 [選取成員] 窗格。

  7. 選取 [下一步]。

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

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

    螢幕擷取畫面顯示啟用 PIM 時的 [新增指派] 頁面和 [設定] 索引標籤。

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

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

PowerShell

請遵循下列步驟以使用 PowerShell 指派 Microsoft Entra 角色。

設定

  1. 開啟 PowerShell 視窗,並使用 Import-Module (部分機器翻譯) 匯入 Microsoft Graph PowerShell 模組。 如需詳細資訊,請參閱使用 PowerShell 或 Graph 總管的必要條件

    Import-Module -Name Microsoft.Graph.Identity.Governance -Force
    
  2. 在 PowerShell 視窗中,使用 Connect-MgGraph (英文) 登入您的租用戶。

    Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"
    
  3. 使用 Get-MgUser (英文) 取得您想要指派角色的使用者。

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

指派角色

  1. 使用 Get-MgRoleManagementDirectoryRoleDefinition (英文) 來取得您想要指派的角色。

    $roledefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Billing Administrator'"
    
  2. 使用 New-MgRoleManagementDirectoryRoleAssignment (英文) 指派角色。

    $roleassignment = New-MgRoleManagementDirectoryRoleAssignment -DirectoryScopeId '/' -RoleDefinitionId $roledefinition.Id -PrincipalId $user.Id
    

使用 PIM 將角色指派為符合資格

如果已啟用 PIM,您將擁有其他功能,如讓使用者符合角色指派的資格,或定義角色指派的開始和結束時間。 這些功能會使用一組不同的 PowerShell 命令。 如需使用 PowerShell 和 PIM 的詳細資訊,請參閱 在 Privileged Identity Management 中用於 Microsoft Entra 角色的 PowerShell

  1. 使用 Get-MgRoleManagementDirectoryRoleDefinition 來取得您想要指派的角色。

    $roledefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Billing Administrator'"
    
  2. 使用下列命令建立雜湊表,以儲存指派角色給使用者所需的所有必要屬性。 主體識別碼將會是您要指派角色的使用者識別碼。 在此範例中,指派的有效期間僅 10 小時

    $params = @{
      "PrincipalId" = "aaaaaaaa-bbbb-cccc-1111-222222222222"
      "RoleDefinitionId" = "b0f54661-2d74-4c50-afa3-1ec803f12efe"
      "Justification" = "Add eligible assignment"
      "DirectoryScopeId" = "/"
      "Action" = "AdminAssign"
      "ScheduleInfo" = @{
        "StartDateTime" = Get-Date
        "Expiration" = @{
          "Type" = "AfterDuration"
          "Duration" = "PT10H"
          }
        }
      }
    
  3. 使用 New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest (英文) 將角色指派為合格。 指派角色之後,它會反映在 [身分識別治理] > [Privileged Identity Management] > [Microsoft Entra 角色] > [指派] > [合格指派] 區段底下的 Microsoft Entra 系統管理中心。

    New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest -BodyParameter $params | Format-List Id, Status, Action, AppScopeId, DirectoryScopeId, RoleDefinitionId, IsValidationOnly, Justification, PrincipalId, CompletedDateTime, CreatedDateTime
    

    Microsoft Graph API

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

    指派角色

    在此範例中,objectID aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 的安全主體在租用戶範圍內予以指派計費管理員角色 (角色定義識別碼b0f54661-2d74-4c50-afa3-1ec803f12efe)。 若想要查看所有內建角色的不可變角色範本 ID 清單,請參閱 Microsoft Entra 內建角色 (部分機器翻譯)。

    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": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "directoryScopeId": "/"
    }
    

    使用 PIM 指派角色

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

    在此範例中,objectID aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb的安全主體予以指派給計費管理員 (角色定義識別碼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": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "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": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "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": "aaaaaaaa-bbbb-cccc-1111-222222222222"
    }
    

    如需在 Microsoft Graph 中透過 PIM API 管理 Microsoft Entra 角色的詳細資訊,請參閱 透過 Privileged Identity Management (PIM) API 的角色管理概觀