收集 Onfido 記錄
這個剖析器會從 Onfido SYSLOG 和 JSON 格式的記錄中擷取欄位,並將這些欄位對應至 UDM。這個外掛程式會使用 grok 剖析訊息欄位、處理 JSON 酬載 (如有),並將特定產品事件類型對應至 UDM 事件類型。包括將事件類型設為 USER_LOGIN
(登入成功) 和 USER_UNCATEGORIZED
(其他事件)。同時也會填入 UDM 欄位,提供使用者資訊、來源 IP 和安全性結果詳細資料。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體。
- Onfido 資訊主頁的特殊存取權。
設定動態饋給
在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:
- 「SIEM 設定」>「動態消息」
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態饋給」,設定動態饋給
如要設定動態消息,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態消息」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中,輸入動態饋給的名稱,例如「Onfido Logs」。
- 選取「Webhook」做為「來源類型」。
- 選取「Onfido」做為「記錄類型」。
- 點選「下一步」。
- 選用:指定下列輸入參數的值:
- 分割分隔符號:用於分隔記錄行的分隔符號,例如
\n
。
- 分割分隔符號:用於分隔記錄行的分隔符號,例如
- 點選「下一步」。
- 在「Finalize」畫面中檢查動態饋給設定,然後按一下「Submit」。
- 按一下「產生密鑰」,產生驗證這個動態消息的密鑰。
- 複製並儲存密鑰。您無法再次查看這個密鑰。如有需要,您可以重新產生新的密鑰,但這項操作會使先前的密鑰失效。
- 在「詳細資料」分頁中,從「端點資訊」欄位複製動態消息端點網址。您需要在用戶端應用程式中指定這個端點網址。
- 按一下 [完成]。
從內容中心設定動態饋給
為下列欄位指定值:
- 分割分隔符號:用於分隔記錄行的分隔符號,例如
\n
。
進階選項
- 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
- 來源類型:將記錄收集到 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
擷取標籤:套用至這個動態饋給所有事件的標籤。
按一下「產生密鑰」,產生驗證這個動態消息的密鑰。
複製並儲存密鑰。您無法再次查看這個密鑰。如有需要,您可以重新產生新的密鑰,但這項操作會使先前的密鑰失效。
在「詳細資料」分頁中,從「端點資訊」欄位複製動態消息端點網址。您需要在用戶端應用程式中指定這個端點網址。
為 Webhook 資訊提供建立 API 金鑰
前往 Google Cloud 控制台 > 憑證。
按一下 [Create credentials] (建立憑證),然後選取 [API key] (API 金鑰)。
將 API 金鑰存取權限制在 Google Security Operations API。
指定端點網址
- 在用戶端應用程式中,指定 webhook 動態饋給中提供的 HTTPS 端點網址。
如要啟用驗證,請在自訂標頭中指定 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
:您產生的密鑰,用於驗證動態饋給。
設定 Onfido Webhook
- 登入 Onfido 資訊主頁。
- 依序點選「設定」>「Webhook」。
- 按一下「Add Webhook」。
指定下列輸入參數的值:
- Webhook 網址:輸入 Google SecOps API 端點的
<ENDPOINT_URL>
。
- 事件:選取應觸發 Webhook 的事件 (例如選取「check.completed」或「report.completed」)。
- Webhook 網址:輸入 Google SecOps API 端點的
按一下「儲存」即可建立 Webhook。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
category |
security_result.category_details |
原始記錄中的 category 欄位值會指派給 security_result.category_details 。 |
check_id |
metadata.product_log_id |
從原始記錄的 json_data 欄位擷取的 check_id 欄位值會指派給 metadata.product_log_id 。如果 prod_evt_type 是「Successful login」,系統會指派「AUTHTYPE_UNSPECIFIED」值。 |
metadata.event_timestamp |
原始記錄項目的時間戳記會轉換為 Epoch 秒數,並指派給 metadata.event_timestamp 。 |
|
metadata.event_type |
如果 prod_evt_type 是「登入成功」,系統會指派 USER_LOGIN 值。否則會指派 USER_UNCATEGORIZED 。 |
|
metadata.product_name |
剖析器程式碼會將值設為「ONFIDO」。 | |
prod_evt_type |
metadata.product_event_type |
原始記錄中的 prod_evt_type 欄位值會指派給 metadata.product_event_type 。 |
metadata.vendor_name |
剖析器程式碼會將值設為「ONFIDO」。 | |
metadata.product_version |
剖析器程式碼會將值設為「ONFIDO」。 | |
security_result.action |
security_result.action |
如果 prod_evt_type 是「登入成功」,則會指派 ALLOW 值。 |
src_ip |
principal.ip |
原始記錄中的 src_ip 欄位值會指派給 principal.ip 。 |
user_email |
target.user.email_addresses |
原始記錄中的 user_email 欄位值會指派給 target.user.email_addresses 。 |
user_name |
target.user.user_display_name |
原始記錄中的 user_name 欄位值會指派給 target.user.user_display_name 。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。