在 AD 權利管理中檢視、新增及移除對存取套件的指派
在權利管理中,您可以看到已獲指派可存取套件的人員、其原則、狀態和使用者生命週期 (預覽)。 如果存取套件具有適當的原則,則您也可以直接將使用者指派給存取套件。 本文說明如何檢視、新增及移除存取套件的指派。
必要條件
若要使用權利管理並將使用者指派給存取套件,您必須具備下列其中一個授權:
- Microsoft Entra ID P2
- Enterprise Mobility + Security (EMS) E5 授權
- Microsoft Entra ID 控管訂用帳戶
查看具有指派的人員
提示
根據您開始使用的入口網站,本文中的步驟可能略有不同。
以至少作為 [身分識別治理系統管理員] 的身分登入 Microsoft Entra 系統管理中心。
提示
可以完成此工作的其他最低權限角色包括目錄擁有者、存取套件管理員和存取套件指派管理員。
瀏覽至 [身分識別治理]>[權利管理]>[存取套件]。
在 [存取套件] 頁面上,開啟存取套件。
選取 [指派] 以查看使用中指派的清單。
選取特定指派以查看更多詳細資料。
若要查看未正確佈建所有資源角色的指派清單,請選取篩選狀態,然後選取 [正在傳遞]。
您可以在 [要求] 頁面上找出使用者的對應要求,以查看有關傳遞錯誤的更多詳細資料。
若要查看過期的指派,請選取篩選狀態,然後選取 [已過期]。
若要下載已篩選清單的 [CSV 檔案],請選取 [下載]。
以程式設計方式檢視指派
使用 Microsoft Graph 檢視指派
您也可以使用 Microsoft Graph 來擷取存取套件中的指派。 如果使用者具備適當的角色,能夠使用已委派 EntitlementManagement.Read.All
或 EntitlementManagement.ReadWrite.All
權限的應用程式,即可呼叫 API 來列出 accessPackageAssignments。 具有應用程式權限 EntitlementManagement.Read.All
或 EntitlementManagement.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"
直接指派使用者
在某些情況下,建議您將特定使用者直接指派給存取套件,讓使用者不需經歷要求存取套件的程序。 若要直接指派使用者,存取套件必須具有允許管理員直接指派的原則。
注意
將使用者指派給存取套件時,系統管理員必須根據現有的原則需求,驗證使用者是否符合該存取套件的資格。 否則,使用者將不會成功指派給存取套件。
以至少作為 [身分識別治理系統管理員] 的身分登入 Microsoft Entra 系統管理中心。
提示
可以完成此工作的其他最低權限角色包括目錄擁有者、存取套件管理員和存取套件指派管理員。
瀏覽至 [身分識別治理]>[權利管理]>[存取套件]。
在 [存取套件] 頁面上,開啟存取套件。
在左側功能表中,選取 [指派]。
選取 [新增指派],以開啟 [將使用者新增到存取套件]。
在 [選取原則] 清單中,選取將治理與追蹤使用者未來要求和生命週期的原則。 如果您希望選取的使用者具有不同的原則設定,您可以選取 [建立新原則] 來新增原則。
選取原則之後,您可以在所選擇的原則之下,新增使用者,以選取您想要指派此存取套件的使用者。
注意
如果您選取有問題的原則,您一次只能指派一個使用者。
設定您想要所選取使用者的指派開始與結束的日期和時間。 如果未提供結束日期,則會使用原則的生命週期設定。
(選擇性) 為您的直接指派提供要進行記錄保存的理由。
如果選取的原則包括其他要求者資訊,選取 [檢視問題] 以代表使用者回答這些問題,然後選取 [儲存]。
選取 [新增],以將選取的使用者直接指派給存取套件。
幾分鐘之後,選取 [重新整理] 以查看指派清單中的使用者。
注意
如果原則需要核准,則存取套件指派管理員無法再略過核准設定。 這表示未經指定核准者的必要核准,便無法將使用者直接指派給套件。 如果您需要略過核准,建議您在存取套件上建立第二個原則,該原則不需要核准,且範圍僅限於需要存取權的使用者。
直接指派任何使用者 (預覽)
權利管理也可讓您將外部使用者直接指派給存取套件,以更輕鬆地與合作夥伴共同作業。 若要這樣做,存取套件必須具有允許尚未在您目錄中的使用者要求存取的原則。
以至少作為 [身分識別治理系統管理員] 的身分登入 Microsoft Entra 系統管理中心。
提示
可以完成此工作的其他最低權限角色包括目錄擁有者、存取套件管理員和存取套件指派管理員。
瀏覽至 [身分識別治理]>[權利管理]>[存取套件]。
在 [存取套件] 頁面上,開啟存取套件。
在左側功能表中,選取 [指派]。
選取 [新增指派],以開啟 [將使用者新增到存取套件]。
在 [選取原則] 清單中,選取允許設定為 [不在目錄中的使用者] 的原則
選取 [任何使用者]。 您可以指定想要指派給此存取套件的使用者。
輸入使用者的名稱 (選擇性) 和使用者的電子郵件地址 (必要)。
注意
- 您想要新增的使用者必須在原則的範圍內。 例如,如果您的原則設定為 [特定已連線組織],使用者的電子郵件地址就必須是所選組織的網域。 如果您嘗試新增的使用者具有 jen@foo.com 的電子郵件地址,但所選組織的網域是 bar.com,您就無法將該使用者新增至存取套件。
- 同樣地,如果您將原則設定為包括 [所有已設定的連線組織],使用者的電子郵件地址就必須是您設定的其中一個已連線組織。 否則,不會將使用者新增到存取套件。
- 如果您想要將任何使用者新增到存取套件,您必須確保在設定原則時,會選取 [所有使用者 (所有已連線組織 + 任何外部使用者)]。
設定您想要所選取使用者的指派開始與結束的日期和時間。 如果未提供結束日期,則會使用原則的生命週期設定。
選取 [新增],以將選取的使用者直接指派給存取套件。
幾分鐘之後,選取 [重新整理] 以查看指派清單中的使用者。
以程式設計方式直接指派使用者
使用 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。 此腳本說明如何使用 Microsoft 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 生命週期工作流程功能中,您可以將[要求使用者存取套件指派]工作新增至上線工作流程。 工作可以指定使用者應該擁有的存取套件。 當使用者執行工作流程時,系統會自動建立存取套件指派要求。
至少使用 [身分識別控管系統管理員] 和 [生命週期工作流程管理員] 角色登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別治理]>[生命週期工作流程]>[工作流程]。
選取員工上線或移動工作流程。
選取 [工作],然後選取 [新增工作]。
選取 [要求使用者存取套件指派],然後選取 [新增]。
選取剛新增的磁碟。
選取 [選取存取套件],然後選擇應指派新使用者或移動使用者的存取套件。
選取 [選取原則],然後選擇該存取套件中的存取套件指派原則。
選取 [儲存]。
移除指派
您可以移除使用者或系統管理員先前要求的指派。
以至少作為 [身分識別治理系統管理員] 的身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別治理]>[權利管理]>[存取套件]。
在 [存取套件] 頁面上,開啟存取套件。
在左側功能表中,選取 [指派]。
選取使用者 (您要從存取套件中移除其指派) 旁的核取方塊。
選取左側窗格頂端附近的 [移除] 按鈕。
通知隨即出現,告知您已移除指派。
以程式設計方式移除指派
使用 Microsoft Graph 移除指派
您也可以使用 Microsoft Graph 來移除對存取套件的使用者指派。 如果使用者具有適當的角色,能夠使用已委派 EntitlementManagement.ReadWrite.All
權限的應用程式或具有 EntitlementManagement.ReadWrite.All
應用程式權限的應用程式,則可呼叫 API 來建立 accessPackageAssignmentRequest。 在此要求中,requestType
屬性的值應該是 adminRemove
,而 assignment
屬性是包含可識別要移除之 accessPackageAssignment
的 id
屬性。
使用 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 生命週期工作流程功能中,您可以將[移除使用者存取套件指派]工作新增至上線工作流程。 該工作可以指定使用者能指派的存取套件。 當使用者執行工作流程時,系統會自動移除存取套件指派。
至少使用 [身分識別控管系統管理員] 和 [生命週期工作流程管理員] 角色登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別治理]>[生命週期工作流程]>[工作流程]。
選取員工離線工作流程。
選取 [工作],然後選取 [新增工作]。
選取 [移除使用者存取套件指派],然後選取 [新增]。
選取剛新增的磁碟。
選取 [選取存取套件],然後選擇一或多個要移除使用者的存取套件。
選取 [儲存]。