將 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 檔案的 type 參數中設定的值。

預設值為 service_account

Project ID

選填。

BigQuery 帳戶的專案 ID。

請提供驗證 JSON 檔案 project_id 參數中設定的值。

Private Key ID

選填。

BigQuery 帳戶的私密金鑰 ID。

請提供驗證 JSON 檔案 private_key_id 參數中設定的值。

Private Key

選填。

BigQuery 帳戶的私密金鑰。

提供驗證 JSON 檔案 private_key 參數中設定的值。

Client Email

選填。

BigQuery 帳戶的用戶端電子郵件地址。

請提供驗證 JSON 檔案 client_email 參數中設定的值。

Client ID

選填。

BigQuery 帳戶的用戶端 ID。

請提供驗證 JSON 檔案 client_id 參數中設定的值。

Auth URI

選填。

BigQuery 帳戶的驗證 URI。

請提供驗證 JSON 檔案 auth_uri 參數中設定的值。

預設值為 https://accounts.google.com/o/oauth2/auth

Token URI

選填。

BigQuery 帳戶的權杖 URI。

請提供驗證 JSON 檔案 token_uri 參數中設定的值。

預設值為 https://oauth2.googleapis.com/token

Auth Provider X509 URL

選填。

BigQuery 帳戶的驗證供應商 X.509 URL。

請提供驗證 JSON 檔案 auth_provider_x509_cert_url 參數中設定的值。

預設值為 https://www.googleapis.com/oauth2/v1/certs

Client X509 URL

選填。

BigQuery 帳戶的用戶端 X.509 URL。

請提供驗證 JSON 檔案 client_x509_cert_url 參數中設定的值。

預設值為 https://www.googleapis.com/oauth2/v1/certs

Service Account Json File Content

選填。

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

您可以設定這個參數或 Workload Identity Email 參數,也可以設定所有先前的整合參數。

如要設定這個參數,請提供您在建立服務帳戶時下載的服務帳戶金鑰 JSON 檔案完整內容。

如果您設定這個參數,整合服務會忽略其他連線參數。

Workload Identity Email

選填。

服務帳戶的用戶端電子郵件地址。

您可以設定這個參數或 Service Account Json File Content 參數。

如果設定這個參數,請設定 Quota Project ID 參數。

如要使用 Workload Identity Federation 模擬服務帳戶,請將 Service Account Token Creator 角色授予服務帳戶。如要進一步瞭解工作負載身分和使用方式,請參閱「工作負載的身分」。

Quota Project ID

選填。

您用於 Google Cloud API 和帳單的專案 ID。 Google Cloud 如要使用這個參數,您必須將 Service Usage Consumer 角色授予服務帳戶。

如未設定這個參數的值,整合服務會從 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 TrueFalse

執行自訂查詢

使用「執行自訂查詢」動作,在 BigQuery 中執行自訂查詢。

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

動作輸入內容

「執行自訂查詢」動作需要下列參數:

參數 說明
Query

必填。

要執行的 SQL 查詢。

Max Results To Return

選填。

每個回應要傳回的結果數。

預設值為 50

動作輸出內容

「執行自訂查詢」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件訊息牆表格 無法使用
補充資訊表格 無法使用
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 TrueFalse

執行 SQL 查詢

使用「執行 SQL 查詢」動作,在 BigQuery 中執行查詢。

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

動作輸入內容

「執行 SQL 查詢」動作需要下列參數:

參數 說明
Dataset Name

必填。

執行查詢時要使用的資料集名稱。

Query

必填。

要執行的 SQL 查詢。

Max Results To Return

選填。

每個回應要傳回的結果數。

預設值為 50

動作輸出內容

「執行 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 TrueFalse

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