教學課程:使用 Microsoft Entra 權利管理整合建立自動化 ServiceNow 票證
案例:在此案例中,您會了解如何使用自訂擴充性和邏輯應用程式來自動產生 ServiceNow 票證,以便手動佈建已接收指派且需要應用程式存取權的使用者。
在本教學課程中,您將了解:
- 將邏輯應用程式工作流程新增至現有的目錄。
- 將自訂延伸模組新增至現有存取套件內的原則。
- 在 Microsoft Entra ID 中註冊應用程式以繼續權利管理工作流程
- 設定 ServiceNow 以進行自動化驗證。
- 以使用者身分要求存取套件的存取權。
- 以使用者身分接收所要求存取套件的存取權。
必要條件
- 具有有效 Azure 訂用帳戶的 Microsoft Entra 使用者帳戶。 若尚未有帳戶,可以免費建立帳戶。
- 下列其中一個角色:全域管理員、雲端應用程式管理員、應用程式管理員或服務主體的擁有者。
- Rome 或更高版本的 ServiceNow 執行個體 (英文)
- SSO 與 ServiceNow 整合。 如果尚未設定,請先參閱:教學課程:Microsoft Entra 單一登入 (SSO) 與 ServiceNow 整合 (部分機器翻譯),再執行後續步驟。
注意
完成這些步驟時,建議使用最低權限角色。
將邏輯應用程式工作流程新增至現有目錄以進行權利管理
邏輯應用程式工作流程可以新增至現有的目錄。 如需如何建立新目錄的詳細資訊,請參閱: 在權利管理中建立和管理資源目錄。
建立目錄之後,您可以執行下列步驟來新增邏輯應用程式工作流程:
以至少作為 [身分識別治理系統管理員] 的身分登入 Microsoft Entra 系統管理中心。
提示
可完成此工作的其他最低權限角色包括目錄擁有者和資源群組擁有者。
在左側功能表中,選取 [目錄]。
選取您要新增自訂延伸模組的目錄,然後在左側選單中,選取 [自訂延伸模組]。
在標頭導覽列中,選取 [新增自訂延伸模組]。
在 [基本] 索引標籤中,輸入自訂延伸模組的名稱和工作流程的描述。 這些欄位會顯示在目錄的 [自訂延伸模組] 索引標籤中。
在 [延伸模組設定] 中選取 [啟動並等待],這會暫停相關聯的存取套件動作,直到連結至延伸模組的邏輯應用程式完成其工作後,管理員才會傳送繼續動作以繼續此流程。 如需此流程的詳細資訊,請參閱:設定暫停權利管理流程的自訂延伸模組 (部分機器翻譯)。
在 [詳細數據] 索引標籤中,選擇 [建立新的邏輯應用程式] 字段中的 [是]。 新增邏輯應用程式的名稱,以及您要放置它的訂用帳戶和資源群組。
在 [檢閱和建立] 中,檢閱自定義延伸模組的摘要,並確定邏輯應用程式的詳細數據,且已標註正確。 檢閱這些詳細數據之後,請選取 [ 建立]。
建立之後,邏輯應用程式就可以在自定義擴充功能頁面上的 [邏輯應用程式] 下存取。 您可以在存取套件原則中呼叫此項目。
提示
若要深入了解暫停權利管理流程的自訂延伸模組,請參閱:設定暫停權利管理流程的自訂延伸模組 (部分機器翻譯)。
將自訂延伸模組新增至現有存取套件內的原則
在目錄中設定自訂擴充性之後,系統管理員可以建立具有原則的存取套件,以便在要求獲得核准時觸發自訂延伸模組。 這讓他們能夠定義特定的存取需求,並量身打造存取權檢閱流程,以符合其組織需求。
在 Identity Governance 入口網站中,至少以 Identity Governance 管理員 (部分機器翻譯) 的身分,選取 [存取套件]。
提示
可完成此工作的其他最低權限角色包括目錄擁有者和存取套件管理員。
從已建立的存取套件清單中,選取您想要新增自訂延伸模組 (邏輯應用程式) 的存取套件。
變更為 [原則] 索引標籤,選取原則,然後選取 [編輯]。
在原則設定中,前往 [自訂延伸模組] 索引標籤。
在 [階段] 下的功能表中,選取存取套件事件,而您想要使用此存取套件事件作為此自訂延伸模組 (邏輯應用程式) 的觸發程序。 在我們的案例中,若要在已核准存取套件時觸發自訂延伸模組邏輯應用程式工作流程,請選取 [要求已核准]。
注意
若要為先前授與權限的過期指派建立 ServiceNow 票證,請針對「指派已移除」新增階段,然後選取 LogicApp。
在 [自訂延伸模組] 下的功能表中,選取您在上述步驟中建立的自訂延伸模組 (邏輯應用程式) 以新增至此存取套件。 [時間] 欄位中選取的事件發生時,會執行您選取的動作。
注意
如果您想要建立新的存取套件,請選取 [新增存取套件]。 如需如何建立存取套件的詳細資訊,請參閱: 在權利管理中建立新的存取套件。 如需如何編輯現有存取套件的詳細資訊,請參閱:在 Microsoft Entra 權利管理中變更存取套件的要求設定 (部分機器翻譯)。
在 Microsoft Entra 系統管理中心使用秘密註冊應用程式
提示
本文中的步驟可能略有不同,具體取決於您從哪個入口網站展開作業。
透過 Azure,您可以使用 Azure Key Vault 來儲存應用程式秘密 (例如密碼)。 若要在 Microsoft Entra 系統管理中心使用秘密註冊應用程式,請遵循下列步驟:
以至少作為 [身分識別治理系統管理員] 的身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別]> [應用程式]> [應用程式註冊]。
在 [管理] 底下,選取 [應用程式註冊] > [新增註冊]。
輸入應用程式的顯示 [名稱]。
在支援的帳戶類型中,選取 [僅限此組織目錄中的帳戶]。
選取註冊。
註冊應用程式之後,您必須遵循下列步驟來新增用戶端密碼:
瀏覽至 [身分識別]> [應用程式]> [應用程式註冊]。
選取您的應用程式。
選擇證書&密碼>用戶端密碼>新用戶端密碼。
新增用戶端密碼的描述。
選取祕密的到期日,或指定自訂存留期。
選取 [新增]。
注意
如需應用程式註冊的詳細資訊,請參閱:快速入門:在 Microsoft 身分識別平台中註冊應用程式 (部分機器翻譯):
若要授權已建立的應用程式呼叫 MS Graph 繼續 API,請執行下列步驟:
瀏覽至 Microsoft Entra 系統管理中心:Identity Governance - Microsoft Entra 系統管理中心
在左側功能表中,選取 [目錄]。
選取您已新增自訂延伸模組的目錄。
選取 [角色和系統管理員] 功能表,然後選取 [+ 新增存取套件指派管理員]。
在 [選取成員] 對話方塊中,搜尋依名稱或應用程式識別碼建立的應用程式。 選取應用程式,然後選擇 [選取] 按鈕。
提示
您可以於此處的 Microsoft 官方文件中,找到有關委派和角色的更多詳細資訊:權利管理中的委派和角色 (部分機器翻譯)。
設定 ServiceNow 以進行自動化驗證
此時,即應設定 ServiceNow,以便在 ServiceNow 票證關閉後恢復權利管理工作流程:
- 請遵循下列步驟,在 ServiceNow 應用程式登錄中註冊 Microsoft Entra 應用程式:
- 請依照下列步驟,建立系統 Web 服務 REST API 訊息:
- 移至 [系統 Web 服務] 底下的 [REST API 訊息] 區段。
- 選取 [新增] 按鈕以建立新的 REST API 訊息。
- 填寫所有必要欄位,包括提供端點 URL:
https://learn.microsoft.com/en-us/graph/api/accesspackageassignmentrequest-resume?view=graph-rest-1.0&tabs=http
- 針對 [驗證],選取 [OAuth2.0],然後選擇應用程式註冊流程期間建立的 OAuth 設定檔。
- 選取 [提交] 按鈕來儲存變更。
- 返回 [系統 Web 服務] 底下的 [REST API 訊息] 區段。
- 選取 [HTTP 要求],然後選取 [新增]。 輸入名稱,然後選取 [POST] 作為 HTTP 方法。
- 在 HTTP 要求中,使用下列 API 結構描述來新增 HTTP 查詢參數的內容:
{ "data": { "@odata.type": "#microsoft.graph.accessPackageAssignmentRequestCallbackData", "customExtensionStageInstanceDetail": "Resuming-Assignment for user", "customExtensionStageInstanceId": "${StageInstanceId}", "stage": "${Stage}" }, "source": "ServiceNow", "type": "microsoft.graph.accessPackageCustomExtensionStage.${Stage}" }
- 選取 [提交] 以儲存變更。
- 修改要求資料表結構描述:若要修改要求資料表結構描述,請變更下圖所示的三個資料表:
新增三個資料行標籤並輸入為字串:
- AccessPackageAssignmentRequestId
- AccessPackageAssignmentStage
- StageInstanceId
- 若要使用流程設計工具將工作流程自動化,請執行下列步驟:
- 登入 ServiceNow 並移至流程設計工具。
- 選取 [新增] 按鈕,然後建立新的動作。
- 新增動作,以叫用在上一個步驟中建立的系統 Web 服務 REST API 訊息。
此動作的指令碼:(使用上一個步驟中建立的欄標籤更新指令碼):
(function execute(inputs, outputs) { gs.info("AccessPackageAssignmentRequestId: " + inputs['accesspkgassignmentrequestid']); gs.info("StageInstanceId: " + inputs['customextensionstageinstanceid'] ); gs.info("Stage: " + inputs['assignmentstage']); var r = new sn_ws.RESTMessageV2('Resume ELM WorkFlow', 'RESUME'); r.setStringParameterNoEscape('AccessPackageAssignmentRequestId', inputs['accesspkgassignmentrequestid']); r.setStringParameterNoEscape('StageInstanceId', inputs['customextensionstageinstanceid'] ); r.setStringParameterNoEscape('Stage', inputs['assignmentstage']); var response = r.execute(); var responseBody = response.getBody(); var httpStatus = response.getStatusCode(); var requestBody = r.getRequestBody(); gs.info("requestBody: " + requestBody); gs.info("responseBody: " + responseBody); gs.info("httpStatus: " + httpStatus); })(inputs, outputs);
- 儲存動作
- 選取 [新增] 按鈕以建立新的流程。
- 輸入流程名稱,選取 [Run as – System User] \(執行身分:系統使用者\),然後選取 [提交]。
- 若要在 ServiceNow 內建立觸發程序,請遵循下列步驟:
以終端使用者身分要求存取套件的存取權
當終端使用者要求存取套件的存取權時,該要求會傳送至適當的核准者。 核准者授與核准之後,權利管理便會呼叫邏輯應用程式。 接著,邏輯應用程式會呼叫 ServiceNow 建立新的要求/票證,而權利管理則會等候 ServiceNow 的回呼。
以終端使用者身分接收要求的存取套件存取權
IT 支援小組會處理先前建立以執行必要布建的票證,並關閉 ServiceNow 票證。 當票證關閉時,ServiceNow 會觸發呼叫以繼續權利管理工作流程。 要求完成之後,要求者會收到來自權利管理的通知,說明要求已完成。 此簡化的工作流程可確保有效率地完成存取要求,並即時通知使用者。
注意
如果終端使用者未在 14 天內關閉票證,則會在 MyAccess 入口網站中看到「指派失敗」。
下一步
請前往下一篇文章以了解如何建立...
在權利管理中使用自訂延伸模組觸發 Logic Apps (部分機器翻譯)