設定 ServiceNow 執行個體以進行變更資料擷取

您可以使用 Datastream,將 ServiceNow 執行個體中的資料複製到支援的目的地,例如 BigQuery 或 Cloud Storage。建立連線設定檔前,請先設定專屬整合使用者、基本或 OAuth 2.0 驗證,並視需要將 Datastream IP 位址加入許可清單。

事前準備

開始設定 ServiceNow 以搭配 Datastream 使用前,請確認您已備妥下列項目:

  • 使用中的 ServiceNow 執行個體,例如 company.service-now.com。
  • ServiceNow 執行個體的管理員權限,可建立使用者、指派角色及管理 OAuth 應用程式註冊。
  • 瞭解 ServiceNow 執行個體版本。

設定整合使用者

在 ServiceNow 中,您可以建立新使用者,或調整現有帳戶的設定,允許 Datastream 存取。基於安全性和稽核考量,強烈建議您建立專屬的整合使用者。

  1. 在 ServiceNow 中,依序前往「User Administration」>「Users」。
  2. 如要建立新使用者,請按一下「新增」。如要編輯現有使用者,請在使用者清單中搜尋使用者 ID,然後按一下該 ID 開啟記錄。
  3. 設定使用者詳細資料:

    • 在「User ID」(使用者 ID) 欄位中輸入不重複的名稱,例如 datastream_integration。您只為新使用者設定使用者 ID。
    • 如果您為連接器選取 OAuth 驗證,建議您在「First name」(名字) 和「Last name」(姓氏) 欄位中輸入值,以便更準確地識別使用者記錄。
    • 身分設定:根據 ServiceNow 平台版本:

      • Xanadu 以上版本:在「Identity type」下拉式選單中選取「Machine」。系統會自動啟用「Web service access only」(僅限存取 Web 服務)。
      • Xanadu 之前版本:勾選「Web service access only」(僅限存取 Web 服務) 核取方塊。
  4. 儲存記錄:

    • 如果是新使用者,請按一下「提交」。
    • 如果是現有使用者,請按一下「更新」。
  5. 如果您建立了新使用者,請重新開啟記錄。在清單中找出使用者,然後按一下「User ID」,即可存取記錄選項。

  6. 設定密碼:

    1. 按一下表單標頭中的「Set Password」。
    2. 輸入高強度密碼,然後按一下「儲存密碼」。
    3. 如果您對連接器使用基本驗證,請記下密碼,因為設定連線設定檔時會用到。
  7. 指派權限。您必須授予整合使用者所有要複製資料表的讀取權限。此外,連接器需要 sys_db_object、sys_table_rotation 和 sys_dictionary 系統中繼資料表的明確讀取的權限。

選用:設定 OAuth 2.0 用戶端憑證

OAuth 2.0 是最安全的驗證方式,建議您搭配 Datastream 使用 ServiceNow 連接器。它會使用用戶端 ID 和用戶端密鑰,而非永久密碼。

  1. 為執行個體啟用 OAuth 2.0 外掛程式。詳情請參閱 ServiceNow 說明文件。
  2. 確認 com.snc.platform.security.oauth.is.active 系統屬性已設為 true。詳情請參閱 ServiceNow 說明文件。
  3. 確認 glide.oauth.inbound.client.credential.grant_type.enabled 系統屬性已設為 true。詳情請參閱 ServiceNow 說明文件。
  4. 設定傳入 OAuth 設定。您可以根據執行個體安全性需求,選取下列其中一個 OAuth 設定範圍:

    • 範圍廣泛:使用範圍廣泛的 OAuth 時,權杖持有者會沿用相關聯的使用者角色和存取控管清單 (ACL)。
    • 精細 REST API 驗證範圍:這類 OAuth 設定會限制特定 REST API 和方法,除了相關聯的使用者角色和 ACL 外,還必須在範圍內。
  5. 建立 OAuth 整合記錄。詳情請參閱 ServiceNow 說明文件:

  6. 建立 OAuth 整合記錄後,設定會因平台版本和 OAuth 範圍而異:

    • 廣泛設定:

      • Zurich 和後續版本:在整合記錄的「Auth scope」(授權範圍) 部分,確認「Auth scope」(授權範圍) 或「Limit authorization to the following APIs」(將授權限制為下列 API) 欄位中沒有任何項目,且未勾選「Allow access only to APIs in selected scope」(僅允許存取所選範圍內的 API) 核取方塊。
      • Zurich 之前:在「Scope restriction」(範圍限制) 下拉式選單中,選取「Broadly scoped」(廣泛範圍),並將「Auth scopes」(驗證範圍) 清單留空。
    • 精細的 REST API 驗證範圍設定:您可以視需要使用驗證範圍,進一步限制權杖持有者只能使用範圍允許的特定 REST API 和方法。Datastream 連接器只需要 Table API 的 GET 存取權。視平台版本而定,請執行下列步驟:

      • Zurich 以上版本:在整合記錄的「Auth scope」部分,選取授權範圍,並限制其對 Table API 的存取權。

      • Zurich 之前:

        1. 限制所選授權範圍的 Table API 存取權。詳情請參閱 ServiceNow 說明文件。
        2. 在「Auth Scopes」(驗證範圍) 專區下方新增範圍。
        3. 在「Scope Restriction」方塊中,選取「Securely scoped」。

選用:設定 IP 位址存取控管

如果 ServiceNow 執行個體使用IP 位址存取控管,您必須明確將 Datastream IP 位址加入許可清單。

  1. 在 ServiceNow 中,依序前往「System Security」>「IP 位址存取控管」。
  2. 點選「New」(新增)。
  3. 在記錄建立表單中,套用下列設定:
    1. 在「Type」(類型) 下拉式選單中,選取「Allow」(允許)。
    2. 在「方向」下拉式選單中,選取「傳入」。
    3. 在「Range start」(範圍開頭) 和「Range end」(範圍結尾) 欄位中,輸入 Datastream IP 位址清單中的特定 IP 位址或位址範圍。
    4. 確認已勾選「Active」核取方塊。
  4. 按一下「提交」。
  5. 針對 Datastream 位址清單中的每個 IP 位址,重複執行上述步驟。

後續步驟