在權利管理中使用自定義延伸模組觸發LogicApps

Azure Logic Apps 可用來自動化自定義工作流程,並在一個地方連接應用程式和服務。 使用者可以整合Logic Apps與權利管理,以擴大其治理工作流程,使其超越核心權利管理使用案例。

然後,您可以觸發這些 Logic Apps,以根據權利管理使用案例執行,例如授與或要求存取套件時。 例如,系統管理員可以建立自定義邏輯應用程式並將其連結至權利管理,以便在使用者要求存取套件時觸發邏輯應用程式,以確保使用者也會在第三方 SAAS 應用程式中指派特定特性(例如 Salesforce)或傳送自定義電子郵件。

可以與 Logic Apps 整合的權利管理使用案例包括下列階段。 這些觸發程式與可啟動自訂擴充功能邏輯應用程式的存取套件相關聯:

  • 建立存取套件要求時

  • 核准存取套件要求時

  • 授與存取套件指派時

  • 拿掉存取套件指派時

  • 存取套件指派自動到期前 14 天

  • 存取套件指派自動到期前一天

Logic Apps 的這些觸發程式會控制在存取套件原則內的索引標籤中,稱為 規則。 此外,[目錄] 頁面上的 [ 自定義延伸模組 ] 索引卷標會顯示指定目錄的所有已新增Logic Apps 延伸模組。 本文說明如何在權利管理中建立和新增邏輯應用程式至目錄和存取套件。

授權需求

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

建立邏輯應用程式工作流程並新增至目錄,以用於權利管理

提示

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

必要角色: 全域管理員、身分識別治理系統管理員、目錄擁有者或資源群組擁有者

  1. 以至少身分識別治理 管理員 istrator 身分登入 Microsoft Entra 系統管理中心。

  2. 流覽至 [身分識別治理>目錄]。

  3. 選取您要新增自定義延伸模組的目錄,然後在左側功能表中選取 [ 自定義擴充功能]。

  4. 在標頭導覽列中,選取 [ 新增自定義擴充功能]。

  5. 在 [ 基本] 索引 標籤中,輸入自訂延伸模組的名稱,這應該是您要連結的邏輯應用程式名稱,以及工作流程的描述。 這些欄位會顯示在目錄的 [ 自訂延伸模組 ] 索引標籤中。

    Pane to create a custom extension

  6. [延伸模組類型] 索引標籤會定義您可以使用自訂延伸模組的存取套件原則類型。 「要求工作流程」類型支持原則階段:建立要求的存取套件、核准要求時、授與指派時,以及移除指派時。 此類型也支持 啟動和等候。 功能。

  7. 到期前工作流程支持原則階段:存取套件指派到期前 14 天,以及存取套件指派到期前 1 天。 此擴充功能類型不支持啟動和等候。

    Screenshot of launch and wait configuration options.

  8. [ 擴充功能組態 ] 索引標籤可讓您決定延伸模組是否有「啟動後繼續」或「啟動和等候」行為。 透過「啟動並繼續」存取套件上連結的原則動作,例如要求,會觸發連結至自定義延伸模組的邏輯應用程式。 觸發邏輯應用程式之後,與存取套件相關聯的權利管理程式將會繼續。 針對「啟動和等候」,我們會暫停相關聯的存取套件動作,直到連結至延伸模組的邏輯應用程式完成其工作之後,管理員才會傳送繼續動作以繼續此程式。 如果未在定義的等候時間週期內傳回任何回應,則此程式會被視為失敗。 此程式會在設定暫停權利管理程式的自定義擴充功能一節中進一步說明。

  9. 在 [詳細數據] 索引標籤中,選擇您是否要使用現有的取用方案邏輯應用程式。 在 [建立新的邏輯應用程式] 字段中選取 [是],即會建立已連結至此自定義延伸模組的新空白取用方案邏輯應用程式。 不管怎樣,您都需要提供:

    1. Azure 訂用帳戶。

    2. 如果建立新的邏輯應用程式,則為具有邏輯應用程式資源建立許可權的資源群組。

    3. 如果使用該設定,請選取 [建立邏輯應用程式]。

      Screenshot of creating logic app detail selections.

    注意

    在此強制回應中建立新的邏輯應用程式時,“/subscriptions/{SubscriptionId}/resourceGroups/{RG Name}/providers/Microsoft.Logic/workflows/{Logicapp Name}” 的長度不能超過 150 個字符。

  10. 在 [檢閱和建立] 中,檢閱自定義延伸模組的摘要,並確定邏輯應用程式圖說文字的詳細數據正確無誤。 然後選取建立

  11. 鏈接邏輯應用程式的這個自定義延伸模組現在會出現在 [目錄] 底下的 [自定義延伸模組] 索引卷標中。 您可以在存取套件原則中呼叫此專案。

檢視和編輯目錄的現有自定義延伸模組

必要角色: 全域管理員、身分識別治理系統管理員或目錄擁有者

  1. 流覽至目錄內的 [自定義延伸模組] 索引標籤,如先前所述。

  2. 在這裡,您可以檢視您建立的所有自定義延伸模組,以及相關聯的邏輯應用程式,以及自定義擴充功能類型的相關信息。 Screenshot of a list of custom extensions.

  3. 除了邏輯應用程式名稱之外,[類型] 數據行會指出自定義延伸模組是在新的 V2 驗證模型中建立的(在 2023 年 3 月 17 日之後),還是原始模型。 如果在新的模型中建立自定義延伸模組,則 Type 數據行會比對組態模式中選取的類型,該模式為「指派要求」或「到期前」。 對於較舊的自定義延伸模組,此類型會顯示「自定義存取套件」。

  4. [令牌安全性] 資料行會顯示建立自定義延伸模組時所使用的相關聯驗證安全性架構。 新的 V2 自定義延伸模組會將「擁有證明」(PoP)顯示為令牌安全性類型。 較舊的自定義延伸模組會顯示「一般」。

  5. 舊樣式自定義延伸模組無法再從UI建立,不過現有的延伸模組可以從UI轉換成新的樣式自定義延伸模組。 Screenshot of converting old security token to new.

  6. 選取舊自定義延伸模組數據列結尾的三個點,可讓您快速將自定義延伸模組更新為新的類型。

    注意

    自定義延伸模組只有在未使用時,或只針對一個特定延伸模組類型的原則階段使用時,才能轉換成新的類型(指派要求階段或到期前階段)。

  7. 您也可以編輯任何自訂延伸模組。 這可讓您更新名稱、描述和其他域值。 您可以針對任何自定義延伸模組選取 [三點] 窗格內的 [編輯 ] 來完成此作業。

  8. 即使無法轉換,舊樣式自定義延伸模組仍可繼續使用和編輯,即使無法再建立它們也一樣。

  9. 如果舊樣式自定義延伸模組無法更新為新類型,因為它正用於原則階段、 同時 指派要求和到期前類型,則若要更新它,您必須從所有鏈接的原則中移除它,或確保它只用於與 ONE 類型相關聯的原則階段(指派要求, 或到期前)。  

將自定義擴充功能新增至存取套件中的原則

必要角色: 全域管理員、身分識別治理系統管理員、目錄擁有者或存取套件管理員

  1. 以至少身分識別控管 管理員 istrator 身分登入 Microsoft Entra 系統管理中心

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

  3. 從已建立的存取套件清單中,選取您要新增自定義擴充功能 (邏輯應用程式) 的存取套件。

    注意

    如果您想要建立新的存取套件,請選取 [新增存取套件]。 如需如何建立存取套件的詳細資訊,請參閱 在權利管理中建立新的存取套件。 如需如何編輯現有存取套件的詳細資訊,請參閱 在 Microsoft Entra 權利管理中變更存取套件的要求設定

  4. 變更為 [原則] 索引標籤,選取原則,然後選取 [ 編輯]。

  5. 在原則設定中,移至 [ 自定義擴充功能] 索引標籤。

  6. 在 [階段] 下方的功能表中,選取您想要作為此自定義延伸模組之觸發程式的存取套件事件(邏輯應用程式)。 例如,如果您只想在使用者要求存取套件時觸發自定義擴充功能邏輯應用程式工作流程,請選取 [要求] 建立

  7. 在 [自定義擴充功能] 下方的功能表中,選取您要新增至存取套件的自定義延伸模組 (Logic App)。 您選取的動作會在欄位發生時選取 的事件時 執行。

  8. 選取 [更新 ] 將它新增至現有存取套件的原則。

    Add a Logic App to access package

編輯連結邏輯應用程式的工作流程定義

必要角色: 全域管理員、身分識別治理系統管理員或目錄擁有者

對於連結至自定義延伸模組的新建立 Logic Apps,這些 Logic Apps 會開始空白。 若要在觸發連結存取套件原則條件時由延伸模塊觸發的 Logic Apps 中建立工作流程,您必須在邏輯應用程式設計工具中編輯邏輯應用程式工作流程的定義。 若要達成此目的,您必須遵循下列步驟:

  1. 流覽至目錄內的 [自定義延伸模組] 索引標籤,如上一節所述。

  2. 選取您要編輯邏輯應用程式的自定義擴充功能。

  3. 針對相關聯的自定義擴充數據列,選取 [邏輯應用程式] 資料行底下的 [邏輯應用程式]。 這可讓您在邏輯應用程式設計工具中編輯或建立工作流程。

如需建立邏輯應用程式工作流程的詳細資訊,請參閱 快速入門:在多租使用者 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 工作流程的權利管理注標: A diagram of the entitlement management call to the logic apps workflow.

圖表流程圖顯示:

  1. 使用者建立能夠從身分識別服務接收呼叫的自訂端點
  2. 身分識別服務會進行測試呼叫,以確認身分識別服務可以呼叫端點
  3. 使用者呼叫 Graph API 以要求將使用者新增至存取套件
  4. 身分識別服務會新增至觸發後端工作流程的佇列
  5. 權利管理服務要求處理會呼叫具有要求承載的邏輯應用程式
  6. 工作流程預期接受的程式碼
  7. 權利管理服務會等候封鎖自訂動作繼續
  8. 客戶系統會將要求繼續 API 呼叫至身分識別服務,以繼續處理要求
  9. 身分識別服務會將繼續要求訊息新增至繼續後端工作流程的權利管理服務佇列
  10. 權利管理服務會從封鎖狀態繼續

繼續要求承載的範例如下:

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentRequests/0e60f18c-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": "957d0c50-466b-4840-bb5b-c92cea7141ff",
    "customExtensionStageInstanceDetail": "This user is all verified"
  }
}

透過啟動和等候,如果延伸模組連結至存取套件階段「 已建立 要求」或「 已核准 要求」,系統管理員也能夠拒絕要求。 在這些情況下,邏輯應用程式可以將「拒絕」 訊息傳回 權利管理,這會在使用者收到存取套件之前結束程式。

如前所述,使用要求工作流程類型所建立的自訂延伸模組,其中包含四個相關聯的原則階段,可以視需要啟用「 啟動和等候 」。

下列範例會拒絕等候回呼的要求,以繼續處理存取套件指派要求。 無法在圖說文字的 assignmentRequestCreated 階段拒絕要求。

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 中指定的字串,如設定暫停權利管理程式的 自訂延伸模組中所 顯示的承載所示。 Screenshot of the approver screen.

要求者體驗

當存取套件具有具有啟動和等候功能的自訂擴充功能,而且建立存取套件要求時會觸發邏輯應用程式,要求者可以在 MyAccess 的要求歷程記錄內查看其要求狀態。

根據使用者的自訂擴充階段,會顯示下列狀態更新:

自訂延伸模組階段 在 MyAccess 要求歷程記錄中顯示給要求者的訊息
處理擴充功能時 在繼續之前等待資訊
擴充功能失敗時 進程已過期
擴充功能繼續時 程式繼續

這是延伸模組繼續之後,來自要求者之 MyAccess 要求歷程記錄的範例:

Screenshot of the requestor screen.

疑難排解和驗證

針對與要求相關聯的自訂延伸模組,您可以從相關聯存取套件的要求詳細資料頁面內的 [要求歷程記錄詳細資料] 連結,檢視自訂延伸模組的詳細資料,以及啟動並等候。

Screenshot of requesting history for a custom task extension.Screenshot of selection details for custom task extension.

例如,您可以在這裡看到提交要求的時間,以及啟動和等候程式(等候回呼)開始的時間。 要求已核准,權利管理階段會在邏輯應用程式執行且繼續要求于下午 12:15 傳回後「繼續」。

此外,要求詳細資料中的新 自訂延伸模組實例連結 會顯示與要求存取套件相關聯的自訂延伸模組相關資訊。
Screenshot of selection details list items.

這會顯示自訂延伸模組識別碼和狀態。 這項資訊會根據是否有相關聯的啟動和等候回呼而變更。

若要確認您的自訂延伸模組已正確觸發相關聯的邏輯應用程式,您也可以檢視邏輯應用程式記錄,其時間戳記為上次執行邏輯應用程式的時間。

下一步