收集 IBM OpenPages 記錄

支援的國家/地區:

本文說明如何設定 IBM OpenPages,透過 Webhook 將記錄推送至 Google Security Operations。

IBM OpenPages 是以 AI 技術為基礎的管理、風險和法規遵循 (GRC) 平台,提供集中式解決方案,可管理風險、法規遵循、內部稽核、IT 管理和政策管理。OpenPages 支援 Webhook (9.1.2 以上版本),可在建立、更新、刪除、關聯或取消關聯 GRC 物件時,傳送即時事件通知。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • IBM OpenPages 支援使用 Webhook 或 HTTP POST 傳送記錄
  • 存取 Google Cloud 控制台 (用於建立 API 金鑰)
  • IBM OpenPages 9.1.2 以上版本,且具備管理員存取權
  • 如果是地端部署和 Cloud Pak for Data 部署作業,請安裝並設定 RabbitMQ,並設定 OpenPages 與 RabbitMQ 的連線
  • 如果是 SaaS 部署作業,Google SecOps Webhook 端點網域必須在核准的許可清單中

在 Google SecOps 中建立 Webhook 動態饋給

建立動態饋給

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如 IBM OpenPages Events)。
  5. 選取「Webhook」做為「來源類型」
  6. 選取「IBM OpenPages」做為「記錄類型」
  7. 點選「下一步」
  8. 指定下列輸入參數的值:
    • 分割分隔符號 (選用):輸入 \n 即可分割多行事件
    • 資產命名空間資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤
  9. 點選「下一步」
  10. 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)

產生並儲存密鑰

建立動態饋給後,您必須產生驗證用的密鑰:

  1. 在動態饋給詳細資料頁面中,按一下「產生密鑰」
  2. 對話方塊會顯示密鑰。
  3. 複製並妥善儲存密鑰。

取得動態消息端點網址

  1. 前往動態消息的「詳細資料」分頁。
  2. 在「端點資訊」部分,複製「動態消息端點網址」
  3. 網址格式為:

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    

    https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    
  4. 請儲存這個網址,以供後續步驟使用。

  5. 按一下 [完成]

建立 Google Cloud API 金鑰

Google SecOps 需要 API 金鑰才能進行驗證。在 Google Cloud 控制台中建立受限制的 API 金鑰。

建立 API 金鑰

  1. 前往 Google Cloud 控制台的「憑證」頁面
  2. 選取專案 (與 Google SecOps 執行個體相關聯的專案)。
  3. 依序按一下「建立憑證」>「API 金鑰」
  4. 系統會建立 API 金鑰,並顯示在對話方塊中。
  5. 按一下「編輯 API 金鑰」即可限制金鑰。

限制 API 金鑰

  1. 在「API 金鑰」設定頁面中:
    • 名稱:輸入描述性名稱 (例如 Google SecOps Webhook API Key)
  2. 在「API 限制」下方:
    1. 選取「Restrict key」(限制金鑰)
    2. 在「選取 API」下拉式選單中,搜尋並選取「Google SecOps API」 (或「Chronicle API」)。
  3. 按一下 [儲存]
  4. 從頁面頂端的「API key」(API 金鑰) 欄位複製 API 金鑰值。
  5. 安全地儲存 API 金鑰。

設定 IBM OpenPages Webhook

建構 Webhook 網址

  • 合併 Chronicle 端點網址和 API 金鑰:

    <ENDPOINT_URL>?key=<API_KEY>
    

    範例

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...
    

在 IBM OpenPages 中建立 Webhook

  1. 以管理員身分登入 IBM OpenPages 管理控制台。
  2. 依序前往「Administration」>「Integrations」>「Webhooks」
  3. 按一下「建立 Webhook」
  4. 請提供下列設定詳細資料:

    • 端點網址:貼上包含上述 API 金鑰的完整端點網址 (例如 https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...)。

    • 驗證方式:選取「Bearer Token」

    • Bearer Token:貼上在 Google SecOps 動態饋給建立步驟中產生的密鑰。

  5. 在「Event Subscriptions」(事件訂閱) 部分,選取要監控的物件類型和事件:

    • 物件類型:選取要監控的 GRC 物件類型 (例如 SOXRiskSOXIssueSOXBusEntitySOXControlSOXProcessSOXTask)。
    • 事件類型:選取要傳送至 Google SecOps 的事件:
      • 「create」:建立訂閱類型的物件時發布
      • 「update」:訂閱類型的物件更新時發布 (包括變更的欄位)
      • 「delete」:刪除訂閱類型的物件時發布
      • associate:物件與父項物件建立關聯時發布
      • disassociate:從父項物件移除物件時發布

測試並啟用 Webhook

軟體即服務 (SaaS) 部署:

  1. 請先將「Enabled」(啟用)切換為「On」(開啟),啟用 Webhook。
  2. 等待約 1 到 2 分鐘,讓輸出連線開啟。
  3. 按一下「測試連線」,確認端點可連線。
  4. 確認測試傳回成功的回應。

適用於地端部署:

  1. 按一下「測試連線」,確認端點可連線。
  2. 確認測試傳回成功的回應。
  3. 將「Enabled」(啟用狀態)切換為「On」(開啟),即可啟用 Webhook。
  4. 請等待約 5 分鐘,讓事件代理程式擷取設定。

Webhook 酬載格式

  • IBM OpenPages 會透過 HTTP POST,以 JSON 酬載形式傳送 Webhook 事件。以下是風險物件更新的 Webhook 酬載範例:

    {
        "action": "update",
        "type": "GRC_OBJECT",
        "objectType": "SOXRisk",
        "message": {
            "event": "update",
            "publishedDate": "2025-09-25 02:14:26.797Z",
            "details": {
                "object_id": "9032",
                "object_name": "RB-01-Risk00190",
                "object_path": "/_op_sox/Project/Default/ICDocumentation/Risks/Global Financial Services/North America/Retail Banking/RB-01-Risk00190.txt",
                "updated_fields": [
                    "OPSS-Risk-Qual:Inherent Likelihood",
                    "OPSS-Risk-Qual:Inherent Risk Rating",
                    "OPSS-Risk-Quant:Inherent Frequency",
                    "OPSS-Risk-Quant:Inherent Risk Exposure"
                ],
                "last_modification": "2025-08-30 08:58:48.000Z"
            },
            "actor": {
                "iam_id": "user1@ibm.com",
                "user_id": "2087",
                "user_name": "user1"
            }
        },
        "version": "9.1.2"
    }
    

Webhook 系統限制

限制
已啟用 Webhook 數量上限 50 (預設值),透過 /Platform/Messaging/Webhooks Limit 登錄檔設定最多可設為 100
不重複的端點網址 每個 Webhook 都必須使用專屬端點網址
佇列中的事件 TTL 1 天 (系統會移除這段時間內未傳送的事件)
經紀人延遲取貨 啟用 Webhook 後 5 分鐘

驗證方法參考資料

Google SecOps 網頁掛鉤動態消息支援多種驗證方法。選擇供應商支援的方法。

如果供應商支援自訂 HTTP 標頭,請使用這個方法,以提升安全性。

  • 要求格式:

    POST <ENDPOINT_URL> HTTP/1.1
    Content-Type: application/json
    x-goog-chronicle-auth: <API_KEY>
    x-chronicle-auth: <SECRET_KEY>
    
    {
            "event": "data",
            "timestamp": "2025-01-15T10:30:00Z"
    }
    

優點:

  • 網址中不會顯示 API 金鑰和密鑰
  • 更安全 (標頭不會記錄在網路伺服器存取記錄中)
  • 如果供應商支援,則為首選方法

方法 2:查詢參數

如果供應商不支援自訂標頭,請將憑證附加至網址。

  • 網址格式:

    <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>
    
  • 範例:

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
    
  • 要求格式:

    POST <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY> HTTP/1.1
    Content-Type: application/json
    
    {
            "event": "data",
            "timestamp": "2025-01-15T10:30:00Z"
    }
    

缺點:

  • 網址中顯示憑證
  • 可能會記錄在網路伺服器存取記錄中
  • 安全性不如標頭

方法 3:混合式 (網址 + 標頭)

部分設定會在網址中使用 API 金鑰,並在標頭中使用密鑰。

  • 要求格式:

    POST <ENDPOINT_URL>?key=<API_KEY> HTTP/1.1
    Content-Type: application/json
    x-chronicle-auth: <SECRET_KEY>
    
    {
            "event": "data",
            "timestamp": "2025-01-15T10:30:00Z"
    }
    

驗證標頭名稱

Google SecOps 接受下列驗證標頭名稱:

API 金鑰:

  • x-goog-chronicle-auth (建議)
  • X-Goog-Chronicle-Auth (不區分大小寫)

密鑰:

  • x-chronicle-auth (建議)
  • X-Chronicle-Auth (不區分大小寫)

UDM 對應表

記錄欄位 UDM 對應 邏輯
column5 metadata.description 事件說明
has_principal_user metadata.event_type 事件類型 (例如 USER_LOGIN、NETWORK_CONNECTION)
第 1 欄 metadata.product_event_type 產品專屬事件類型
metadata.product_name metadata.product_name 產品名稱
metadata.vendor_name metadata.vendor_name 供應商/公司名稱
column6 principal.user.userid 主體的使用者 ID
is_successful security_result.action 採取的行動
is_successful security_result.action_details 動作詳細資料
column4 security_result.detection_fields 其他偵測欄位
column5 security_result.detection_fields
計數器 security_result.detection_fields
column4 security_result.description 安全性結果說明
第 2 欄 security_result.summary 安全性結果摘要
column4 target.user.attribute.roles 與目標使用者相關聯的角色
column4 target.user.userid 目標的使用者 ID
target_user target.user.userid 從變更記錄對應
IBM_OPENPAGES metadata.vendor_name 從變更記錄對應
IBM_OPENPAGES metadata.product_name 從變更記錄對應
OpenPages metadata.product_name 從變更記錄對應

變更記錄

查看這個剖析器的變更記錄

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