共用方式為


教學:使用 Microsoft Entra 權利管理整合自動化的 ServiceNow 票證建立

案例:在此案例中,您會了解如何使用自訂擴充性和邏輯應用程式來自動產生 ServiceNow 票證,以便手動佈建已接收指派且需要應用程式存取權的使用者。

在本教學課程中,您將了解:

  • 將邏輯應用程式工作流程新增至現有的目錄。
  • 將自訂擴充功能新增至現有存取套件中的政策。
  • 在 Microsoft Entra ID 中註冊應用程式以繼續權利管理工作流程
  • 設定 ServiceNow 以進行自動化驗證。
  • 以終端使用者的身分要求存取套件的權限。
  • 以使用者身分接收所要求存取套件的存取權。

必要條件

注意

完成這些步驟時,建議使用最低權限角色。

將邏輯應用程式工作流程新增至現有目錄以進行權利管理

若要將邏輯應用程式工作流程新增至現有的類別目錄,請使用ARM範本,在此建立邏輯應用程式:

部署至 Azure

邏輯應用程式 ARM 範本的螢幕快照。

提供資源群組詳細資訊,以及目錄 ID,以將邏輯應用程式與其相關聯,然後按一下 [購買]。 如需如何建立新目錄的詳細資訊,請參閱: 在權利管理中建立和管理資源目錄

建立目錄之後,您可以執行下列步驟來新增邏輯應用程式工作流程:

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

    提示

    可完成此工作的其他最低權限角色包括目錄擁有者和資源群組擁有者。

  2. 在左側功能表中,選取 [目錄]

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

  4. 在標頭導覽列中,選取 [新增自訂延伸模組]

  5. 基本標籤中,輸入自訂擴充功能的名稱和工作流程的描述。 這些欄位會顯示在目錄的 [自訂延伸模組] 索引標籤中。 建立權利管理的自定義延伸模組螢幕快照。

  6. 選取 [延伸模組類型] 為 [要求工作流程],以對應正在創建的存取套件所要求的政策階段。 特權管理自定義擴展行為操作索引標籤的螢幕截圖。

  7. 在 [延伸模組設定] 中選取 [啟動並等待],這會暫停相關聯的存取套件動作,直到連結至延伸模組的邏輯應用程式完成其工作後,管理員才會傳送繼續動作以繼續此流程。 如需此程式的詳細資訊,請參閱: 設定暫停權利管理程式的自定義延伸模組

  8. 在 [ 詳細數據] 索引標籤中,選擇 [建立新的邏輯應用程式] 字段中的 [否],因為邏輯應用程式已在先前的步驟中建立。 不過,您必須提供 Azure 訂用帳戶和資源群組詳細數據,以及邏輯應用程式名稱。 權利管理自定義延伸模組詳細數據索引標籤的螢幕快照。

  9. 檢閱和建立中,檢閱自定義延伸模組的摘要,並確保邏輯應用程式調用的詳細資料正確無誤。 然後選取 [建立]

  10. 建立後,可以在自訂擴充功能頁面的[邏輯應用程式]下方存取邏輯應用程式。 您可以在存取套件原則中呼叫此項目。 自訂延伸模組清單的螢幕快照。

提示

若要深入瞭解暫停權利管理程式的自定義延伸模組功能,請參閱: 設定可暫停權利管理程式的自定義延伸模組

將自訂擴充模組新增至現有存取套件中的策略

在目錄中設定自訂擴充性之後,系統管理員可以建立具有原則的存取套件,以便在要求獲得核准時觸發自訂延伸模組。 這讓他們能夠定義特定的存取需求,並量身打造存取權檢閱流程,以符合其組織需求。

  1. 在 [身分識別治理入口網站] 中,以至少 身分識別治理管理員 的身分,選取 [存取套件]。

    提示

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

  2. 從已建立的存取套件清單中,選取您想要新增自訂延伸模組 (邏輯應用程式) 的存取套件。

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

  4. 在原則設定中,前往 [自訂延伸模組] 頁籤。

  5. 在 [ 階段] 下方的功能表中,選取您想要作為此自訂擴充功能(邏輯應用程式)觸發器的存取套件事件。 在我們的案例中,若要在存取套件核准後觸發自訂延伸模組的 Logic App 工作流程,請選取 [要求已核准]

    注意

    要為之前授權過的已過期指派建立 ServiceNow 工單,請新增「指派已移除」階段,然後選取 LogicApp。

  6. 在 [自訂延伸模組] 下的功能表中,選取您在上述步驟中建立的自訂延伸模組 (邏輯應用程式) 以新增至此存取套件。 當[c0]欄位中選擇的事件發生時,會執行您選擇的動作。

  7. 選取 [更新],將其新增至現有的存取套件政策。 存取套件自定義延伸模組詳細數據的螢幕快照。

注意

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

在 Microsoft Entra 系統管理中心中將含有密鑰的應用程式進行註冊

透過 Azure,您可以使用 Azure Key Vault 來儲存應用程式秘密,例如密碼。 若要在 Microsoft Entra 系統管理中心中註冊包含機密的應用程式,請遵循下列步驟:

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

  2. 流覽至 Entra ID>應用程式註冊

  3. 在 [管理] 底下,選取 [應用程式註冊] > [新增註冊]。

  4. 輸入應用程式的顯示名稱。

  5. 在支援的帳戶類型中,選取 [僅限此組織目錄中的帳戶]。

  6. 選擇登記。

註冊應用程式之後,您必須遵循下列步驟來新增用戶端密碼:

  1. 流覽至 Entra ID>應用程式註冊

  2. 選取您的應用程式。

  3. 選擇證書&密碼>用戶端密碼>新用戶端密碼。

  4. 新增用戶端密鑰的描述。

  5. 選取祕密的到期日,或指定自訂存留期。

  6. 選取 [新增]。

注意

若要尋找註冊應用程式的詳細資訊,請參閱: 快速入門:在Microsoft身分識別平臺中註冊應用程式

若要授權建立的應用程式呼叫MS Graph 履歷 API,請執行下列步驟:

  1. 流覽至 Microsoft Entra 系統管理中心 身分識別治理 - Microsoft Entra 系統管理中心

  2. 在左側功能表中,選取 [目錄]

  3. 選取您已新增自訂延伸模組的目錄。

  4. 選取 [角色和系統管理員] 功能表,然後選取 [+ 新增存取套件指派管理員]。

  5. 在 [選取成員] 對話方塊中,搜尋依名稱或應用程式識別碼建立的應用程式。 選取應用程式,然後選擇 [選取] 按鈕。

提示

您可以在此處找到有關委派和角色的詳細資訊,請參閱這裡Microsoft的官方檔: 委派和權利管理中的角色

設定 ServiceNow 以進行自動化驗證

此時,即應設定 ServiceNow,以便在關閉 ServiceNow 票證後恢復權限管理工作流程。

  1. 請遵循下列步驟,在 ServiceNow 應用程式登錄中註冊 Microsoft Entra 應用程式:
    1. 登入 ServiceNow 並瀏覽至應用程式登錄。
    2. 選取 [新增],然後選取 [Connect to a third party OAuth Provider] \(連線至第三方 OAuth 提供者\)
    3. 提供應用程式的名稱,然後在 [預設授與類型] 中選取 [用戶端認證]。
    4. 輸入您在 Microsoft Entra 系統管理中心註冊 Microsoft Entra 應用程式時所產生的用戶端名稱、識別碼、用戶端密碼、授權 URL、權杖 URL。
    5. 提交應用程式。 ServiceNow 內應用程式登錄的螢幕快照。
  2. 請依照下列步驟,建立系統 Web 服務 REST API 訊息:
    1. 移至 [系統 Web 服務] 底下的 [REST API 訊息] 區段。

    2. 選取 [新增] 按鈕以建立新的 REST API 訊息。

    3. 填寫所有必要欄位,包括提供端點 URL:https://learn.microsoft.com/en-us/graph/api/accesspackageassignmentrequest-resume?view=graph-rest-1.0&tabs=http

    4. 針對 [驗證],選取 [OAuth2.0],然後選擇應用程式註冊流程期間建立的 OAuth 設定檔。

    5. 選取 [提交] 按鈕來儲存變更。

    6. 返回 [系統 Web 服務] 底下的 [REST API 訊息] 區段。

    7. 選取 [HTTP 要求],然後選取 [新增]。 輸入名稱,然後選取 [POST] 作為 HTTP 方法。

    8. 在 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}"
                  }
      
    9. 選取 [提交] 以儲存變更。 ServiceNow 內恢復呼叫選取項目的螢幕快照。

      ServiceNow 內 HTTP 要求的螢幕快照。

  3. 修改要求資料表結構描述:若要修改要求資料表結構描述,請變更下圖所示的三個資料表: ServiceNow 內要求數據表架構的螢幕快照。 新增四個數據行標籤,並輸入為字串:
    • 存取套件指派請求 ID (AccessPackageAssignmentRequestId)
    • 存取套件分配階段
    • 階段實例識別碼
    • Entra使用者物件ID
  4. 若要使用流程設計工具將工作流程自動化,請執行下列步驟:
    1. 登入 ServiceNow 並移至流程設計工具。
    2. 選取 [新增] 按鈕,然後建立新的動作。
    3. 新增動作,以叫用在上一個步驟中建立的系統 Web 服務 REST API 訊息。 流程設計器腳本的螢幕截圖,以繼續 ServiceNow 中的權利管理流程。 動作的腳本:(使用在上一步驟中創建的列標籤更新腳本):
      (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); 
      
    4. 儲存動作
    5. 選取 [新增] 按鈕以建立新的流程。
    6. 輸入流程名稱,選取 [Run as – System User] \(執行身分:系統使用者\),然後選取 [提交]。
  5. 若要在 ServiceNow 內建立觸發程序,請遵循下列步驟:
    1. 選取 [新增觸發程序],然後選取 [更新] 觸發程序,並針對每次更新執行觸發程序。
    2. 透過更新條件來新增篩選條件,如下圖所示: ServiceNow 呼叫權限管理概要 API 的螢幕快照
    3. 選擇 [完成]。
    4. 選取添加動作 流程圖起始事件的螢幕快照。
    5. 選取 [動作],然後選取上一個步驟中建立的動作。 流程設計工具動作選擇的螢幕快照。
    6. 將新建立的欄位從請求記錄拖放到適當的動作參數。
    7. 選取 [完成]、[儲存],然後選取 [啟用]。 在流程設計工具內儲存並啟用的螢幕快照。

以最終使用者的身分申請存取權限包

當終端使用者要求存取套件的存取權時,該要求會傳送至適當的核准者。 核准者授與核准之後,權利管理便會呼叫邏輯應用程式。 接著,邏輯應用程式會呼叫 ServiceNow 建立新的要求/票證,而權利管理則會等候 ServiceNow 的回呼。

要求存取套件的螢幕快照。

以終端使用者身分接收要求的存取套件

IT 支援小組會處理事先建立的票證,進行必要的調整,然後關閉該 ServiceNow 票證。 當票證關閉時,ServiceNow 會觸發一個呼叫來恢復權利管理工作流程。 要求完成之後,要求者會收到來自權利管理的通知,說明要求已完成。 此簡化的工作流程可確保有效率地完成存取要求,並即時通知使用者。

我的存取要求歷程記錄的螢幕快照。

注意

如果終端使用者未在 14 天內關閉票證,則會在 MyAccess 入口網站中看到「指派失敗」。

下一步

請進入下一篇文章以了解如何建立...