分享方式:


在 AD 權利管理中檢視、新增及移除對存取套件的指派

在權利管理中,您可以看到已獲指派可存取套件、其原則、狀態和使用者生命週期的人員 (預覽)。 如果存取套件具有適當的原則,則您也可以直接將使用者指派給存取套件。 本文說明如何檢視、新增及移除存取套件的指派。

必要條件

若要使用權利管理並將使用者指派給存取套件,您必須具備下列其中一個授權:

  • Microsoft Entra ID P2
  • Enterprise Mobility + Security (EMS) E5 授權
  • Microsoft Entra ID 控管訂用帳戶

查看具有指派的人員

提示

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

  1. 以至少作為 [身分識別治理系統管理員] 的身分登入 Microsoft Entra 系統管理中心

    提示

    可以完成此工作的其他最低權限角色包括目錄擁有者、存取套件管理員和存取套件指派管理員。

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

  3. 在 [存取套件] 頁面上,開啟存取套件。

  4. 選取 [指派] 以查看使用中指派的清單。

    指派至存取套件的清單

  5. 選取特定指派以查看更多詳細資料。

  6. 若要查看未正確佈建所有資源角色的指派清單,請選取篩選狀態,然後選取 [正在傳遞]

    您可以在 [要求] 頁面上找出使用者的對應要求,以查看有關傳遞錯誤的其他詳細資料。

  7. 若要查看過期的指派,請選取篩選狀態,然後選取 [已過期]

  8. 若要下載已篩選清單的 [CSV 檔案],請選取 [下載]

以程式設計方式檢視指派

使用 Microsoft Graph 檢視指派

您也可以使用 Microsoft Graph 來擷取存取套件中的指派。 如果使用者具備適當的角色,能夠使用已委派 EntitlementManagement.Read.AllEntitlementManagement.ReadWrite.All 權限的應用程式,即可呼叫 API 來列出 accessPackageAssignments。 具有應用程式權限 EntitlementManagement.Read.AllEntitlementManagement.ReadWrite.All 的應用程式也可以使用此 API 擷取所有目錄的指派。

Microsoft Graph 將以頁面傳回結果,並將繼續在每個回應的 @odata.nextLink 屬性中傳回對下一頁結果的參考,直到讀取所有結果頁為止。 若要讀取所有結果,您必須繼續使用每個回應中傳回的 @odata.nextLink 屬性來呼叫 Microsoft Graph,直到不再傳回 @odata.nextLink 屬性為止,如在您的應用程式中分頁 Microsoft Graph 資料中所述。

儘管身分識別治理管理員可以從多個目錄擷取存取套件,但如果只將使用者或應用程式服務主體指派給目錄特定的委派系統管理角色,則要求必須提供篩選來指出特定的存取套件,例如:$filter=accessPackage/id eq '00001111-aaaa-2222-bbbb-3333cccc4444'

使用 PowerShell 檢視指派

您可以在 PowerShell 中,使用來自適用於 Identity Governance 的 Microsoft Graph PowerShell Cmdlet (英文) 模組版本 2.1.x 或更新版本的 Get-MgEntitlementManagementAssignment Cmdlet 來回收給存取套件的指派。 此指令碼說明如何使用 Microsoft Graph PowerShell Cmdlet 模組 2.4.0 版來擷取特定存取套件的所有指派。 此 Cmdlet 採用存取套件識別碼作為參數,此識別碼包括於 Get-MgEntitlementManagementAccessPackage Cmdlet 的回應中。 請確保使用 Get-MgEntitlementManagementAccessPackage Cmdlet 時包含 -All 旗標,以導致傳回所有分派頁面。

Connect-MgGraph -Scopes "EntitlementManagement.Read.All"
$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayName eq 'Marketing Campaign'"
if ($null -eq $accesspackage) { throw "no access package"}
$assignments = @(Get-MgEntitlementManagementAssignment -AccessPackageId $accesspackage.Id -ExpandProperty target -All -ErrorAction Stop)
$assignments | ft Id,state,{$_.Target.id},{$_.Target.displayName}

上述查詢會傳回過期和正在傳遞的指派,以及已傳遞的工作指派。 如果您想要排除過期或正在傳遞的指派,您可以使用包含存取套件識別碼以及指派狀態的篩選條件。 此指令碼說明如何使用篩選擷取特定存取套件的狀態 Delivered 指派。 然後,指令碼會 assignments.csv產生 CSV 檔案,其中指派為一個資料列。

Connect-MgGraph -Scopes "EntitlementManagement.Read.All"
$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayName eq 'Marketing Campaign'"
if ($null -eq $accesspackage) { throw "no access package"}
$accesspackageId = $accesspackage.Id
$filter = "accessPackage/id eq '" + $accesspackageId + "' and state eq 'Delivered'"
$assignments = @(Get-MgEntitlementManagementAssignment -Filter $filter -ExpandProperty target -All -ErrorAction Stop)
$sp = $assignments | select-object -Property Id,{$_.Target.id},{$_.Target.ObjectId},{$_.Target.DisplayName},{$_.Target.PrincipalName}
$sp | Export-Csv -Encoding UTF8 -NoTypeInformation -Path ".\assignments.csv"

直接指派使用者

在某些情況下,建議您將特定使用者直接指派給存取套件,讓使用者不需經歷要求存取套件的程序。 若要直接指派使用者,存取套件必須具有允許管理員直接指派的原則。

  1. 以至少作為 [身分識別治理系統管理員] 的身分登入 Microsoft Entra 系統管理中心

    提示

    可以完成此工作的其他最低權限角色包括目錄擁有者、存取套件管理員和存取套件指派管理員。

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

  3. 在 [存取套件] 頁面上,開啟存取套件。

  4. 在左側功能表中,選取 [指派]

  5. 選取 [新增指派],以開啟 [將使用者新增到存取套件]。

    指派 - 將使用者新增至存取套件

  6. 在 [選取原則] 清單中,選取將治理與追蹤使用者未來要求和生命週期的原則。 如果您希望選取的使用者具有不同的原則設定,您可以選取 [建立新原則] 來新增原則。

  7. 選取原則之後,您將能夠在所選擇的原則之下,新增使用者,以選取您想要指派此存取套件的使用者。

    注意

    如果您選取有問題的原則,您一次只能指派一個使用者。

  8. 設定您想要所選取使用者的指派開始與結束的日期和時間。 如果未提供結束日期,則會使用原則的生命週期設定。

  9. (選擇性) 為您的直接指派提供要進行記錄保存的理由。

  10. 如果選取的原則包括其他要求者資訊,選取 [檢視問題] 以代表使用者回答這些問題,然後選取 [儲存]

    指派 - 按一下檢視問題

    指派 - 問題窗格

  11. 選取 [新增],以將選取的使用者直接指派給存取套件。

    幾分鐘之後,選取 [重新整理] 以查看指派清單中的使用者。

注意

將使用者指派給存取套件時,系統管理員必須根據現有的原則需求,驗證使用者是否符合該存取套件的資格。 否則,使用者將不會成功指派給存取套件。 如果存取套件包含需要核准使用者要求的原則,則無法在沒有指定核准者的必要核准的情況下直接將使用者指派給套件。

直接指派任何使用者 (預覽)

權利管理也可讓您將外部使用者直接指派給存取套件,以更輕鬆地與合作夥伴共同作業。 若要這樣做,存取套件必須具有允許尚未在您目錄中的使用者要求存取的原則。

  1. 以至少作為 [身分識別治理系統管理員] 的身分登入 Microsoft Entra 系統管理中心

    提示

    可以完成此工作的其他最低權限角色包括目錄擁有者、存取套件管理員和存取套件指派管理員。

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

  3. 在 [存取套件] 頁面上,開啟存取套件。

  4. 在左側功能表中,選取 [指派]

  5. 選取 [新增指派],以開啟 [將使用者新增到存取套件]

  6. 在 [選取原則] 清單中,選取允許設定為 [不在目錄中的使用者] 的原則

  7. 選取 [任何使用者]。 您將能夠指定想要指派給此存取套件的使用者。 指派 - 將任何使用者新增至存取套件

  8. 輸入使用者的名稱 (選擇性) 和使用者的電子郵件地址 (必要)。

    注意

    • 您想要新增的使用者必須在原則的範圍內。 例如,如果您的原則設定為 [特定已連線組織],使用者的電子郵件地址就必須是所選組織的網域。 如果您嘗試新增的使用者具有 jen@foo.com 的電子郵件地址,但所選組織的網域是 bar.com,您就無法將該使用者新增至存取套件。
    • 同樣地,如果您將原則設定為包括 [所有已設定的連線組織],使用者的電子郵件地址就必須是您設定的其中一個已連線組織。 否則,不會將使用者新增到存取套件。
    • 如果您想要將任何使用者新增到存取套件,您必須確保在設定原則時,會選取 [所有使用者 (所有已連線組織 + 任何外部使用者)]
  9. 設定您想要所選取使用者的指派開始與結束的日期和時間。 如果未提供結束日期,則會使用原則的生命週期設定。

  10. 選取 [新增],以將選取的使用者直接指派給存取套件。

  11. 幾分鐘之後,選取 [重新整理] 以查看指派清單中的使用者。

以程式設計方式直接指派使用者

使用 Microsoft Graph 將使用者指派給存取套件

您也可以使用 Microsoft Graph,將使用者直接指派給存取套件。 如果使用者具有適當的角色,能夠使用已委派 EntitlementManagement.ReadWrite.All 權限的應用程式或具有 EntitlementManagement.ReadWrite.All 應用程式權限的應用程式,則可呼叫 API 來建立 accessPackageAssignmentRequest。 在此要求中,requestType 屬性的值應該是 adminAdd,而 assignment 屬性是包含已指派使用者之 targetId 的結構。

使用 PowerShell 將使用者指派給存取套件

您可以在 PowerShell 中,使用來自適用於 Identity Governance 的 Microsoft Graph PowerShell Cmdlet (英文) 模組版本 2.1.x 或更新模組版本的 New-MgEntitlementManagementAssignmentRequest Cmdlet 來將使用者指派給存取套件。 此指令碼說明如何使用 Microsoft Graph PowerShell Cmdlet 模組 2.4.0 版。

Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"
$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayname eq 'Marketing Campaign'" -ExpandProperty "assignmentpolicies"
if ($null -eq $accesspackage) { throw "no access package"}
$policy = $accesspackage.AssignmentPolicies[0]
$userid = "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
$params = @{
   requestType = "adminAdd"
   assignment = @{
      targetId = $userid
      assignmentPolicyId = $policy.Id
      accessPackageId = $accesspackage.Id
   }
}
New-MgEntitlementManagementAssignmentRequest -BodyParameter $params

您也可以使用 PowerShell 搭配來自適用於 Identity Governance 的 Microsoft Graph PowerShell Cmdlet (英文) 模組版本 2.4.0 或更新版本的 New-MgBetaEntitlementManagementAccessPackageAssignment Cmdlet,將您目錄中的多個使用者指派給存取套件。 此 Cmdlet 採用下列項目作為參數

  • 存取套件識別碼,此識別碼包括在 Get-MgEntitlementManagementAccessPackage Cmdlet 的回應中,
  • 存取套件指派原則識別碼,此識別碼包括在 Get-MgEntitlementManagementAccessPackage Cmdlet 的回應中 assignmentpolicies 欄位的原則內,
  • 目標使用者的物件識別碼,可作為字串的陣列,或作為從 Get-MgGroupMember Cmdlet 傳回的使用者成員清單。

例如,如果您想要確保目前群組成員的所有使用者也擁有對存取套件的指派,您可以使用此 Cmdlet 來為目前沒有指派的使用者建立要求。 請注意,此 Cmdlet 將只會建立指派;其不會針對不再是群組成員的使用者移除指派。

Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All,Directory.Read.All"
$members = @(Get-MgGroupMember -GroupId "a34abd69-6bf8-4abd-ab6b-78218b77dc15" -All)

$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayname eq 'Marketing Campaign'" -ExpandProperty "assignmentPolicies"
if ($null -eq $accesspackage) { throw "no access package"}
$policy = $accesspackage.AssignmentPolicies[0]
$req = New-MgBetaEntitlementManagementAccessPackageAssignment -AccessPackageId $accesspackage.Id -AssignmentPolicyId $policy.Id -RequiredGroupMember $members

如果您想要為還不在目錄中的使用者新增指派,您使用來自適用於 Identity Governance 的 Microsoft Graph PowerShell Cmdlet 預覽模組版本2.1.x 或更新預覽模組版本的 New-MgBetaEntitlementManagementAccessPackageAssignmentRequest Cmdlet。 此指令碼說明如何使用 Graph beta 設定檔和 Microsoft Graph PowerShell Cmdlet 模組 2.4.0 版。 此 Cmdlet 採用下列項目作為參數

  • 存取套件識別碼,此識別碼包括在 Get-MgEntitlementManagementAccessPackage Cmdlet 的回應中,
  • 存取套件指派原則識別碼,此識別碼包括在 Get-MgEntitlementManagementAccessPackage Cmdlet 的回應中 assignmentpolicies 欄位的原則內,
  • 目標使用者的電子郵件地址。
Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"
$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayname eq 'Marketing Campaign'" -ExpandProperty "assignmentPolicies"
if ($null -eq $accesspackage) { throw "no access package"}
$policy = $accesspackage.AssignmentPolicies[0]
$req = New-MgBetaEntitlementManagementAccessPackageAssignmentRequest -AccessPackageId $accesspackage.Id -AssignmentPolicyId $policy.Id -TargetEmail "sample@example.com"

將存取指派設定為生命週期工作流程的一部分

在 Microsoft Entra 生命週期工作流程功能中,您可以將[要求使用者存取套件指派]工作新增至上線工作流程。 工作可以指定使用者應該擁有的存取套件。 當使用者執行工作流程時,系統會自動建立存取套件指派要求。

  1. 至少使用 [身分識別控管系統管理員] 和 [生命週期工作流程管理員] 角色登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別治理]>[生命週期工作流程]>[工作流程]

  3. 選取員工上線或移動工作流程。

  4. 選取 [工作],然後選取 [新增工作]

  5. 選取 [要求使用者存取套件指派],然後選取 [新增]

  6. 選取剛新增的磁碟。

  7. 選取 [選取存取套件],然後選擇應指派新使用者或移動使用者的存取套件。

  8. 選取 [選取原則],然後選擇該存取套件中的存取套件指派原則。

  9. 選取 [儲存]。

移除指派

您可以移除使用者或系統管理員先前要求的指派。

  1. 以至少作為 [身分識別治理系統管理員] 的身分登入 Microsoft Entra 系統管理中心

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

  3. 在 [存取套件] 頁面上,開啟存取套件。

  4. 在左側功能表中,選取 [指派]

  5. 選取使用者 (您要從存取套件中移除其指派) 旁的核取方塊。

  6. 選取左側窗格頂端附近的 [移除] 按鈕。

    指派 - 將使用者從存取套件中移除

    通知隨即出現,告知您已移除指派。

以程式設計方式移除指派

使用 Microsoft Graph 移除指派

您也可以使用 Microsoft Graph 來移除對存取套件的使用者指派。 如果使用者具有適當的角色,能夠使用已委派 EntitlementManagement.ReadWrite.All 權限的應用程式或具有 EntitlementManagement.ReadWrite.All 應用程式權限的應用程式,則可呼叫 API 來建立 accessPackageAssignmentRequest。 在此要求中,requestType 屬性的值應該是 adminRemove,而 assignment 屬性是包含可識別要移除之 accessPackageAssignmentid 屬性。

使用 PowerShell 移除指派

您可以在 PowerShell 中,使用來自適用於 Identity Governance 的 Microsoft Graph PowerShell Cmdlet (英文) 模組版本 2.1.x 或更新模組版本的 New-MgEntitlementManagementAssignmentRequest Cmdlet 來移除使用者的指派。 此指令碼說明如何使用 Microsoft Graph PowerShell Cmdlet 模組 2.4.0 版。

Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"
$accessPackageId = "9f573551-f8e2-48f4-bf48-06efbb37c7b8"
$userId = "11bb11bb-cc22-dd33-ee44-55ff55ff55ff"
$filter = "accessPackage/Id eq '" + $accessPackageId + "' and state eq 'Delivered' and target/objectId eq '" + $userId + "'"
$assignment = Get-MgEntitlementManagementAssignment -Filter $filter -ExpandProperty target -all -ErrorAction stop
if ($assignment -ne $null) {
   $params = @{
      requestType = "adminRemove"
      assignment = @{ id = $assignment.id }
   }
   New-MgEntitlementManagementAssignmentRequest -BodyParameter $params
}

將指派移除設定為生命週期工作流程的一部分

在 Microsoft Entra 生命週期工作流程功能中,您可以將[移除使用者存取套件指派]工作新增至上線工作流程。 該工作可以指定使用者能指派的存取套件。 當使用者執行工作流程時,系統會自動移除存取套件指派。

  1. 至少使用 [身分識別控管系統管理員] 和 [生命週期工作流程管理員] 角色登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別治理]>[生命週期工作流程]>[工作流程]

  3. 選取員工離線工作流程。

  4. 選取 [工作],然後選取 [新增工作]

  5. 選取 [移除使用者存取套件指派],然後選取 [新增]

  6. 選取剛新增的磁碟。

  7. 選取 [選取存取套件],然後選擇一或多個要移除使用者的存取套件。

  8. 選取 [儲存]。

下一步