整合 Google 表單與 Google SecOps

本文說明如何將 Google 表單與 Google Security Operations (Google SecOps) 整合。

事前準備

在 Google SecOps 中設定 Google 表單整合功能之前,請確認 Google Cloud 和 Google Workspace 環境已準備好進行 API 存取和模擬。

為確保整合功能正常運作,必須協調三個元素來管理權限:

  1. 服務帳戶:扮演系統之間的橋梁。

  2. 委派使用者:服務帳戶模擬的身分,用於存取表單資料。

  3. 權限:定義身分可執行操作的範圍和角色。

如果您模擬的使用者已具備必要的管理權限,則不必建立自訂角色。不過,許多組織偏好建立具有自訂角色的專屬服務使用者,以遵循最小權限原則。

請完成下列前置步驟:

  1. 建立服務帳戶。
  2. 建立 JSON 金鑰。
  3. 為專案啟用必要的 API。
  4. 選用:建立整合專用的自訂角色。
  5. 選用:將自訂角色指派給使用者。
  6. 將網域層級的權限委派給服務帳戶。

建立服務帳戶

服務帳戶代表非人類使用者,可讓整合項目安全地通過驗證並取得授權,進而存取您的資料。

  1. 前往 Google Cloud 控制台的「Credentials」(憑證) 頁面。

    前往「憑證」

  2. 依序選取「add_2 建立憑證」>「服務帳戶」。

  3. 在「Service account details」(服務帳戶詳細資料) 下方的「Service account name」(服務帳戶名稱) 欄位中輸入名稱。

  4. 選用:編輯服務帳戶 ID。

  5. 按一下「完成」。

建立 JSON 金鑰

Google SecOps 需要 JSON 金鑰檔案,才能證明服務帳戶的身分並建立安全連線。

  1. 選取服務帳戶,然後前往「金鑰」。

  2. 依序點選「新增金鑰」>「建立新的金鑰」。

  3. 選取「JSON」做為金鑰類型,然後按一下「建立」。系統會顯示「Private key saved to your computer」(私密金鑰已儲存至您的電腦) 對話方塊,並將私密金鑰副本下載到您的電腦。

為專案啟用必要的 API

您必須啟用特定 Google Cloud API,整合功能才能與 Google 表單和 Google Workspace 目錄互動。

  1. 在 Google Cloud 控制台中,前往「APIs & Services」(API 與服務)。

    前往「API 與服務」頁面

  2. 按一下「add」「Enable APIs and Services」(啟用 API 和服務)。

  3. 為專案啟用下列 API:

    • Admin SDK API

    • Google Forms API

選用:為整合作業建立自訂角色

如果您用於模擬的使用者帳戶尚未具備必要的管理權限,可以建立權限有限的自訂角色。使用者必須具備下列項目的 Admin API 權限,才能進行整合:

  • 組織單位

  • 使用者

  • 網路論壇

  1. 在 Google 管理控制台中,依序前往「帳戶 > 管理員角色」。

  2. 選取「建立新角色」。

  3. 輸入新自訂角色的名稱,然後按一下「Continue」(繼續)。

  4. 在「選取權限」中,找到「Admin API 權限」部分。

  5. 勾選「組織單位」、「使用者」和「群組」核取方塊。

  6. 依序點選「繼續」>「建立角色」。

選用:將自訂角色指派給使用者

如果您在前一個步驟中建立了自訂角色,現在必須將該角色指派給用於模擬的特定電子郵件地址。

  1. 在 Google 管理控制台中,依序前往「目錄」 > 「使用者」。

  2. 選取要用於整合的使用者 (現有管理員或新的專屬使用者)。

  3. 開啟使用者的設定,然後依序按一下 「管理員角色與權限」 > 「編輯」圖示。

  4. 選取您建立的自訂角色,然後將切換鈕切換至「已指派」。

  5. 按一下 [儲存]。

將全網域授權委派給服務帳戶

全網域委派功能可讓服務帳戶模擬授權使用者,存取整個 Google Workspace 網域的資料。

  1. 在網域的 Google 管理控制台中,依序前往 「Security」(安全性) >「Access and data control」(存取權與資料控管) >「API controls」(API 控制項)。

  2. 在「Domain wide delegation」(全網域委派) 窗格中,選取「Manage Domain Wide Delegation」(管理全網域委派設定)。

  3. 按一下「新增」。

  4. 在「Client ID」(用戶端 ID) 欄位中,輸入在第一個步驟中建立的服務帳戶用戶端 ID。

  5. 在「OAuth Scopes」(OAuth 範圍) 欄位中,輸入下列以半形逗號分隔的必要範圍清單:

    https://mail.google.com/,
    https://www.googleapis.com/auth/admin.directory.customer.readonly,
    https://www.googleapis.com/auth/admin.directory.domain.readonly,
    https://www.googleapis.com/auth/admin.directory.group,
    https://www.googleapis.com/auth/admin.directory.group.member,
    https://www.googleapis.com/auth/admin.directory.orgunit,
    https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly,
    https://www.googleapis.com/auth/admin.directory.user,
    https://www.googleapis.com/auth/admin.directory.user.alias,
    https://www.googleapis.com/auth/apps.groups.settings,
    https://www.googleapis.com/auth/cloud-platform,
    https://www.googleapis.com/auth/forms.body.readonly,
    https://www.googleapis.com/auth/forms.responses.readonly
    
  6. 按一下 [授權]。

整合參數

Google 表單整合功能需要下列參數:

參數 說明
Delegated Email 必要

用於模擬和存取控管的電子郵件地址。

Service Account JSON 必要

服務帳戶金鑰 JSON 檔案的內容。

Verify SSL 必要

如果選取,整合功能會驗證用於連線至 Google 表單的 SSL 憑證是否有效。

預設為選取。

如要瞭解如何在 Google SecOps 中設定整合功能,請參閱「設定整合功能」。

如有需要,您可以在後續階段進行變更。設定整合執行個體後,即可在應對手冊中使用。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。

動作

如要進一步瞭解動作,請參閱「 在工作區回應待處理動作」和「在案件中執行手動動作」。

乒乓

使用 Ping 動作測試與 Google 表單的連線能力。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

無

動作輸出內容

Ping 動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

Ping 動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Successfully connected to the Google Forms server with the provided connection parameters! 動作成功。
Failed to connect to the Google Forms server! Error is ERROR_REASON

動作失敗。

請檢查伺服器連線、輸入參數或憑證。

指令碼執行結果

下表列出使用 Ping 動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success True或False

連接器

如要進一步瞭解如何在 Google SecOps 中設定連接器,請參閱「擷取資料 (連接器)」。

Google 表單 - 回覆連接器

使用 Google 表單 - 回覆連接器,從 Google 表單提取回覆。

Google 表單 - 回覆連接器需要下列參數:

參數 說明
Product Field Name 必要

儲存產品名稱的欄位名稱。

預設值為 Product Name。

Event Field Name 必要

用於判斷事件名稱 (子類型) 的欄位名稱。

預設值為 event_type。

Environment Field Name 選用

儲存環境名稱的欄位名稱。

如果找不到環境欄位,系統會將環境設為預設環境。

預設值為 ""。

Environment Regex Pattern 選用

規則運算式模式,用於對 Environment Field Name 欄位中的值執行。這個參數可讓您使用規則運算式邏輯,操控環境欄位。

使用預設值 .* 擷取必要的原始 Environment Field Name 值。

如果規則運算式模式為空值或空白,或環境值為空值,則最終環境結果為預設環境。

Script Timeout (Seconds) 必要

執行目前指令碼的 Python 程序逾時限制 (以秒為單位)。

預設值為 300 秒。

Delegated Email 必要

用於模擬和存取控管的電子郵件地址。

Service Account JSON 必要

服務帳戶金鑰 JSON 檔案的內容。

Form IDs To Track 必要

以半形逗號分隔的 Google 表單 ID 清單,用於追蹤回覆。

如要擷取表單的專屬 ID,請在表單編輯器中開啟表單 (而非公開回覆連結),然後複製瀏覽器網址列中完整網址內 /d/ 和 /edit 之間的字串。

Alert Severity 選用

連接器根據擷取的 Google 表單回覆建立的所有快訊,都會指派這個嚴重性等級。

可能的值如下:

  • Informational
  • Low
  • Medium
  • High
  • Critical

預設值為 Low。

Max Hours Backwards 必要

第一次連接器疊代前,要擷取回應的小時數。這項參數適用於首次啟用連接器後的初始連接器疊代,或過期連接器時間戳記的備用值。

預設值為 1 小時。

Max Responses To Fetch 必要

每次疊代連接器時,要處理的回應數量上限。

上限為 100。

Disable Overflow 選用

如果選取,連接器會在建立快訊時忽略 Google SecOps 溢位機制。

預設為未選取。

Verify SSL 必要

如果選取,整合功能會驗證用於連線至 Google 表單的 SSL 憑證是否有效。

預設為未選取。

Proxy Server Address 選用

要使用的 Proxy 伺服器位址。

Proxy Username 選用

用於驗證的 Proxy 使用者名稱。

Proxy Password 選用

用於驗證的 Proxy 密碼。

連接器規則

Google 表單 - 回覆連接器支援 Proxy。

連接器事件

以下範例顯示 Google 表單 – 回覆連接器產生的 Google SecOps 事件 JSON 輸出內容:

{
   "responseId": "RESPONSE_ID",
   "createTime": "2024-09-05T11:43:13.892Z",
   "lastSubmittedTime": "2024-09-05T11:43:13.892123Z",
   "event_type": "Question",
   "questionId": "78099fe3",
   "textAnswers": {
       "answers": [
           {
               "value": "Option 1"
           }
       ]
   }
}

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。