在權利管理中使用自訂擴充功能觸發 Logic Apps
Azure Logic Apps 可以用來在一個位置將自訂工作流程自動化,並連線應用程式和服務。 使用者可以整合 Logic Apps 與權利管理,以將其治理工作流程擴大到超出核心權利管理使用案例。
然後可以觸發這些 Logic Apps,以根據權利管理使用案例 (例如授與或要求存取套件時) 來執行。 例如,系統管理員可以建立自訂邏輯應用程式並將其連結至權利管理,在使用者要求存取套件時觸發邏輯應用程式,以確保使用者也會在協力廠商 SAAS 應用程式 (例如 Salesforce) 中被指派特定特性或收到自訂電子郵件。
可以與 Logic Apps 整合的權利管理使用案例包括下列階段。 這些觸發程式與可啟動自訂擴充功能邏輯應用程式的存取套件相關聯:
建立存取套件要求時
核准存取套件要求時
授與存取套件指派時
移除存取套件指派時
存取套件指派自動到期前 14 天
存取套件指派自動到期前一天
這些 Logic Apps 的觸發程式是在存取套件原則內稱為 Rules 的索引標籤中進行控制的。 此外,目錄頁面上的 [自訂擴充功能] 索引標籤會顯示指定目錄的所有已新增 Logic Apps 擴充功能。 本文說明如何在權利管理中建立邏輯應用程式,並將其新增至目錄和存取套件。
授權需求
使用此功能需要 Microsoft Entra ID 控管或 Microsoft Entra 套件授權。 若要尋找您需求的正確授權,請參閱 Microsoft Entra ID Governance 授權基本概念。
建立邏輯應用程式工作流程並新增至目錄,以用於權利管理
提示
根據您開始使用的入口網站,本文中的步驟可能略有不同。
以至少作為 [身分識別治理系統管理員] 的身分登入 Microsoft Entra 系統管理中心。
提示
可完成此工作的其他最低權限角色包括目錄擁有者和資源群組擁有者。
瀏覽至 [身分識別治理]>[目錄]。
選取您要新增自訂擴充功能的目錄,然後在左側選單中,選取 [自訂擴充功能]。
在標頭導覽列中,選取 [新增自訂延伸模組]。
在 [基本] 索引標籤中,輸入自訂擴充功能的名稱,這應該是您要連結的邏輯應用程式的名稱,以及工作流程的描述。 這些欄位會顯示在目錄的 [自訂擴充功能] 索引標籤中。
[擴充功能類型] 索引標籤會定義您可以搭配使用自訂擴充功能的存取套件原則類型。 「要求工作流程」類型支持原則階段:建立要求的存取套件、核准要求、授與指派,以及移除指派時。 此類型也支援 啟動並等候功能。
到期前工作流程支持原則階段:存取套件指派到期前 14 天,以及存取套件指派到期前 1 天。 此擴充功能類型不支持啟動並等候。
[擴充功能組態] 索引標籤可讓您決定擴充功能是否具有「啟動並繼續」或「啟動並等候」行為。 使用「啟動並繼續」時,針對存取套件的連結原則動作 (例如要求) 會觸發連結至自訂擴充功能的邏輯應用程式。 觸發邏輯應用程式之後,與存取套件相關聯的權利管理程式將會繼續。 對於「啟動並等候」,我們會暫停相關聯的存取套件動作,直到連結至擴充功能的邏輯應用程式完成其工作之後,管理員才會傳送繼續動作以繼續此程序。 如果沒有在定義的等候時間週期內傳回任何回應,則此程序將視為失敗。 此程序在其本身的章節設定自訂延伸模組以暫停權利管理程序中會進一步說明。
在 [詳細資料] 索引標籤中,選擇您是否想要使用現有的取用方案邏輯應用程式。 在 [建立新的邏輯應用程式] 欄位中選取 [是] 會建立已連結至此自訂擴充功能的全新空白取用方案。 不管怎樣,您都需要提供:
Azure 訂用帳戶。
一個資源群組,如果建立新的邏輯應用程式,該群組具有邏輯應用程式資源建立權限。
如果使用該設定,請選取 [建立邏輯應用程式]。
注意
在此強制回應中建立新的邏輯應用程式時,「/subscriptions/{SubscriptionId}/resourceGroups/{RG Name}/providers/Microsoft.Logic/workflows/{Logicapp Name}」的長度不得超過 150 個字元。
在 [檢閱和建立] 中,檢閱自訂擴充功能的摘要,並確定邏輯應用程式圖說文字的詳細資料正確無誤。 然後選取建立。
連結邏輯應用程式的此一自訂擴充功能現在會出現在 [目錄] 下的 [自訂擴充功能] 索引標籤中。 您可以在存取套件原則中呼叫此自訂延伸模組。
檢視和編輯目錄的現有自訂擴充功能
如先前所述,請以至少 身分識別治理系統管理員 的身分瀏覽至目錄中的 [自訂擴充功能] 索引標籤。
提示
可完成此工作的其他最低權限角色包括目錄擁有者。
除了邏輯應用程式名稱之外,[類型] 資料行會指出自訂擴充功能是在新的 V2 驗證模型 (在 2023 年 3 月 17 日之後) 還是原始模型中建立的。 如果在新的模型中建立自訂擴充功能,則 Type 資料行會比對組態模式中選取的類型,該模式為「指派要求」或「逾期前」。 對於較舊的自訂擴充功能,類型會顯示 [自訂存取套件]。
[權杖安全性] 資料行會顯示建立自訂擴充功能時使用的相關聯驗證安全性架構。 新的 V2 自訂擴充功能會將「擁有證明」(PoP) 顯示為權杖安全性類型。 較舊的自訂擴充功能會顯示「一般」。
舊式自訂擴充功能無法再從 UI 建立,不過現有的擴充功能可以從 UI 轉換成新式自訂擴充功能。
選取舊自訂擴充功能資料列結尾的三個點,可讓您快速將自訂擴充功能更新為新的類型。
注意
自訂擴充功能只有在未使用時,或只針對一個特定擴充功能類型的原則階段使用時,才能轉換成新的類型(指派要求階段或逾期前階段)。
您也可以編輯任何自訂擴充功能。 這可讓您更新名稱、描述和其他欄位的值。 您可以針對任何自訂擴充功能,選取三點窗格內的 [編輯] 來完成這項作業。
即使無法轉換,舊樣式自訂擴充功能仍可繼續使用和編輯,即使無法再建立它們也一樣。
如果舊式自訂擴充功能因為同時用於指派要求和逾期前類型 這兩個 原則階段而無法更新為新的類型,為了將它更新,您必須將它從所有連結的原則中移除,或確保它只用於與 一個 類型相關聯的原則階段(指派要求或逾期前)。
將自訂延伸模組新增至存取套件中的原則
以至少作為 [身分識別治理系統管理員] 的身分登入 Microsoft Entra 系統管理中心。
提示
可完成此工作的其他最低權限角色包括目錄擁有者和存取套件管理員。
瀏覽至 [身分識別治理]>[權利管理]>[存取套件]。
從已建立的存取套件清單中,選取您要新增自訂擴充功能 (邏輯應用程式) 的存取套件。
注意
如果您想要建立新的存取套件,請選取 [新增存取套件]。 如需如何建立存取套件的詳細資訊,請參閱 在權利管理中建立新的存取套件。 如需如何編輯現有存取套件的詳細資訊,請參閱 在 Microsoft Entra 權利管理中變更存取套件的要求設定。
變更為 [原則] 索引標籤,選取原則,然後選取 [編輯]。
在原則設定中,前往 [自訂擴充功能] 索引標籤。
在 [階段] 下的功能表中,選取存取套件事件,而您想要使用此存取套件事件作為此自訂延伸模組 (邏輯應用程式) 的觸發程序。 例如,如果您只想要在使用者要求存取套件時觸發自訂延伸模組「邏輯應用程式」工作流程,則請選取 [要求已建立]。
在 [自訂延伸模組] 下的功能表中,選取您想要新增至存取套件的自訂延伸模組 (邏輯應用程式)。 您選取的動作會在 時機 欄位中選取的事件發生時執行。
選取 [更新],以將其新增至現有的存取套件原則。
編輯連結邏輯應用程式的工作流程定義
對於連結至自訂擴充功能的新建立 Logic Apps,這些 Logic Apps 一開始時是空白的。 若要在觸發連結存取套件原則條件時由擴充功能觸發的 Logic Apps 中建立工作流程,您必須在邏輯應用程式設計工具中編輯邏輯應用程式工作流程的定義。 若要達成此目的,您必須遵循下列步驟:
如先前所述,請以至少 身分識別治理系統管理員 的身分瀏覽至目錄中的 [自訂擴充功能] 索引標籤。
提示
可完成此工作的其他最低權限角色包括目錄擁有者。
選取您要編輯邏輯應用程式的自訂擴充功能。
針對相關聯的自訂擴充資料列,選取 [邏輯應用程式] 資料行下的 [邏輯應用程式]。 這可讓您在邏輯應用程式設計工具中編輯或建立工作流程。
如需建立邏輯應用程式工作流程的詳細資訊,請參閱快速入門:在多租用戶 Azure Logic Apps 中建立範例使用量工作流程。
設定暫停權利管理程序的自訂擴充功能
自訂擴充功能功能的新更新是能夠暫停與自訂擴充功能相關聯的存取套件原則程序,直到邏輯應用程式完成,並將繼續要求承載傳回權利管理為止。 例如,如果邏輯應用程式的自訂擴充功能是從存取套件授與原則觸發,並已啟用「啟動並等候」,則一旦觸發了邏輯應用程式,邏輯應用程式完成之後才會繼續授與程式,並將繼續要求傳回權利管理。
此暫停程序可讓系統管理員在繼續進行權利管理中存取生命週期的工作之前,對他們想要執行的工作流程有所掌控。 唯一的例外狀況是發生逾時時。 啟動並等候程序需要的逾時最長可達 14 天,以分鐘、小時或天為單位標記。 經過「逾時」期間後,如果繼續回應沒有傳回權利管理,則權利管理要求工作流程程序會暫停。
系統管理員負責設定自動化程序,一旦邏輯應用程式工作流程完成,即可將 API 繼續要求承載傳回權利管理。 若要傳回繼續要求承載,請遵循圖形 API 文件中的指示。 請參閱 繼續要求 的相關資訊。
具體而言,當啟用存取套件原則來呼叫自訂延伸模組,而要求處理正在等候客戶的回呼時,客戶可以起始繼續動作。 它會針對 requestStatus 處於 WaitingForCallback 狀態的 accessPackageAssignmentRequest 物件執行。
繼續要求可以針對下列階段而傳回:
microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated
microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestApproved
microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestGranted
microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestRemoved
下列流程圖顯示 Logic Apps 工作流程的權利管理回呼:
圖表流程圖顯示:
- 使用者建立能接收身分識別服務呼叫的自訂端點
- 身分識別服務會進行測試呼叫,以確認身分識別服務可以呼叫端點
- 使用者呼叫圖形 API 以要求將使用者新增至存取套件
- 身分識別服務會新增至觸發後端工作流程的佇列
- 權利管理服務要求處理會使用要求承載呼叫邏輯應用程式
- 工作流程會預期已接受的程式碼
- 權利管理服務會等候被封鎖的自訂動作繼續
- 客戶系統會對身分識別服務發出要求繼續 API 呼叫,以繼續處理要求
- 身分識別服務會將繼續要求訊息新增至繼續後端工作流程的權利管理服務佇列
- 權利管理服務會從封鎖狀態繼續
繼續要求承載的範例如下:
POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentRequests/00aa00aa-bb11-cc22-dd33-44ee44ee44ee/resume
Content-Type: application/json
{
"source": "Contoso.SodCheckProcess",
"type": "microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated",
"data": {
"@odata.type": "microsoft.graph.accessPackageAssignmentRequestCallbackData",
"stage": "assignmentRequestCreated",
"customExtensionStageInstanceId": "957d0c50-466b-4840-bb5b-c92cea7141ff",
"customExtensionStageInstanceDetail": "This user is all verified"
}
}
透過啟動並等候,如果擴充功能連結到存取套件階段「要求已建立」或「要求已核准」,系統管理員也能夠拒絕該要求。 在這些情況下,邏輯應用程式可以將 「拒絕」 訊息傳回給權利管理,這樣會在使用者接收到存取套件之前結束程序。
如先前所述,使用要求工作流程類型 (其中包含四個關聯的原則階段) 建立的自訂擴充功能,可以視需要以「啟動並等候」方式啟用。
下列範例會拒絕等候回呼的要求,以繼續處理存取套件指派要求。 無法在回呼的 assignmentRequestCreated 階段拒絕的要求。
提示
如果您透過 Azure Logic Apps 恢復存取套件指派請求,請停用 異步模式。
POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentRequests/9e60f18c-b2a0-4887-9da8-da2e30a39d99/resume
Content-Type: application/json
{
"source": "Contoso.SodCheckProcess",
"type": "microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated",
"data": {
"@odata.type": "microsoft.graph.accessPackageAssignmentRequestCallbackData",
"stage": "AssignmentRequestCreated",
"customExtensionStageInstanceId": "857d0c50-466b-4840-bb5b-c92cea7141ff",
"state": "denied",
"customExtensionStageInstanceDetail": "Potential risk user based on the SOD check"
}
}
擴充功能終端使用者體驗
核准者體驗
核准者會在 customExtensionStageInstanceDetail
下看到繼續要求承載中指定的字串,如 設定暫停權利管理程序的自訂擴充功能 所示。
要求者體驗
當存取套件具有具有啟動並等候功能的自訂擴充功能,而且建立存取套件要求時會觸發邏輯應用程式,要求者可以在 MyAccess 的要求歷程記錄內查看其要求狀態。
根據使用者的自訂擴充階段,會顯示下列狀態更新:
自訂擴充功能階段 | 在 MyAccess 要求歷程記錄中顯示給要求者的訊息 |
---|---|
處理擴充功能時 | 在繼續之前等待資訊 |
擴充功能失敗時 | 程序過期時 |
擴充功能繼續時 | 程序繼續 |
這是擴充功能繼續之後,來自要求者的 MyAccess 要求歷程記錄的範例:
疑難排解和驗證
對於與要求相關聯的自訂擴充功能,您可以從相關聯存取套件的要求詳細資料頁面內的 [要求歷程記錄詳細資料] 連結,檢視自訂擴充功能的詳細資料,以及 (如果已啟用,則可啟動並等候)。
例如,您可以在這裡看到提交要求的時間,以及啟動並等候程序 (等候回呼) 開始的時間。 要求已核准,權利管理階段將在邏輯應用程式已執行,且繼續要求於下午 12:15 傳回後「繼續」。
此外,在要求詳細資料中,新的 自訂擴充實例連結 會顯示與要求存取套件相關聯的自訂擴充功能相關資訊。
這會顯示自訂擴充功能識別碼和狀態。 這項資訊會根據是否有相關聯的啟動並等候回呼而變更。
為確認您的自訂擴充功能正確觸發了相關聯的邏輯應用程式,您也可以檢視邏輯應用程式記錄,其時間戳記為邏輯應用程式上次執行的時間。