將 BigQuery 與 Google SecOps 整合
本文說明如何將 BigQuery 與 Google Security Operations (Google SecOps) 整合。
整合版本:15.0
這項整合功能使用一或多個開放原始碼元件。 您可以從 Cloud Storage bucket 下載這個整合的原始碼壓縮檔副本。
用途
在 Google SecOps 平台中,BigQuery 整合功能可協助您解決下列用途:
威脅情報擴充功能:自動使用儲存在 BigQuery 中的威脅情報資料擴充安全性快訊,評估潛在威脅的嚴重程度和可信度。
舉例來說,您可以設定 Google SecOps,在可疑 IP 位址觸發快訊時,查詢含有已知惡意 IP 位址的 BigQuery 資料表。Google SecOps 會檢查 BigQuery 表格中是否有相符項目,並擷取相關聯的惡意軟體系列等額外背景資訊。
使用者行為分析:分析儲存在 BigQuery 中的使用者活動記錄,找出異常使用者活動,偵測內部威脅和遭盜用的帳戶。
舉例來說,您可以設定 Google SecOps 查詢 BigQuery,找出使用者在非慣常地理位置的登入嘗試,並在偵測到可疑活動時觸發自動事件回應。
安全資料湖分析:使用 BigQuery 查詢功能,分析資料湖中彙整的各種來源安全資料,以利改善威脅搜尋和事件調查。
舉例來說,您可以設定 Google SecOps 查詢 BigQuery,找出資料湖中儲存的多個安全工具記錄中,與特定檔案雜湊相關的所有事件。
長期保留安全資料:使用 BigQuery 儲存空間長期保留大量安全記錄,以支援歷來分析、法規遵循報告和鑑識調查。
舉例來說,您可以設定 Google SecOps 自動將已解決的事件資料封存至 BigQuery,以長期儲存,並確保資料可用於日後的稽核或調查。
事前準備
如要使用整合功能,您需要 Google Cloud 服務帳戶。
建立及設定服務帳戶
如要將 BigQuery 與 Google SecOps 整合,可以使用現有服務帳戶或建立新帳戶。如需建立服務帳戶的指引,請參閱「建立服務帳戶」。
如果您未使用工作負載身分電子郵件設定整合,請在建立服務帳戶後以 JSON 格式建立服務帳戶金鑰。設定整合參數時,您必須提供下載的 JSON 金鑰檔案完整內容。
基於安全考量,建議您使用工作負載身分電子郵件地址,而非服務帳戶 JSON 金鑰。如要進一步瞭解工作負載身分,請參閱「工作負載身分」。
整合參數
整合 BigQuery 時需要下列參數:
參數 | 說明 |
---|---|
Account Type |
選填。 BigQuery 帳戶類型。 提供服務帳戶金鑰 JSON 檔案的 預設值為 |
Project ID |
選填。 BigQuery 帳戶的專案 ID。 請提供驗證 JSON 檔案 |
Private Key ID |
選填。 BigQuery 帳戶的私密金鑰 ID。 請提供驗證 JSON 檔案 |
Private Key |
選填。 BigQuery 帳戶的私密金鑰。 提供驗證 JSON 檔案 |
Client Email |
選填。 BigQuery 帳戶的用戶端電子郵件地址。 請提供驗證 JSON 檔案 |
Client ID |
選填。 BigQuery 帳戶的用戶端 ID。 請提供驗證 JSON 檔案 |
Auth URI |
選填。 BigQuery 帳戶的驗證 URI。 請提供驗證 JSON 檔案 預設值為 |
Token URI |
選填。 BigQuery 帳戶的權杖 URI。 請提供驗證 JSON 檔案 預設值為 |
Auth Provider X509 URL |
選填。 BigQuery 帳戶的驗證供應商 X.509 URL。 請提供驗證 JSON 檔案 預設值為 |
Client X509 URL |
選填。 BigQuery 帳戶的用戶端 X.509 URL。 請提供驗證 JSON 檔案 預設值為 |
Service Account Json File Content |
選填。 服務帳戶金鑰 JSON 檔案的內容。 您可以設定這個參數或 如要設定這個參數,請提供您在建立服務帳戶時下載的服務帳戶金鑰 JSON 檔案完整內容。 如果您設定這個參數,整合服務會忽略其他連線參數。 |
Workload Identity Email |
選填。 服務帳戶的用戶端電子郵件地址。 您可以設定這個參數或 如果設定這個參數,請設定 如要使用 Workload Identity Federation 模擬服務帳戶,請將 |
Quota Project ID |
選填。 您用於 Google Cloud API 和帳單的專案 ID。 Google Cloud 如要使用這個參數,您必須將 如未設定這個參數的值,整合服務會從 Google Cloud 服務帳戶擷取專案 ID。 |
Verify SSL |
選填。 如果選取這個選項,整合服務會在連線至 Google Cloud時驗證 SSL 憑證。 (此為預設選項)。 |
如需在 Google SecOps 中設定整合功能的操作說明,請參閱「設定整合功能」。
如有需要,您可以在稍後階段進行變更。設定整合執行個體後,您就可以在劇本中使用該執行個體。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。
動作
如要進一步瞭解動作,請參閱「回覆『你的工作台』中的待處理動作」和「執行手動動作」。
乒乓
使用「Ping」動作測試與 BigQuery 的連線。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
無
動作輸出內容
「Ping」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 無法使用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
輸出訊息
「Ping」動作可能會傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
Successfully connected to the Google BigQuery server with
the provided connection parameters! |
動作成功。 |
Failed to connect to the Google BigQuery server! Error is
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「Ping」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
執行自訂查詢
使用「執行自訂查詢」動作,在 BigQuery 中執行自訂查詢。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「執行自訂查詢」動作需要下列參數:
參數 | 說明 |
---|---|
Query |
必填。 要執行的 SQL 查詢。 |
Max Results To Return |
選填。 每個回應要傳回的結果數。 預設值為 |
動作輸出內容
「執行自訂查詢」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
JSON 結果
以下範例顯示使用「執行自訂查詢」動作時收到的 JSON 結果輸出內容:
{
"Airport_Code": "CODE",
"Airport_Name": "NAME",
"Time_Label": "2015/05",
"Time_Month": 5,
"Time_Month_Name": "May",
"Time_Year": 2015,
"Statistics___of_Delays_Carrier": 351,
"Statistics___of_Delays_Late_Aircraft": 546,
"Statistics___of_Delays_National_Aviation_System": 292,
"Statistics___of_Delays_Security": 2,
"Statistics___of_Delays_Weather": 100,
"Statistics_Carriers_Names": "Example Air Lines Inc., Example Airlines Co.",
"Statistics_Carriers_Total": 3,
"Statistics_Flights_Cancelled": 88,
"Statistics_Flights_Delayed": 1289,
"Statistics_Flights_Diverted": 32,
"Statistics_Flights_On_Time": 6182,
"Statistics_Flights_Total": 7591,
"Statistics_Minutes_Delayed_Carrier": 19332,
"Statistics_Minutes_Delayed_Late_Aircraft": 34376,
"Statistics_Minutes_Delayed_National_Aviation_System": 12346,
"Statistics_Minutes_Delayed_Security": 48,
"Statistics_Minutes_Delayed_Total": 76163,
"Statistics_Minutes_Delayed_Weather": 100061
}
輸出訊息
「執行自訂查詢」動作可傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
Successfully executed query in Google BigQuery! |
動作成功。 |
Error executing action "Run Custom Query". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「執行自訂查詢」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
執行 SQL 查詢
使用「執行 SQL 查詢」動作,在 BigQuery 中執行查詢。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「執行 SQL 查詢」動作需要下列參數:
參數 | 說明 |
---|---|
Dataset Name |
必填。 執行查詢時要使用的資料集名稱。 |
Query |
必填。 要執行的 SQL 查詢。 |
Max Results To Return |
選填。 每個回應要傳回的結果數。 預設值為 |
動作輸出內容
「執行 SQL 查詢」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 無法使用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
JSON 結果
以下範例說明使用「執行 SQL 查詢」動作時收到的 JSON 結果輸出內容:
{
"Airport_Code": "CODE",
"Airport_Name": "NAME",
"Time_Label": "2015/05",
"Time_Month": 5,
"Time_Month_Name": "May",
"Time_Year": 2015,
"Statistics___of_Delays_Carrier": 351,
"Statistics___of_Delays_Late_Aircraft": 546,
"Statistics___of_Delays_National_Aviation_System": 292,
"Statistics___of_Delays_Security": 2,
"Statistics___of_Delays_Weather": 100,
"Statistics_Carriers_Names": "Example Airlines Inc.,Example Airlines Co.",
"Statistics_Carriers_Total": 3,
"Statistics_Flights_Cancelled": 88,
"Statistics_Flights_Delayed": 1289,
"Statistics_Flights_Diverted": 32,
"Statistics_Flights_On_Time": 6182,
"Statistics_Flights_Total": 7591,
"Statistics_Minutes_Delayed_Carrier": 19332,
"Statistics_Minutes_Delayed_Late_Aircraft": 34376,
"Statistics_Minutes_Delayed_National_Aviation_System": 12346,
"Statistics_Minutes_Delayed_Security": 48,
"Statistics_Minutes_Delayed_Total": 76163,
"Statistics_Minutes_Delayed_Weather": 100061
}
輸出訊息
「執行 SQL 查詢」動作可能會傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
Successfully executed query in the BigQuery dataset
DATASET_NAME. |
動作成功。 |
Error executing action "Run SQL Query". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「執行 SQL 查詢」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。