共用方式為


指派 Microsoft Entra 角色 (預覽)

權利管理支援各種資源類型的存取生命週期,例如應用程式、SharePoint 網站、群組和 Teams。 有時候使用者需要額外的權限,才能以特定方式使用這些資源。 例如,使用者可能需要存取您組織的 Power BI 儀表板,但需要 Power BI 管理員角色才能查看全組織計量。 雖然其他 Microsoft Entra ID 功能,例如可指派角色的群組,可能支援這些 Microsoft Entra 角色指派,但透過這些方法授予的存取權較不明確。 例如,您會管理群組的成員資格,而不是直接管理使用者的角色指派。

透過使用權利管理來將 Microsoft Entra 角色指派給員工和來賓,您將可查看使用者的權利,以快速判斷指派給該使用者的角色。 在存取套件將 Microsoft Entra 角色當作資源加入時,您也可以將該角色指派指定為合格作用中

透過存取套件指派 Microsoft Entra 角色,可幫助您有效率地大規模管理角色指派並改善角色指派生命週期。

使用存取套件的 Microsoft Entra 角色指派案例

請試想,您的組織最近為支援小組僱用了 50 名新員工,而您負責為這些新員工提供他們所需的資源存取權。 這些員工需要存取支援群組和特定支援相關應用程式。 他們還需要三個 Microsoft Entra 角色,包括 服務台系統管理員角色,才能履行職務。 您可以設定包含 SharePoint 網站、群組和特定 Microsoft Entra 角色的存取套件,而非為 50 名員工個別指派所有資源和角色。 然後,您可以將存取套件設定為讓主管擔任核准者,並與支援小組共享連結。

將資源角色新增至新存取套件的螢幕擷取畫面。

現在,加入支援小組的新成員可以在 [我的存取權] 要求存取此存取套件,並在主管核准要求後,立即取得需要的一切存取權。 這個方法可節省時間和精力,因為支援小組正規劃在全球擴大規模,僱用約 1,000 名新員工,但您再也不需要手動將每個人指派至存取套件。

注意

我們建議您使用 Privileged Identity Management 來為使用者提供 Just-In-Time 存取權,以執行需要更高權限的工作。 這些權限是透過下列文件中標記為「特殊權限」的 Microsoft Entra 角色來提供:Microsoft Entra 內建角色。 權利管理更適合將一組資源指派給使用者,該資源中包括執行一項工作所需的 Microsoft Entra 角色。 指派給存取套件的使用者通常會擁有更長期的資源存取權。 雖然我們建議您透過 Privileged Identity Management 管理高權限角色,但您可以透過權利管理中的存取套件來設定這些角色的資格。

必要條件

使用此功能需要 Microsoft Entra ID 控管授權。 若要找到適合您需求的授權,請參閱 Microsoft Entra ID 控管授權基本概念

在存取套件將 Microsoft Entra 角色當作資源新增

請遵循下列步驟,變更與現有存取套件不相容的群組或其他存取套件清單:

  1. 全域管理員的身分登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別治理]>[權利管理]>[存取套件]

  3. 在 [存取套件] 頁面上,開啟您要新增資源角色的存取套件,並選取 [資源角色]

  4. 在 [將資源角色新增到存取套件] 頁面上,選取 [Microsoft Entra roles (Preview)] 以開啟 [Select Microsoft Entra roles] 窗格。

  5. 選取您要包含在存取套件中的 Microsoft Entra 角色。 選取存取套件角色的螢幕擷取畫面。

  6. 在 [角色] 清單中選取 [合格成員] 或 [作用中成員]在存取套件中為資源角色選擇角色的螢幕擷取畫面。

  7. 選取 [新增]。

注意

如果您選取 [合格],則使用者將有資格擔任該角色,而且可以在 Microsoft Entra 系統管理中心使用 Privileged Identity Management 來啟用其指派。 如果您選取 [作用中],使用者將擁有作用中角色指派,直到他們無法再存取該存取套件為止。 您只能針對標記為「特殊權限」的 Entra 角色選取 [合格]。 您可以在這裡找到特殊權限角色的清單:Microsoft Entra 內建角色

以程式設計的方式在存取套件將 Microsoft Entra 角色當成資源新增

若要以程式設計方式新增 Microsoft Entra 角色,您可以使用下列程式碼:

    "role": {
        "originId": "Eligible",
        "displayName": "Eligible Member",
        "originSystem": "DirectoryRole",
        "resource": {
            "id": "ea036095-57a6-4c90-a640-013edf151eb1"
        }
    },
    "scope": {
        "description": "Root Scope",
        "displayName": "Root",
        "isRootScope": true,
        "originSystem": "DirectoryRole",
        "originId": "c4e39bd9-1100-46d3-8c65-fb160da0071f"
    }
}

使用 Graph 在存取套件將 Microsoft Entra 角色當作資源新增

您可以使用 Microsoft Graph,在存取套件將 Microsoft Entra 角色當作資源新增。 具有適當角色且擁有具委派 EntitlementManagement.ReadWrite.All permission 之應用程式的使用者,或是擁有 EntitlementManagement.ReadWrite.All 應用程式權限的應用程式,可以呼叫 API 來建立包含 Microsoft Entra 角色的存取套件,並將使用者指派給該存取套件。

使用 PowerShell 在存取套件將 Microsoft Entra 角色當作資源新增

您可以在 PowerShell 中,使用來自適用於 Identity Governance 的 Microsoft Graph PowerShell Cmdlet 模組版本 1.16.0 或更新版本的 Cmdlet,在存取套件將 Microsoft Entra 角色當作資源新增。

下列指令碼說明,如何使用 Graph 的 Beta 設定檔,在存取套件將 Microsoft Entra 角色當作資源新增:

首先,擷取您想加入存取套件之目錄的識別碼,以及該目錄中的資源及其範圍和角色。 使用類似於下列範例的指令碼。 該指令碼會假設目錄中有單一應用程式資源。

Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"

$catalog = Get-MgEntitlementManagementCatalog -Filter "displayName eq 'Entra Admins'" -All
if ($catalog -eq $null) { throw "catalog not found" }
$rsc = Get-MgEntitlementManagementCatalogResource -AccessPackageCatalogId $catalog.id -Filter "originSystem eq 'DirectoryRole'" -ExpandProperty scopes
if ($rsc -eq $null) { throw "resource not found" }
$filt = "(id eq '" + $rsc.Id + "')"
$rrs = Get-MgEntitlementManagementCatalogResource -AccessPackageCatalogId $catalog.id -Filter $filt -ExpandProperty roles,scopes

然後,將該資源的 Microsoft Entra 角色指派給存取套件。 例如,如果您想要包含稍早傳回資源的第一個資源角色 (作為存取套件資源角色),您會使用類似下列範例的指令碼。

$apid = "00001111-aaaa-2222-bbbb-3333cccc4444"

$rparams = @{
    role = @{
        id =  $rrs.Roles[0].Id
        displayName =  $rrs.Roles[0].DisplayName
        description =  $rrs.Roles[0].Description
        originSystem =  $rrs.Roles[0].OriginSystem
        originId =  $rrs.Roles[0].OriginId
        resource = @{
            id = $rrs.Id
            originId = $rrs.OriginId
            originSystem = $rrs.OriginSystem
        }
    }
    scope = @{
        id = $rsc.Scopes[0].Id
        originId = $rsc.Scopes[0].OriginId
        originSystem = $rsc.Scopes[0].OriginSystem
    }
}

New-MgEntitlementManagementAccessPackageResourceRoleScope -AccessPackageId $apid -BodyParameter $rparams

後續步驟