使用動態消息 UI

支援的國家/地區:

本文說明如何在動態饋給管理使用者介面中建立、排解及管理動態饋給,包括修改、啟用及刪除動態饋給的指示。

事前準備

在 Google Security Operations 中設定資料動態饋給前,必須先滿足特定必要條件。如要瞭解動態饋給的規定,請參閱「依來源類型設定」一文,並搜尋特定資料來源。

支援的壓縮格式和檔案大小

動態饋給擷取作業支援的壓縮格式包括 .gz、.tar.gz、.tar 和 solr.gz。 下表列出 Google SecOps 摘要轉換功能支援的不同檔案大小:

作業 輸入類型 建議大小 預期時間長度 大小上限
建立資料模型 CSV < 5 GB < 7 分鐘 10 GB
建立資料模型 CSV < 5 GB 約 30 分鐘 10 GB
建立資料模型 CSV 待定 待定 2 GB
建立資料模型 XML / JSON < 1 GB < 10 分鐘 2 GB
建立資料模型 XLS / XLSX < 50 MB 約 1 分鐘 50 MB
合併檔案 不限 < 1 GB 視檔案數量而定 100 GB
解壓縮檔案 非 ZIP < 5 GB 視檔案數量而定 10 GB (未壓縮)
解壓縮檔案 ZIP - 視檔案數量而定 4 GB (未壓縮)

記錄行限制和分隔符號

擷取文字記錄 (JSON、CSV 或 Syslog) 時,請確保資料符合下列擷取限制:

  • 單行大小上限:單行記錄檔不得超過 4 MB。如果單行超過此限制,動態饋給就會失敗並顯示 MaxLogLineSize4MBExceeded 錯誤。
  • 支援的分隔符:支援換行 (\n) 和回車 + 換行 (\r\n)。

變更連結的 Cloud 專案對資料動態饋給的影響

如果您要更新與 Google Security Operations 執行個體相關聯的 Google Cloud 專案,使用下列連接器擷取資料的所有動態饋給都會停止運作,且必須手動重新建立:

  • AMAZON_S3_V2
  • AMAZON_SQS_V2
  • GOOGLE_CLOUD_STORAGE_V2
  • AZURE_BLOBSTORE_V2
  • GOOGLE_CLOUD_STORAGE_EVENT_DRIVEN

如果動態消息未使用這些連接器,則可繼續擷取資料,不會受到任何影響。顧客無須採取任何行動。

在遷移過程中應該注意什麼

受影響的動態消息會出現下列變更:

  • 動態饋給狀態:遷移前建立的動態饋給會立即停止提取即時資料,並進入唯讀狀態。
  • 現有資料:遷移前已轉移至 Google SecOps 的資料會自動擷取,不會遺失。
  • 錯誤訊息:如果嘗試編輯或刪除較舊的動態消息,系統會顯示「你無法編輯或刪除較舊的動態消息」This feed is read-only because this SecOps has now moved to a new Google Cloud Project (BYOP). To continue ingesting data from this source, please create a new feed訊息。

客戶必須採取的行動

如要確保資料持續擷取,請在新環境中手動重新建立動態饋給。請按照下列步驟操作,盡量減少服務中斷時間:

  1. 重新建立動態饋給:你必須建立新的動態饋給,取代遷移前使用的動態饋給。
  2. 設定檔案最長保留時間:設定新動態饋給時,請將「檔案最長保留時間」設為在 BYOP 更新啟動前約 2 小時。這段緩衝時間可確保轉換作業順利進行。
  3. 管理重複資料:視選取的「最長檔案存在時間」而定,您可能會遇到重複資料轉移的情況。如要瞭解 Google SecOps 如何篩除這些多餘記錄的技術細節,請參閱「防止重複資料刪除」。

  4. 記錄並刪除現有動態饋給 (遷移前):開始 BYOP 遷移前,請記錄所有使用受影響的連結器 (例如 Amazon S3 V2) 的現有動態饋給設定,然後刪除這些動態饋給。如果未刪除遷移前建立的資訊提供,這些資訊提供會變成無法管理,並以孤立設定的形式保留在 Google SecOps 網頁介面中。

設定動態饋給的方法

Google SecOps 客戶可在平台中設定動態饋給,方法有兩種。請使用最適合您環境的方法:

  • 「SIEM 設定」>「動態饋給」(標準)
  • 內容中心 > 內容包 (進階版)

設定動態饋給

本節說明如何一般設定動態饋給,首先是標準程序流程。「動態饋給」頁面列出的資料動態饋給,包括 Google 為你帳戶設定的所有動態饋給,以及你設定的動態饋給。

新增動態消息

如要在 Google SecOps 帳戶中新增動態消息,請完成下列步驟:

  1. 在 Google SecOps 選單中,依序選取「SIEM 設定」>「動態消息」

  2. 按一下「新增動態消息」

  3. 在下一個頁面中,按一下「設定單一動態饋給」。注意:如果您使用 Google SecOps SIEM 獨立平台,則不適用這個步驟。

  4. 新增動態饋給名稱。

  5. 在「Source type」(來源類型) 清單中,選取要將資料匯入 Google SecOps 的來源類型。 你可以選取下列動態饋給來源類型:

    • Amazon Data Firehose
    • Amazon S3 (已淘汰)
    • Amazon S3 (V2)
    • Amazon SQS (已淘汰)
    • Amazon SQS (V2)
    • Azure Blob 儲存體 (已淘汰)
    • Azure Blob 儲存體 (V2)
    • 自訂 API
    • Google Cloud Pub/Sub
    • Cloud Storage (已淘汰)
    • Cloud Storage (V2)
    • Cloud Storage Event Driven
    • 第三方 API
    • Webhook

    重要事項:

    • 使用 Amazon S3 (已淘汰)、Amazon SQS (已淘汰)、Azure Blob 儲存體 (已淘汰) 和 Cloud Storage (已淘汰) 動態饋給時,請務必使用有效的目錄路徑。 Google Cloud
    • 使用 Amazon SQS (已淘汰) 或 Amazon SQS (V2) 時,請明確授予 Google SecOps 權限,從 Amazon SQS 佇列刪除訊息。
    • 使用 Amazon SQS (已淘汰) 動態饋給時,請確認只有一個動態饋給會從佇列取用訊息。如果其他應用程式或動態饋給已讀取訊息,系統就不會將這些訊息擷取到目前的動態饋給。
    • 只有 Amazon S3 值區中的記錄,才支援使用 Amazon SQS (已淘汰) 做為動態饋給來源類型。
  6. 在「記錄類型」清單中,選取要擷取的記錄檔對應的記錄類型。可用的記錄會因您先前選取的來源類型而異。

    如果選取「Cloud Storage」做為來源類型,請使用「取得服務帳戶」選項取得專屬服務帳戶。請參閱使用 Google Cloud Storage 設定動態饋給的範例

  7. 點選「下一步」

  8. 在「輸入參數」分頁中,指定所需參數。這裡顯示的選項會因您在「設定屬性」分頁中選取的來源和記錄類型而異。 將指標懸停在各欄位的問號圖示上,即可取得額外資訊,瞭解需要提供的內容。

  9. 選用:您可以在「Set Properties」(設定屬性) 分頁中指定命名空間。 如要進一步瞭解命名空間,請參閱「使用資產命名空間」。

  10. 點選「下一步」

  11. 在「完成」分頁中,檢查新的動態饋給設定。

  12. 按一下「提交」。Google SecOps 會完成新動態消息的驗證檢查。如果動態消息通過檢查,系統會為動態消息產生名稱,並提交至 Google SecOps,而 Google SecOps 會開始嘗試擷取資料。

    完成動態饋給要求

為產品系列設定多個動態饋給 (僅限 Google SecOps 客戶)

您可以根據記錄類型,為每個產品系列設定多個動態饋給。

  • 基準記錄類型:標示為「建議」。建議使用這些記錄類型,確保平台核心功能正常運作。
  • 補充記錄類型:標示為選填。這些記錄類型可提供額外背景資訊。

為簡化設定程序,平台會針對每項設定提供具體的操作說明和預先定義的參數。舉例來說,您可以為 CrowdStrike Falcon 建立多個建議選用記錄類型下的專屬資訊提供,確保資料涵蓋範圍足夠全面。

設定 CrowdStrike EDR 的動態饋給

請按照下列步驟設定 CrowdStrike EDR 的記錄動態消息。

  1. 依序前往「設定」>「動態消息」,然後按一下「新增動態消息」
    1. 按一下「CrowdStrike Falcon」產品:
    2. 選取「CrowdStrike EDR」記錄類型。
  2. 或者,從「內容中心」> 內容套件,按一下「CrowdStrike Falcon」產品:
    1. 點選「開始使用」
    2. 選取「CrowdStrike EDR」記錄類型。
  3. 為下列欄位指定值:

    欄位 說明
    Source Type Amazon SQS
    Region 與 URI 相關聯的 AWS S3 區域。
    Queue Name 要讀取的 SQS 佇列名稱。
    Account Number SQS 帳號。
    Source Deletion Option 指出是否要在轉移後刪除檔案和目錄。
    Queue Access Key ID 帳戶的 20 個英數字元存取金鑰,例如 AKIAOSFOODNN7EXAMPLE
    Queue Secret Access Key 帳戶的 40 個字元英數字元私密存取金鑰,例如 wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

  4. 選用:設定下列參數:

    • 動態饋給名稱:系統預先填入動態饋給的專屬名稱。
    • 資產命名空間:與動態饋給相關聯的命名空間。
    • 擷取標籤:套用至這個動態饋給事件的標籤。
  5. 按一下「建立動態饋給」

如要為同一類型的記錄檔建立其他動態饋給,請重複執行上述步驟。您也可以直接在這個頁面中,為其他可用的記錄類型設定動態饋給。完成後,請前往「動態饋給管理」頁面,查看所有已設定記錄類型的詳細摘要。

IP 許可清單

啟用允許清單,並為所有從第三方 API 擷取資料的記錄類型新增 Google IP 範圍

刪除來源檔案

來源刪除選項可讓您在成功轉移後,從儲存空間刪除動態消息來源物件 (檔案和資料夾)。這個選項僅適用於特定動態饋給來源類型,包括 Cloud Storage。這些動態饋給來源類型包括「新增」和「編輯動態饋給」工作流程中的「SOURCE DELETION OPTION」欄位。

來源刪除選項

  • 對於支援的動態消息來源類型 (包括 Cloud Storage),「SOURCE DELETION OPTION」(來源刪除選項) 欄位提供下列選項:

    • 一律不刪除檔案
    • 刪除已轉移的檔案和空白目錄
    • 刪除轉移的檔案
  • Microsoft Azure Blob 儲存體 (AZURE_BLOBSTORE) 不支援刪除來源檔案。在「SOURCE DELETION OPTION」(來源刪除選項) 欄位中,請只選取「Never delete files」(永不刪除檔案) 選項。

  • 對於下列動態饋給來源 ("feedSourceType"): GOOGLE_CLOUD_STORAGE_V2GOOGLE_CLOUD_STORAGE_EVENT_DRIVENAMAZON_S3_V2AMAZON_SQS_V2AZURE_BLOBSTORE_V2,「來源刪除選項」欄位提供兩種選項:

    • 永不:一律不會在轉移後刪除任何檔案。
    • ON_SUCCESS:移轉完成後刪除所有檔案和空目錄。

來源專屬設定和權限

不同來源類型需要特定的驗證和網路設定,才能與 Google SecOps 通訊。本節說明如何設定權限及服務帳戶。本文列出的設定重點包括 Cloud Storage 擷取 (以提取為準)、多雲端擷取 (跨雲端提取) 和以推送為準的擷取 (API 或即時)。

Google Cloud Storage 動態饋給設定範例

  1. 在 Google SecOps 選單中選取「設定」,然後按一下「動態饋給」
  2. 按一下「新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」。如果您使用 Google SecOps SIEM 獨立平台,則不適用這個步驟。
  4. 在「來源類型」中選取「Cloud Storage v2」
  5. 選取「記錄類型」。舉例來說,如要建立 Google Kubernetes Engine 稽核記錄的資訊提供,請選取「Google Kubernetes Engine audit logs」(Google Kubernetes Engine 稽核記錄) 做為「Log Type」(記錄類型)
  6. 按一下「取得服務帳戶」。Google SecOps 提供專屬服務帳戶,供 Google SecOps 用於擷取資料。或者,您也可以使用 API,透過程式取得這個服務帳戶。請參閱「擷取服務帳戶」。
  7. 選用:設定服務帳戶。詳情請參閱「授予 Google SecOps 服務帳戶存取權」。
  8. 點選「下一步」
  9. 根據您建立的 Cloud Storage 設定,為下列欄位指定值:

    • 儲存空間 bucket URI

    • 來源刪除選項

    如要進一步瞭解如何設定 Cloud Storage bucket,請參閱「建立 bucket」。

  10. 依序點按「繼續」和「提交」

授予 Google SecOps 服務帳戶存取權

  1. 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 將相關 Cloud Storage 物件的存取權授予服務帳戶。

    • 如要授予特定檔案的讀取權限,請完成下列步驟:

      1. 選取檔案,然後按一下「編輯權限」
      2. 按一下「Add principal」(新增主體)
      3. 在「新增主體」欄位中,輸入 Google SecOps 服務帳戶的名稱。
      4. 將包含讀取權限的角色指派給 Google SecOps 服務帳戶。舉例來說,Storage 物件檢視者 (roles/storage.objectViewer)。 如要執行這項操作,您必須未啟用統一 bucket 層級存取權
      5. 按一下 [儲存]
    • 如要授予多個檔案的讀取權限,請在 bucket 層級授予存取權,如下所示:

      • 針對 "feedSourceType": "GOOGLE_CLOUD_STORAGE"

        1. 將 Google SecOps 服務帳戶新增為儲存空間 bucket 的主體,並授予 IAM「Storage 物件檢視者」 (roles/storage.objectViewer) 角色。
        2. 如果將動態饋給設定為刪除來源檔案,則必須將 Google SecOps 服務帳戶新增為 bucket 的主體,並授予 IAM Storage Object Admin (roles/storage.objectAdmin) 角色。
      • 針對 "feedSourceType": "GOOGLE_CLOUD_STORAGE_V2",授予下列角色:

        1. 授予這個角色:

          • Storage 物件檢視者 (roles/storage.objectViewer) (如果轉移至其他 Cloud Storage bucket)。
        2. 根據您在「來源刪除選項」中選取的項目,授予其中一個下列角色。如果選取「成功時」,請授予「Storage Legacy Bucket Writer」角色。如果選取「永不」,請授予「Storage 舊版 bucket 讀取者」角色:

          • Storage 舊版值區寫入者 (roles/storage.legacyBucketWriter),如果需要物件刪除權限。
          • 如果不需要物件刪除權限,請使用 Storage 舊版值區讀取者 (roles/storage.legacyBucketReader)。
      • 針對 "feedSourceType": "GOOGLE_CLOUD_STORAGE_EVENT_DRIVEN"

        1. 授予下列任一角色:

          • Storage 物件檢視者 (roles/storage.objectViewer),前提是轉移至另一個 Cloud Storage bucket。
          • Storage 物件建立者 (roles/storage.objectCreator),如果移轉至檔案系統。
        2. 授予下列任一角色:

          • Storage 舊版值區寫入者 (roles/storage.legacyBucketWriter),如果需要物件刪除權限。
          • 如果不需要物件刪除權限,請使用 Storage 舊版值區讀取者 (roles/storage.legacyBucketReader)。

為 Amazon S3 和 Azure 儲存空間啟用 STS 存取權

下列 Google Cloud Storage 資訊提供會使用 STS,將資料從 Amazon S3 和 Azure Storage Blob 儲存體移轉至 Google SecOps:

  • Amazon S3 (V2)
  • Amazon SQS (V2)
  • Azure Blob 儲存體 (V2)

STS 會從一組已定義的 STS IP 位址範圍,將資料移轉要求傳送至 Amazon S3 和 Azure 儲存空間服務。這些 STS IP 位址範圍會發布在下列 JSON 檔案中: IP 範圍

如要使用這些 STS 動態饋給來源類型,可能需要調整 IP 存取限制,讓 STS 能夠存取 Amazon S3 和 Azure 儲存服務:

  1. 從 JSON 檔案中擷取最新的 IP 範圍。

    建議您至少每週讀取一次這個 JSON 檔案中的資料,確保安全設定維持在最新狀態。將新範圍新增至檔案後,系統會等待至少 7 天,才會將該範圍用於 STS 的要求。

    如需從 JSON 檔案擷取 IP 範圍的 Python 指令碼範例,請參閱「預設網域的 IP 位址」。

  2. 比較目前的 IP 範圍 creationTime 與從先前 JSON 檔案讀取的 IP 範圍 creationTime。如果不同,請更新 Amazon S3 和 Azure 儲存體 Blob 儲存空間的 IP 存取限制。

    • 如果是 Amazon S3

      如要在 Amazon S3 Blobstore 中更新 IP 存取限制,請按照下列步驟操作:

      如果 AWS 專案使用 IP 限制來存取儲存空間,請務必將 STS 工作人員使用的 IP 範圍新增至允許的 IP 清單。

      如要將這些範圍新增為允許的 IP,請在 bucket policy 中使用 Condition 欄位,詳情請參閱 AWS S3 說明文件:根據特定 IP 位址管理存取權

    • Azure 儲存體

      如要更新 Azure 儲存空間 Blobstore 中的 IP 存取限制,請按照下列步驟操作:

      如果您使用 Azure 儲存體防火牆限制 Azure 資源的存取權,請務必將 STS 工作人員使用的 IP 範圍加入允許的 IP 清單。

      如要將這些範圍新增為允許的 IP,請按照「設定 Azure 儲存空間防火牆和虛擬網路」中的操作說明進行。

設定 Pub/Sub 推送動態消息

如要設定 Pub/Sub 推送動態消息,請按照下列步驟操作:

  1. 建立 Pub/Sub 推送動態消息。
  2. 在 Pub/Sub 訂閱項目中指定端點網址。

建立 Pub/Sub 推送動態消息

  1. 在 Google SecOps 選單中選取「設定」,然後按一下「動態消息」
  2. 按一下「新增」
  3. 在「動態饋給名稱」欄位中,輸入動態饋給名稱。
  4. 在「來源類型」清單中,選取「Google Cloud Pub/Sub 推送」
  5. 選取「記錄類型」。舉例來說,如要為開放式網路安全架構建立資訊主動提供機制,請選取「開放式網路安全架構 (OCSF)」做為「記錄類型」
  6. 點選「下一步」
  7. 選用:指定下列輸入參數的值:
    • 分割分隔符號:用於分隔記錄檔行的分隔符號。你只能使用 \n
    • 資產命名空間資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤。
  8. 點選「下一步」
  9. 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)
  10. 在「詳細資料」分頁中,從「端點資訊」欄位複製動態消息端點網址。 您需要這個端點網址,才能在 Pub/Sub 中建立推送訂閱項目。
  11. 選用:按一下「動態消息已啟用」切換按鈕,即可停用動態消息。動態消息預設為啟用。
  12. 按一下「完成」

指定端點網址

建立 Pub/Sub 推送動態饋給後,請按照下列步驟指定端點網址:

  1. 在 Pub/Sub 中建立推送訂閱項目。如要進一步瞭解如何建立推送訂閱項目,請參閱「建立推送訂閱」。
  2. 指定端點網址,該網址位於 Google Cloud Pub/Sub 推送動態饋給中。
  3. 選取「啟用驗證」,然後選取服務帳戶。
  4. 停用「推送酬載解除包裝」和「推送酬載解除包裝寫入訊息中繼資料」選項。

設定 Amazon Data Firehose 動態饋給

如要設定 Amazon Data Firehose 動態饋給,請按照下列步驟操作:

  1. 建立 Amazon Data Firehose 動態消息,然後複製端點網址和私密金鑰。
  2. 建立 API 金鑰,向 Google SecOps 進行驗證。您也可以重複使用現有的 API 金鑰,向 Google SecOps 進行驗證。
  3. 在 Amazon Data Firehose 中指定端點網址

建立 Amazon Data Firehose 動態饋給

  1. 在 Google SecOps 選單中選取「設定」,然後按一下「動態消息」
  2. 按一下「新增」
  3. 在「動態饋給名稱」欄位中,輸入動態饋給名稱。
  4. 在「Source type」(來源類型) 清單中,選取「Amazon Data Firehose」
  5. 選取「記錄類型」。舉例來說,如要為開放式網路安全架構建立資訊主動提供機制,請選取「開放式網路安全架構 (OCSF)」做為「記錄類型」
  6. 點選「下一步」
  7. 選用:指定下列輸入參數的值:
    • 分割分隔符號:用於分隔記錄檔行的分隔符號。你只能使用 \n
    • 資產命名空間資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤。
  8. 點選「下一步」
  9. 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)
  10. 按一下「產生密鑰」,產生驗證這個動態消息的密鑰。
  11. 複製並儲存密鑰,因為您無法再次查看這組密鑰。您可以再次產生新的密鑰,但重新產生的密鑰會使先前的密鑰失效。
  12. 在「詳細資料」分頁中,從「端點資訊」欄位複製動態消息端點網址。 在 Amazon Data Firehose 中指定傳送串流的目標設定時,需要這個端點網址。
  13. 選用:按一下「動態消息已啟用」切換按鈕,即可停用動態消息。動態消息預設為啟用。
  14. 按一下「完成」

為 Amazon Data Firehose 動態饋給建立 API 金鑰

如要為 Amazon Data Firehose 動態饋給建立 API 金鑰,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「憑證」頁面。
  2. 按一下「建立憑證」並選取「API 金鑰」
  3. 限制 API 金鑰對 Chronicle API 的存取權。

指定端點網址

在 Amazon Data Firehose 中,指定 HTTPS 端點和存取金鑰,如下所示:

  1. 將 API 金鑰附加至動態消息端點網址,並以以下格式指定這個網址做為 HTTP 端點網址:

      ENDPOINT_URL?key=API_KEY
    

    更改下列內容:

    • ENDPOINT_URL:動態消息端點網址。
    • API_KEY:用於向 Google SecOps 進行驗證的 API 金鑰。
  2. 存取金鑰:指定您在建立 Amazon Data Firehose 動態饋給時取得的私密金鑰。

設定 HTTPS Webhook 動態饋給

事前準備:

如要設定 HTTPS Webhook 資訊動態,請按照下列步驟操作:

  1. 建立 HTTPS Webhook 動態消息,然後複製端點網址和密鑰。
  2. 建立 API 金鑰,並指定端點網址。您也可以重複使用現有的 API 金鑰,向 Google SecOps 進行驗證。
  3. 在應用程式中指定端點網址

在單一 Webhook 要求中傳送多個事件

下列程式碼範例說明如何在 curl --location 項目後,以換行符號分隔多個 JSON 物件,並設定單一要求主體的格式:

--header 'Content-Type: application/json' \
--header 'X-goog-api-key: API_KEY' \
--header 'X-Webhook-Access-Key: SECRET' \
--data '{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}
{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}'

建立 HTTPS Webhook 動態饋給

  1. 在 Google SecOps 選單中選取「設定」,然後按一下「動態消息」
  2. 按一下「新增」
  3. 在「動態饋給名稱」欄位中,輸入動態饋給名稱。
  4. 在「來源類型」清單中,選取「Webhook」
  5. 選取「記錄類型」。舉例來說,如要為開放式網路安全架構建立資訊主動提供機制,請選取「開放式網路安全架構 (OCSF)」做為「記錄類型」
  6. 點選「下一步」
  7. 選用:指定下列輸入參數的值:
    • 分割分隔符號:用於分隔記錄檔行的分隔符號。你只能使用 \n
    • 資產命名空間資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤。
  8. 點選「下一步」
  9. 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)
  10. 按一下「產生密鑰」,產生驗證這個動態消息的密鑰。
  11. 複製並儲存密鑰,因為您無法再次查看這組密鑰。您可以再次產生新的密鑰,但重新產生的密鑰會使先前的密鑰失效。
  12. 在「詳細資料」分頁中,從「端點資訊」欄位複製動態消息端點網址。 您需要在用戶端應用程式中指定這個端點網址。
  13. 選用:按一下「動態消息已啟用」切換按鈕,即可停用動態消息。動態消息預設為啟用。
  14. 按一下「完成」

為 Webhook 動態饋給建立 API 金鑰

  1. 前往 Google Cloud 控制台的「憑證」頁面。
  2. 按一下 [Create credentials] (建立憑證),然後選取 [API key] (API 金鑰)
  3. 限制 API 金鑰對 Chronicle API 的存取權。

指定端點網址

  1. 在用戶端應用程式中,指定 HTTPS 端點 (可在 Webhook 動態消息中找到)。
  2. 如要啟用驗證,請在自訂標頭中指定 API 金鑰和私密金鑰,格式如下:

    X-goog-api-key = API_KEY

    X-Webhook-Access-Key = SECRET

    建議您將 API 金鑰指定為標頭,而不是在網址中指定。如果 Webhook 用戶端不支援自訂標頭,您可以使用查詢參數指定 API 金鑰和密鑰,格式如下:

      ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    更改下列內容:

    • ENDPOINT_URL:動態消息端點網址。
    • API_KEY:用於向 Google SecOps 進行驗證的 API 金鑰。
    • SECRET:您產生的密鑰,用於驗證動態消息。

設定自訂 API 動態饋給

Google Security Operations Custom API 資訊動態饋給 (又稱「無程式碼連接器」) 採用彈性設定型模型,可讓您從第三方 REST API 擷取遙測資料。您可以在控制台中直接定義端點、驗證、分頁策略和狀態管理,設定資料提取作業。

主要優點

  • 加速整合:透過導覽精靈,在幾分鐘內導入新的遙測來源,不必等待後端更新。
  • 有狀態檢查點:確保在輪詢週期內不會出現重複資料,也不會遺失任何記錄。
  • 父項-子項扇出:支援兩層探索工作流程,例如列出資源及擷取相關遙測資料。
  • 自動化韌性和頻率限制:防止供應商節流和配額用盡。為確保資料擷取作業穩定不中斷,自訂 API 動態饋給會自動處理 HTTP 429 回應,並採用指數式退避演算法、透過可設定的速率限制和工作延遲交錯處理要求,以及強制執行安全防護措施。詳情請參閱「速率限制和節流防護措施」。

必要條件

建立自訂 API 動態饋給前,請先確認下列必要條件:

  • 權限:如要建立或修改動態消息,您必須具備 Chronicle API 管理員 (roles/chronicle.admin) 或 Chronicle API 編輯者 (roles/chronicle.editor) 角色。
  • 第三方 API 規定:
    • 有效的 API 基準網址 (必須使用 https://)。
    • API 憑證 (API 金鑰、基本驗證憑證或 OAuth 2.0 用戶端 ID/密鑰)。
    • 供應商 API 說明文件,詳細說明端點路徑、要求參數、JSON 回應結構和速率限制。
  • Secret Manager 存取權:憑證會在 Secret Manager 中加密並安全管理。執行連接器的服務身分會自動與 Secret Manager 互動 (roles/secretmanager.secretAccessorroles/secretmanager.admin)。

設定自訂 API 動態饋給

如要設定自訂 API 動態饋給,請按照下列步驟操作:

  1. 依序前往「SIEM 設定」>「動態消息」
  2. 按一下「新增動態饋給」
  3. 按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中,輸入專屬的描述性名稱 (例如 1Password-Audit-Events)。
  5. 在「來源類型」清單中,選取「自訂 API」
  6. 在「記錄類型」清單中,選取目標 Google SecOps 記錄類型。
  7. 點選「下一步」
  8. 在「一般設定」下方,設定下列項目:

    • 基準網址:輸入主要主機 (例如 https://events.1password.com),開頭必須為 https://。請勿附加子路徑或尾端斜線。

    • 輪詢頻率:指定平台檢查 API 是否有新遙測資料的頻率 (以分鐘為單位)。支援的範圍:5 到 2880 分鐘 (預設值:15 分鐘)。如果是標準 API (循序) 動態消息,標準時間為 10 到 15 分鐘;如果是清單和詳細資料 (父項-子項) 動態消息,建議時間為 30 到 60 分鐘,確保所有扇出工作都能執行,不會重疊。

  9. 在「Authentication」(驗證) 下方,選取其中一種支援的驗證方式,然後設定必填欄位:

    • 基本驗證:輸入「使用者名稱」 (API 帳戶身分) 和「密鑰」 (即密鑰密碼或權杖)。
    • OAuth 2.0 用戶端憑證:使用 OAuth 2.0 用戶端憑證授權流程進行驗證。Google SecOps 會在每個擷取週期前,自動要求、快取及重新整理不記名存取權杖。輸入 OAuth 權杖端點 (例如 https://auth.vendor.com/oauth/token)、OAuth 用戶端 IDOAuth 用戶端密鑰
    • API 金鑰要求標頭:使用注入要求標頭的自訂 API 金鑰進行驗證 (最常見的企業 REST 模式)。輸入「Header name」(標頭名稱) (例如 AuthorizationX-API-Key) 和「Header value」(標頭值) (例如 Bearer <SECRET_TOKEN><SECRET_KEY>)。
    • API 金鑰查詢參數:使用插入網址查詢參數的自訂 API 金鑰進行驗證。輸入「查詢參數名稱」 (例如 api_key) 和「查詢參數值」 (例如 <SECRET_KEY>)。
  10. 選取自訂 API 使用的連接器模型:

    • 標準 API (循序):線性輪詢流程,每次輪詢都直接以先前的狀態為基礎。在這個模型中,下一次輪詢會使用從前一次輪詢擷取的游標、權杖或時間戳記,只擷取新資料。如果供應商提供的端點會直接傳回遙測事件記錄 (例如 1Password、Okta、SentinelOne、GitHub 或 Slack),請選取這張資訊卡。
    • 清單與詳細資料 (上層/子項):兩層探索流程。動態饋給會進行初始呼叫 (父項),以擷取資源或物件清單 (例如使用者 ID 或區域清單)。然後,系統會自動產生依附的後續呼叫 (子項),以擷取所識別每個資源的詳細遙測資料。如果供應商 API 需要兩層探索模式,請選取這張資訊卡:先呼叫端點來擷取實體的動態清單 (例如區域、帳戶、專案、裝置),然後針對每個實體執行後續詳細資料要求,以擷取遙測資料 (例如 Cloudflare、AWS CloudWatch 或 Tenable)。
  11. 如果選取「標準 API (依序)」,請按照下列步驟操作:

    1. 在「API 端點」下方,設定下列參數,定義要求的技術路徑和速率調控:
      • 端點路徑:附加至基準網址的特定 API 路由 (例如 /api/v1/auditevents)。這會定義要查詢的確切遙測資源。
      • HTTP 方法:選取「GET」,使用網址查詢參數擷取資料;或選取「POST」,提交搜尋酬載或篩選器主體。
    2. 要求主體:如果是 POST 要求,請提供 JSON 資料酬載。您可以嵌入動態檢查點變數,例如 {"limit": 100, "start_time": "{{.last_timestamp}}"}
    3. 每分鐘要求數上限:輸入每分鐘要傳送的要求數量上限。這是用戶端頻率限制器,可確保符合供應商 API 頻率限制 (預設值:5 RPM = 每 12 秒 1 項要求)。這項設定可避免在多頁分頁期間用盡配額。
    4. 選用:在「自訂標頭」下方,設定「標頭名稱」和「值」,然後按一下「新增」,定義目標 API 要求的專用 HTTP 標頭 (例如 Content-Type: application/json, Accept: application/json)。
    5. 選用:在「查詢參數」下方,設定「鍵」和「值」,然後按一下「新增」,指定附加至網址查詢字串的額外篩選條件或選項 (例如 count=1000status=active),或繫結動態範本變數 (例如 start={{.last_run_time}})。
    6. 在「分頁策略:」下方,選取第三方 API 處理多頁結果集時所需的分頁機制,然後設定必要欄位:
      • 無:在單一要求中擷取資料,不分頁。
      • 權杖分頁:使用權杖 (自訂鍵) 取得下一頁。輸入「Next page token JSON path」(下一頁權杖 JSON 路徑) (例如 meta.next_cursor) 和「Token pagination query parameter name」(權杖分頁查詢參數名稱) (例如 cursor)。
      • 連結分頁:追蹤回覆中提供的網址,即可取得更多資料。輸入「下一頁連結 JSON 路徑」 (例如 links.next@odata.nextLink)。
      • 偏移分頁:略過一組記錄,取得下一組記錄。輸入偏移查詢參數名稱 (例如 offset)。
      • 頁碼分頁:前往下一個連續頁碼。輸入「頁碼查詢參數名稱」 (例如 page)。
    7. 在「檢查點」下方,設定允許連接器在週期性輪詢週期之間記住停止位置的設定:

      • 策略:選擇下列任一策略,並設定必填欄位:
        • 無:擷取所有可用資料,但不追蹤週期進度。
        • 最新時間戳記:追蹤最新記錄的時間戳記。輸入「檢查點值 JSON 路徑」(例如 timestampevent_time) 和「檢查點變數」(例如 last_run_time,後續輪詢會以 {{.last_run_time}} 參照)。
        • 最新記錄:追蹤最高記錄 ID,只擷取新記錄。輸入檢查點值 JSON 路徑 (例如 idevent_id) 和檢查點變數 (例如 last_id,參照為 {{.last_id}})。
        • 迭代器權杖:使用 API 提供的持續性接續權杖。輸入「檢查點值 JSON 路徑」和「檢查點變數」 (例如 iterator_token,參照為 {{.iterator_token}})。
    8. 在「回應對應」下方,提供規則來告知平台如何尋找及擷取記錄:

      • 目標資料 JSON 路徑:在 API 回應酬載中,輸入目標記錄項目清單所在位置的確切路徑。如果是以物件包裝的陣列 (例如 {"items": [...]}),請輸入 items。如果 API 直接傳回根 JSON 陣列 (例如 [{...}, {...}]),請將這個欄位完全留空 ([])。
  12. 如果選取「清單與詳細資料 (上層/子項)」,請執行下列操作:

    1. 上層要求 (探索):設定要傳回項目清單的端點:
      1. 在「API 端點」下方,設定下列參數,定義要求的技術路徑和速率調控:
        • 端點路徑:附加至基準網址的特定 API 路由 (例如 /api/v1/auditevents)。這會定義要查詢的確切遙測資源。
        • HTTP 方法:選取「GET」,使用網址查詢參數擷取資料;或選取「POST」,提交搜尋酬載或篩選器主體。
        • 要求主體:如果是 POST 要求,請提供 JSON 資料酬載。您可以嵌入動態檢查點變數,例如 {"limit": 100, "start_time": "{{.last_timestamp}}"}
      2. 每分鐘要求數上限:輸入每分鐘要傳送的要求數量上限。這是用戶端頻率限制器,可確保符合供應商 API 頻率限制 (預設值:5 RPM = 每 12 秒 1 項要求)。這項設定可避免在多頁分頁期間用盡配額。
      3. 選用:在「自訂標頭」下方,設定「標頭名稱」和「值」,然後按一下「新增」,定義目標 API 要求的專用 HTTP 標頭 (例如 Content-Type: application/json, Accept: application/json)。
      4. 選用:在「查詢參數」下方,設定「鍵」和「值」,然後按一下「新增」,指定附加至網址查詢字串的額外篩選條件或選項 (例如 count=1000status=active),或繫結動態範本變數 (例如 start={{.last_run_time}})。
      5. 在「分頁策略:」下方,選取第三方 API 處理多頁結果集時所需的分頁機制,然後設定必要欄位:
        • 無:在單一要求中擷取資料,不分頁。
        • 權杖分頁:使用權杖 (自訂鍵) 取得下一頁。輸入「Next page token JSON path」(下一頁權杖 JSON 路徑) (例如 meta.next_cursor) 和「Token pagination query parameter name」(權杖分頁查詢參數名稱) (例如 cursor)。
        • 連結分頁:追蹤回覆中提供的網址,即可取得更多資料。輸入「下一頁連結 JSON 路徑」 (例如 links.next@odata.nextLink)。
        • 偏移分頁:略過一組記錄,取得下一組記錄。輸入偏移查詢參數名稱 (例如 offset)。
        • 頁碼分頁:前往下一個連續頁碼。輸入「頁碼查詢參數名稱」 (例如 page)。
      6. 在「檢查點」下方,設定允許連接器在週期性輪詢週期之間記住停止位置的設定:
        • 策略:選擇下列任一策略,並設定必填欄位:
          • 無:擷取所有可用資料,但不追蹤週期進度。
          • 最新時間戳記:追蹤最新記錄的時間戳記。輸入「檢查點值 JSON 路徑」(例如 timestampevent_time) 和「檢查點變數」(例如 last_run_time,後續輪詢會以 {{.last_run_time}} 參照)。
          • 最新記錄:追蹤最高記錄 ID,只擷取新記錄。輸入檢查點值 JSON 路徑 (例如 idevent_id) 和檢查點變數 (例如 last_id,參照為 {{.last_id}})。
          • 迭代器權杖:使用 API 提供的持續性接續權杖。輸入「檢查點值 JSON 路徑」和「檢查點變數」 (例如 iterator_token,參照為 {{.iterator_token}})。
    2. 資料擷取 (橋接器):設定下列項目:
      • 項目 ID JSON 路徑:父項回應中可明確識別個別實體的特定欄位 (例如 idzone_id)。連接器會從父項陣列的每個項目中擷取這個 ID。
      • 範本變數名稱:指定自訂變數名稱,用來保存擷取的 ID (例如 zone_id)。使用者介面會顯示動態徽章:在下方的子項要求中使用 {{.zone_id}}
    3. 子項要求 (詳細資料):設定要傳回每個項目詳細記錄的端點:
      1. 在「API 端點」下方,設定下列參數,定義要求的技術路徑和速率調控:
        • 端點路徑:附加至基準網址的特定 API 路由 (例如 /client/v4/zones/{{.zone_id}}/logs/received)。這會定義要查詢的確切遙測資源。
        • HTTP 方法:選取「GET」,使用網址查詢參數擷取資料;或選取「POST」,提交搜尋酬載或篩選器主體。
        • 要求主體:如果是 POST 要求,請提供 JSON 資料酬載。您可以嵌入動態檢查點變數,例如 {"limit": 100, "start_time": "{{.last_timestamp}}"}
      2. 每分鐘要求數上限:輸入每分鐘要傳送的要求數量上限。這是用戶端頻率限制器,可確保符合供應商 API 頻率限制 (預設值:5 RPM = 每 12 秒 1 項要求)。這項設定可避免在多頁分頁期間用盡配額。
      3. 選用:在「自訂標頭」下方,設定「標頭名稱」和「值」,然後按一下「新增」,定義目標 API 要求的專用 HTTP 標頭 (例如 Content-Type: application/json, Accept: application/json)。
      4. 選用:在「查詢參數」下方,設定「鍵」和「值」,然後按一下「新增」,指定附加至網址查詢字串的額外篩選條件或選項 (例如 count=1000status=active),或繫結動態範本變數 (例如 start={{.last_run_time}})。
      5. 在「分頁策略:」下方,選取第三方 API 處理多頁結果集時所需的分頁機制,然後設定必要欄位:
        • 無:在單一要求中擷取資料,不分頁。
        • 權杖分頁:使用權杖 (自訂鍵) 取得下一頁。輸入「Next page token JSON path」(下一頁權杖 JSON 路徑) (例如 meta.next_cursor) 和「Token pagination query parameter name」(權杖分頁查詢參數名稱) (例如 cursor)。
        • 連結分頁:追蹤回覆中提供的網址,即可取得更多資料。輸入「下一頁連結 JSON 路徑」 (例如 links.next@odata.nextLink)。
        • 偏移分頁:略過一組記錄,取得下一組記錄。輸入偏移查詢參數名稱 (例如 offset)。
        • 頁碼分頁:前往下一個連續頁碼。輸入「頁碼查詢參數名稱」 (例如 page)。
      6. 在「檢查點」下方,設定允許連接器在週期性輪詢週期之間記住停止位置的設定:
        • 策略:選擇下列任一策略,並設定必填欄位:
          • 無:擷取所有可用資料,但不追蹤週期進度。
          • 最新時間戳記:追蹤最新記錄的時間戳記。輸入「檢查點值 JSON 路徑」(例如 timestampevent_time) 和「檢查點變數」(例如 last_run_time,後續輪詢會以 {{.last_run_time}} 參照)。
  13. 設定下列「排程和標籤」設定:

    • 輪詢頻率:選取標準間隔 (例如 5m1h)。
    • 命名空間:選填的機構標記。
    • 擷取標籤:資料 RBAC 的鍵/值組合。
  14. 按一下「提交」。Google SecOps 會自動執行憑證和端點驗證檢查。如果驗證成功,動態饋給就會開始輪詢。

設定範例 1:1Password 稽核事件 (標準 API (循序) 模型)

以下宣告式 JSON 設定示範 Standard API (Sequential) 模型,並為 1Password 提供以游標為準的檢查點:

{
  "base_url": "https://events.1password.com",
  "polling_frequency": 15,
  "header_auth": {
    "header_key_values": [
      {
        "key": "Authorization",
        "value": "Bearer <SECRET_STORED_IN_SECRET_MANAGER>"
      }
    ]
  },
  "primary_request": {
    "request_settings": {
      "endpoint_path": "/api/v1/auditevents",
      "http_method": "POST",
      
      "request_body": "{\"limit\": 1000, \"start_time\": \"{{.last_run_time}}\"}",
      
      "custom_headers": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "max_requests_per_minute": 5
    },
    "pagination_strategy": {
      "token": {
        "next_page_token_json_path": "additional_items_url",
        "query_param": "cursor"
      }
    },
    "checkpointing": {
      "latest_timestamp_strategy": {
        "checkpoint_value_path": "timestamp",
        "checkpoint_variable": "last_run_time"
      }
    },
    "response_mapping": {
      "target_data_path": ["items"]
    }
  }
}

具體範例設定 2:Cloudflare 區域遙測 (清單與詳細資料 (上層/子項) 模型)

下列宣告式 JSON 設定示範了 Cloudflare 的清單和詳細資料 (父項/子項) 擴散傳遞功能模型:

{
 "base_url": "https://api.cloudflare.com",
 "polling_frequency": 30,
 "header_auth": {
   "header_key_values": [
     {
       "key": "Authorization",
       "value": "Bearer <SECRET_STORED_IN_SECRET_MANAGER>"
     }
   ]
 },

 "primary_request": {
   "request_settings": {
     "endpoint_path": "/client/v4/zones",
     "http_method": "GET"
   },
   "response_mapping": {
     "target_data_path": ["result"]
   },
   "pagination_strategy": {
     "none": {}
   },
   "checkpointing": {
     "none_strategy": {}
   },
   "dependent_requests_config": {
     "item_id_json_path": "id",
     "item_id_variable": "zone_id",
     "dependent_requests": [
       {
         "request_settings": {
           "endpoint_path": "/client/v4/zones/{{.zone_id}}/logs/received",
           "http_method": "GET",
           "query_parameters": [
             {
               "key": "start",
               "value": "{{.last_run_time}}"
             },
             {
               "key": "count",
               "value": "1000"
             }
           ],
           "max_requests_per_minute": 5
         },

         "pagination_strategy": {
           "none": {}
         },
         "checkpointing": {
           "latest_timestamp_strategy": {
             "checkpoint_value_path": "EdgeStartTimestamp",
             "checkpoint_variable": "last_run_time"
           }
         },
         "response_mapping": {
           "target_data_path": []
         }
       }
     ]
   }
 }
}

自訂 API 最佳做法

  • 輪詢頻率指引
    • 先採用適中的輪詢間隔:針對高用量端點,請將初始輪詢間隔設為 15 分鐘或 30 分鐘,觀察供應商 API 配額行為,再將間隔縮短為 5 分鐘。
    • 針對大量擴散傳遞功能進行最佳化:對於探索數十或數百個資源的父項/子項 (清單和詳細資料) 動態饋給,Google 強烈建議您將輪詢頻率設為 30 到 60 分鐘,讓所有步調一致的子項任務都能順利完成,再啟動下一個探索週期。
  • 驗證擷取路徑:使用供應商文件或 API 測試工具,在設定狀態檢查點前,確認時間戳記的確切 JSON 欄位名稱。
  • 分解多子項 API:如果第三方 API 需要擷取單一使用者名單的快訊稽核記錄,請建立兩個獨立的單一子項動態饋給 (一個用於快訊,另一個用於稽核記錄),以維持最佳隔離狀態。

頻率限制和節流防護機制

為避免客戶動態饋給設定超出第三方供應商配額或獨占系統資源,Custom API 動態饋給類型會實作下列自動防護措施:

  • 可設定要求步調 (頻率限制):系統會自動調整傳出 HTTP 要求的步調,避免超出供應商的頻率限制。預設的步調速率為每分鐘 5 個要求 (每 12 秒 1 個要求)。您可以使用端點設定中的「每分鐘要求數上限」欄位,根據供應商發布的 API 配額調整每個端點,
  • 子項要求上限:對於父項/子項 (清單和詳細資料) 動態消息,探索要求在每個輪詢週期最多可發送 500 個子項要求。
  • 單層扇出深度:連接器會嚴格強制執行 1 層的最大扇出深度 (父項探索 → 子項詳細資料)。系統不支援巢狀從屬要求 (孫代呼叫)。
  • 回應酬載大小上限:任何單一要求或網頁的 HTTP 回應大小上限為 50 MB。如果未分頁的 API 傳回的回應超過 50 MB,擷取作業就會失敗,並顯示資源耗盡錯誤。為避免這種情況,請務必設定分頁查詢參數 (例如 limitpage_size),以較小的批次擷取記錄。
  • 自動 HTTP 429 因應處理:如果第三方供應商 API 回應 HTTP 429 (要求數過多),Google SecOps 會自動擷取狀態並啟動指數因應處理期,暫停執行工作,直到供應商配額窗口重新填滿為止。

自訂 API 限制

規劃擷取路徑時,請注意自訂 API 動態饋給類型有下列限制:

  • 嚴格支援 JSON:僅支援 JSON API 回應。系統不支援 XML、CSV、Parquet 和 Avro 等其他格式。
  • 不支援動態要求簽署:不支援需要為每項要求提供動態加密簽章的 API (例如 AWS SigV4、Akamai 或 Oracle OCI)。
  • 不支援多步驟驗證:不支援需要先進行初始程式輔助登入呼叫,以交換憑證來取得臨時工作階段權杖 (例如 Saviynt),然後再輪詢的 API。
  • 不支援 WebSockets 或 Push 擷取:自訂 API 動態消息支援標準 HTTPS 提取輪詢。系統不支援持續串流連線 (WebSocket) 和傳入的 Webhook。
  • 沒有相互傳輸層安全性 (mTLS):驗證必須依據 API 金鑰、基本驗證或標準 OAuth 2.0 用戶端憑證。不支援用戶端憑證交握。

排解自訂 API 動態饋給問題

如要在 Cloud Logging Logs Explorer 中調查自訂 API 資訊動態饋給的錯誤,請使用下列查詢:

resource.type="gce_instance" OR resource.type="generic_task"
jsonPayload.service="gopher"
jsonPayload.feed_id="FEED_ID"

FEED_ID 替換為動態饋給 ID。

如要專門篩選失敗的 HTTP 要求,請使用下列查詢:

jsonPayload.service="gopher"
jsonPayload.feed_id="FEED_ID"
jsonPayload.http_status_code >= 400

FEED_ID 替換為動態饋給 ID。

常見失敗模式和解決方案

症狀 / 錯誤 根本原因 解決方案 / 補救措施
HTTP 401 Unauthorized / HTTP 403 Forbidden API 金鑰、密碼或 OAuth 憑證已過期或無效。 編輯動態饋給,重新輸入有效憑證,然後按一下「提交」
HTTP 404 找不到 基本網址或端點路徑範本不正確。 請查看供應商 API 說明文件中的端點。請確認基準網址結尾乾淨俐落,且端點路徑開頭為「/」。
HTTP 429 要求數量過多 超過供應商 API 頻率限制。 提高輪詢頻率,或減少查詢參數中的 limit 參數。
JSON 擷取錯誤 (items_path 為空) 回應設定路徑不符。 驗證 API 回應酬載結構,並更新目標資料 JSON 路徑。
重複擷取資料 狀態設定時間戳記或 ID 擷取器路徑無效。 檢查記錄欄位名稱的時間戳記,並更新擷取器路徑。

管理動態消息

設定資料動態饋給後,即可使用管理工具監控擷取健康狀態、修改現有參數,以及管理動態饋給生命週期。本節說明如何解讀動態饋給狀態,以及執行必要維護工作,確保資料持續顯示。

「動態饋給」頁面提供多種工具,可協助你瀏覽及整理已設定的動態饋給清單:

  • 搜尋:使用搜尋列依動態饋給名稱動態饋給 ID來源類型尋找動態饋給。

  • 篩選器:按一下篩選器圖示,即可根據特定動態饋給屬性縮小清單範圍。

  • 下載 CSV:按一下「下載為 CSV」,即可將目前的動態消息清單匯出為 CSV 檔案。

  • 分頁:使用分頁控制項執行下列操作:

    • 變更「每頁列數」

    • 使用頁面分頁和箭頭,瀏覽多頁動態消息。

  • 上次重新整理時間:查看時間戳記,瞭解動態消息清單上次更新的時間。

查看已設定的動態饋給

「動態饋給」頁面會顯示所有已設定的動態饋給。

  1. 依序前往「SIEM 設定」>「動態饋給」。主頁面會顯示所有已設定的動態饋給。
  2. 將游標懸停在各列上,即可顯示「更多」 more_vert 選單。
  3. 在選單中,你可以查看動態消息詳細資料、編輯、停用或刪除動態消息。

監控動態饋給狀態

你可以在初始的「動態饋給」頁面中監控動態饋給狀態,動態饋給可能會有下列狀態:

  • 有效:動態饋給已設定完成,可將資料擷取至 Google SecOps 帳戶。
  • InProgress:Google SecOps 嘗試從已設定的第三方擷取資料。
  • 已完成:動態消息已成功擷取資料。
  • 已封存:已停用動態饋給。
  • 失敗:動態饋給無法順利擷取資料。這可能是因為設定問題所致,按一下問題即可顯示設定錯誤。修正錯誤並重新提交動態饋給後,請返回「動態饋給」頁面,確認動態饋給是否正常運作。

編輯現有動態饋給

在「動態饋給」頁面上,您可以編輯現有動態饋給,方法如下:

  1. 將游標懸停在現有動態消息上,然後點按右欄中的 more_vert

  2. 按一下「編輯動態饋給」。現在可以修改動態饋給的輸入參數,然後重新提交給 Google SecOps,系統會嘗試使用更新後的動態饋給。

啟用 (繼續) 及停用 (暫停) 動態饋給

停用動態消息後,Google SecOps 就會停止從該來源擷取新資料。如要立即停止擷取資料,請刪除動態饋給。現有進行中或受到節流的轉移作業會繼續執行,直到完成為止。重新啟用動態消息後,Google SecOps 就能擷取動態消息停用期間遺漏的資料。這項功能稱為「回填功能」。

在「狀態」欄中,已啟用的動態饋給會標示為「有效」、「進行中」、「已完成」或「失敗」。停用的欄位會標示為「已封存」。如需說明,請參閱「監控動態饋給狀態」。

在「動態饋給」頁面中,你可以啟用 (繼續) 或停用 (暫停) 任何現有動態饋給:

  1. 將游標懸停在現有動態消息上,然後點按右欄中的 more_vert

  2. 選用:按一下「動態饋給已啟用」切換鈕,啟用動態饋給。

  3. 選用:按一下「停用動態消息」切換鈕,即可停用動態消息。動態消息現在會標示為「已封存」

重新啟用動態消息時復原資料 (回填功能)

Google SecOps 是否能回填資料,取決於動態饋給是採用提取式 (支援) 或推送式 (不支援)。

提取式動態饋給

Google SecOps 會透過這些動態饋給,從外部來源提取資料。提取動態饋給包括:

  • 雲端儲存空間值區,例如 Amazon S3、 Google Cloud Storage、Azure Blob 儲存體
  • 安全檔案傳輸通訊協定伺服器
  • 第三方 API,例如 Microsoft 365、Okta、Proofpoint

    重新啟用提取式動態饋給後,Google SecOps 就能擷取動態饋給停用期間產生的資料。

推播式動態饋給

外部系統可透過這些動態饋給將資料「推送」至 Google SecOps。推送動態消息包括:

  • HTTPS Webhook
  • Google Cloud Pub/Sub
  • Amazon Kinesis Data Firehose
  • 直接 API/代理程式擷取,例如 Bindplane

Google SecOps 無法從推送式動態饋給自動啟動資料補充作業。如果動態饋給已停用,但系統仍推送資料,Google SecOps 會傳送 HTTP 403 Forbidden 錯誤或一般 4xx 錯誤。

如果系統未儲存資料並重試傳送至 Google SecOps,資料就會遺失。此外,如果系統設為「失敗時捨棄」或清除緩衝區,該期間的資料就會永久遺失。為避免資料遺失,請設定系統,在重新啟用動態饋給後緩衝及重新傳送資料。摘要恢復後,Google SecOps 就能擷取遺漏的資料。

後備廣告注意事項

  • 來源系統限制:Google SecOps 可從提取式資訊提供系統回填的歷史資料量,取決於來源系統保留資料的時間長度,以及 API 允許的資料量。舉例來說,部分 API 只提供過去七天的資料。
  • Google SecOps 緩衝區:如要自動復原,Google SecOps 的內部緩衝區會保留提取式動態饋給資料最多 90 天,之後就會捨棄資料。
  • 租戶限制:非付費租戶 (例如概念驗證) 可能無法回填舊資料。
  • 擷取配額:為避免影響即時資料擷取作業,回填資料的處理優先順序會低於即時資料。以提取為基礎的資料補充作業也會受到頻率限制,通常每種記錄類型為租戶爆發上限的三分之一 (33%)。這可確保 EDR 代理程式等重要的推送式動態饋給不會受到負面影響。
  • 動態速率限制:如果回填作業耗盡所有可用的提取配額,系統會在剩餘的五分鐘間隔暫停擷取作業,並在間隔重新開始時自動繼續。
  • 雲端儲存空間:你可以使用動態消息設定控管回填作業,例如新檔案或更新檔案的篩選器,或是日期範圍篩選器 (例如「檔案最長保留時間」)。
  • 大量待處理項目:如果重新啟用後,從提取式動態消息產生的大量待處理項目導致問題,請與 Google 支援團隊聯絡,清除待處理項目。也就是說,動態饋給只會開始擷取新資料,不會回填遺漏的資料。
  • 編輯已停用的動態消息:如果動態消息處於停用狀態,您對設定所做的任何變更,都會在重新啟用動態消息後立即生效。

刪除動態饋給

你也可以在「動態饋給」頁面中刪除現有動態饋給:

  1. 將游標懸停在現有動態消息上,然後點按右欄中的 more_vert

  2. 按一下「刪除動態消息」。「刪除動態消息」視窗隨即開啟。如要永久刪除動態消息,請按一下「是,刪除」

如果是自訂 API 動態饋給,系統會顯示對話方塊,並提供選用核取方塊:「刪除待處理的積壓資料」

  • 取消勾選 (預設):系統會刪除動態饋給設定和憑證,但允許處理佇列中的待處理資料,並擷取這些資料。
  • 已勾選:系統會永久移除動態饋給設定、憑證和所有待處理的待處理資料。

控管擷取率

當租戶的資料擷取率達到特定閾值時,Google Security Operations 會限制新資料動態饋給的擷取率,避免擷取率高的來源影響其他資料來源的擷取率。在這種情況下,資料會延遲傳送,但不會遺失。門檻取決於擷取量和租戶的使用記錄。

如要申請提高速率限制,請與 Cloud Customer Care 團隊聯絡。

排解動態饋給上傳失敗的問題

在「動態饋給」頁面中,你可以查看現有動態饋給的詳細資料,例如來源類型、記錄類型、動態饋給 ID 和狀態,如下所示:

  1. 將游標懸停在現有動態消息上,然後點按右欄中的 more_vert

  2. 按一下「查看動態消息」。系統隨即會顯示含有動態饋給詳細資料的對話方塊。如果動態饋給上傳失敗,請依序點選「詳細資料」 >「狀態」,查看錯誤詳細資料。

如果動態饋給上傳失敗,詳細資料會顯示錯誤原因和修正步驟。

如要查看使用資料動態饋給時可能遇到的錯誤訊息,請參閱「來源和擷取錯誤」表格。

如要詳細分析及排解動態消息活動問題,請在 Cloud Logging 中查看記錄。請參閱「使用 Cloud Logging 分析動態消息活動」。

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