透過進階 BigQuery 匯出功能串流資料
本文說明如何使用「進階 BigQuery 匯出」功能,在 BigQuery 中存取及使用 Google SecOps 資料。Enterprise Plus 客戶可以使用這項功能,透過全代管的串流資料管道,近乎即時地存取安全性資料。這項功能有助於解決資安營運中的資料延遲問題,進而更及時有效地偵測及應對威脅。
事前準備
請詳閱下列要點,瞭解資格規定和必要行動:
- 僅限 Enterprise Plus 客戶:這項功能僅適用於 Google SecOps Enterprise Plus 客戶。其他客戶請參閱「匯出至自行管理的 BigQuery 專案」。
- 必須啟用這項功能:這項功能需要提出要求才能啟用,且可能需要在貴機構的 Google SecOps 執行個體中進行初始設定。如有需要,請與 Google SecOps 代表聯絡,確認是否已啟用這項功能。
- 資料遷移:啟用這項功能後,資料會開始匯出至 Google SecOps 執行個體的新 BigQuery 租戶專案,同時也會匯出至 Google 管理的 BigQuery 專案 (如「匯出至 Google 管理的 BigQuery 專案」一文所述)。這項雙重作業可支援您轉移至新功能,不會造成服務中斷。系統會在停用帳戶的舊匯出管道前通知您。
- VPC Service Controls:進階 BigQuery 匯出功能可在 VPC Service Controls 邊界內運作。詳情請參閱「設定 VPC Service Controls」。
- 客戶自行管理的加密金鑰 (CMEK):如果客戶在 Google SecOps 執行個體上啟用 CMEK,即可使用進階 BigQuery 匯出功能。詳情請參閱「Google SecOps 的 CMEK」。如果您搭配使用 CMEK 和 VPC Service Controls,請參閱「為 Google SecOps 設定 VPC Service Controls」,瞭解相關建議和操作說明。
功能總覽
進階 BigQuery 匯出功能會自動佈建及管理重要的 Google SecOps 資料集,包括統一資料模型 (UDM) 事件、規則偵測、實體圖表和遭入侵指標 (IoC) 比對,並將這些資料集儲存在 Google 管理的 BigQuery 專案中,確保安全無虞。您可透過 BigQuery 連結的資料集,安全地以唯讀模式存取這項資料,該資料集會直接顯示在您的專案中。 Google Cloud 這項功能可讓您查詢安全防護資料,就像資料儲存在本機一樣,但不必管理資料管道或儲存空間,因此不會造成額外負擔。
Google SecOps 會將下列類別的安全防護資料匯出至 BigQuery:
- UDM 事件記錄:從客戶擷取的記錄資料建立的 UDM 記錄。這些記錄會加入別名資訊。
- 規則符合(偵測):規則與一個或多個事件相符的實例。
- 入侵指標 (IoC) 比對結果:事件中的構件 (例如網域或 IP 位址) 與 IoC 資訊來源相符。包括與全球動態饋給和特定顧客動態饋給的相符項目。
- 攝取指標: 統計訊息,例如攝取的日誌行數、從日誌產生的事件數以及指示無法解析日誌的日誌錯誤數。
- 實體圖和實體關係:實體及其與其他實體的關係說明。
核心福利
進階 BigQuery 匯出功能的核心優勢包括以下幾點:
- 近乎即時的資料更新間隔:串流架構讓您的安全資料在攝取後幾分鐘內即可用於查詢。UDM 事件、規則偵測和 IoC 比對結果的預期延遲時間為 5 到 10 分鐘。
- 簡化且可預測的成本模型: Google SecOps 涵蓋託管 BigQuery 專案中的所有資料擷取和儲存成本。您的組織只需承擔執行查詢時產生的 BigQuery 分析費用。
- 免維護資料存取:Google 會全面管理基礎架構,讓團隊專注於資料分析,不必費心處理資料工程。
- 資料完整性和重複資料刪除:初始擷取後,安全性資料會經常更新或重新擴充。這項功能會使用精細的資料操縱語言 (DML) 合併作業,就地更新記錄。您會收到經過清理且不含重複項目的資料,不必編寫複雜的 SQL 重複資料刪除常式。
- 順暢的 MSSP 支援 (中樞輻射型):受管理的安全服務供應商 (MSSP) 可從單一集中式中樞專案,以程式輔助方式訂閱客戶的連結資料集,有效管理多個客戶租戶的 Analytics。
- 內建合規性:此功能原生支援VPC Service Controls、客戶管理的加密金鑰 (CMEK) 和資料落地 (DRZ)。系統會使用聯邦資源識別服務 (FRIS),將面向客戶的稽核記錄 (資料存取透明化控管機制) 直接傳送至 Cloud Logging 工作區。
常見用途
進階 BigQuery 匯出功能適用於安全分析師、威脅獵人、資料科學家和安全工程師,可直接存取最新的安全資料,並以高效能進行個案調查、自訂分析,以及與商業智慧工具整合。
高級 BigQuery 匯出功能的常見用例包括以下幾種:
- 直接在 BigQuery 中執行臨時查詢。
- 使用 Microsoft Power BI 等商業智慧工具,建立資訊主頁、報表和數據分析。
- 將 Google SecOps 資料與第三方資料集整合。
架構
進階 BigQuery 匯出架構採用持續串流管道。Google SecOps 執行個體的資料會透過高輸送量的 BigQuery Storage Write API (gRPC),推送至 Google 管理的安全房客專案。
Google SecOps 會使用 BigQuery 共用功能建立安全的資料清單,並提供存取權。在您的 BigQuery Explorer 窗格中,您的 Google Cloud 項目會自動訂閱此列表,該列表顯示為 secops_linked_datalake 連結資料集。
這個模型支援強大的資料隔離功能,同時提供無縫的唯讀查詢存取權。
重要術語
以下是進階 BigQuery Export 的重要詞彙和概念:
- 租戶專案:由 Google SecOps 擁有及管理的專案。 Google Cloud 本專案用於實體儲存和管理您匯出的安全資料。您沒有直接存取此項目的權限。
- BYOP(自備項目): 您的組織擁有並連結到您的 Google SecOps 實例的 Google Cloud 項目。這個專案會顯示已連結的資料集,您可以在這裡執行查詢並產生分析費用。
- 項目 ID:與您的 Google SecOps 實例關聯的 Google Cloud 項目的全域唯一識別碼。
- 連結的資料集:唯讀 BigQuery 資料集,做為其他專案中共用資料集的符號連結或指標。您不必複製資料即可查詢,在資料供應商管理實體儲存空間時,也能安全存取資料。
- 細微 DML (FGDML):進階 BigQuery 匯出功能使用的自動化後端程序,可執行 upsert (更新和插入) 作業。如果事件延遲抵達或重新經過擴充,系統會根據事件的專屬 ID (例如
metadata.id) 就地更新現有資料列,而不是建立重複資料列。 - 統合式資料模型 (UDM):Google 的可擴充標準結構定義,可將數百種供應商產品的安全遙測資料剖析及正規化為一致的格式。
- 受管理的安全服務供應商 (MSSP): Google Cloud 認證 MSSP 提供全套工具和專業知識,協助您強化防禦機制,因應不斷演進的網路安全威脅。
設定系統
如要使用進階 BigQuery Export,請先設定系統。請根據您的環境和需求,按照下列其中一節的說明操作。
預設設定
請按照下列步驟設定系統,使用進階 BigQuery 匯出功能並開始查詢資料:
- 確認授權:確認貴機構擁有 Google SecOps Enterprise Plus 授權。
- 找出專案:登入 Google Cloud 控制台,然後選取連結至 Google SecOps 執行個體的 Google Cloud 專案。
- 找出已連結的資料集:在 BigQuery 控制台中,使用「Explorer」窗格前往專案的資源。您會看到名為「
secops_linked_datalake」的連結資料集。這個資料集是唯讀指標,指向由 Google SecOps 管理的即時安全性資料。 驗證 Identity and Access Management (IAM) 權限:如要查詢資料,使用者或服務帳戶必須在專案中具備下列 IAM 角色:
roles/bigquery.dataViewer:貴機構的終端使用者或 BI 工具必須具備這項權限,才能對連結的資料集檢視畫面執行 SQL 查詢。roles/bigquery.jobUser:貴機構的終端使用者或 BI 工具必須具備這項權限,才能對連結的資料集檢視畫面執行 SQL 查詢。Chronicle API Admin:在 Google SecOps 中執行 Dataplane API (例如ProvisionPartnerSubscription) 來管理 MSSP 訂閱項目時,必須提供這項資訊。
使用者 (例如安全分析師和資料消費者) 透過這些角色,即可在連結的資料集中查詢資料,並在專案中執行 BigQuery 工作。
執行測試查詢:開啟 BigQuery SQL 工作區並執行基本查詢,確認存取權設定正確無誤。您可以使用下列程式碼片段:
SELECT * FROM `PROJECT_ID.secops_linked_datalake.events` LIMIT 10;將 PROJECT_ID 替換為實際的 Google Cloud 專案 ID。
在 VPC Service Controls 服務範圍內設定進階 BigQuery Export
如要在 VPC Service Controls perimeter 內設定 Advanced BigQuery Export,您需要設定特定輸入規則。這項規則可讓必要的 Google SecOps 服務帳戶,與受邊界保護的專案中的 BigQuery 和相關服務互動。如需詳細操作說明和更多資訊,請參閱「為 Google Security Operations 設定 VPC Service Controls」。
若要在 VPC 服務控制範圍內設定進階 BigQuery 匯出,請設定下列入口規則:
- ingressFrom: identities: - serviceAccount:malachite-advanced-bq-exporter@system.gserviceaccount.com - serviceAccount:malachite-data-export-service@system.gserviceaccount.com sources: - accessLevel: "*" ingressTo: operations: - serviceName: analyticshub.googleapis.com methodSelectors: - method: "*" - serviceName: bigquery.googleapis.com methodSelectors: - method: "*" resources: - projects/PROJECT_NUMBER將
PROJECT_NUMBER替換為您連結至 Google SecOps 的專案編號。 Google Cloud
MSSP:集中管理子租戶的 BigQuery 資料存取權
如果您是 MSSP,可以運用 Google SecOps 資料平面 API,在中央「中樞」專案中以程式輔助方式建立 BigQuery 連結資料集。這些關聯的數據集指向您客戶(分支)的 BigQuery 數據,使您能夠從單一介面跨多個租戶進行查詢。此流程需要您的客戶授予您的 MSSP 實例存取權限。
主要優點包括:
- 集中式檢視畫面:集中分析所有客戶的安全資料。
- 效率提升:簡化客戶群的威脅搜尋和報告程序。
- 程式輔助管理:自動設定及停用資料存取權。
必要條件
MSSP
- 一個 Google Cloud 項目,作為您的中央「樞紐」。
- 一個 Google SecOps 實例。
- 擁有管理中心專案中 BigQuery 資料集所需的 IAM 權限。
客戶 (子房客)
- Google SecOps Enterprise Plus 授權。
- 與您的 Google SecOps 實例關聯的 A Google Cloud 專案(BYOP)。
- 擁有管理 Google SecOps API 存取權限的相應 IAM 權限。
gcloud已安裝並驗證 CLI。
步驟 1:客戶授予 MSSP 存取權限
客戶可以呼叫 ProvisionPartnerSubscription API,將權限授予 MSSP 的 Google SecOps 執行個體。Google SecOps 會在 MSSP 的 Google Cloud 專案中,自動佈建 BigQuery 連結資料集,並以 secops_linked_datalake_<customer_id> 格式命名。這個資料集會連結至客戶的 Google SecOps 資料。
API 端點:
POST
https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:provisionPartnerSubscription
方法
POST
要求主體
空白 JSON 物件。
{}
CURL 指令範例 (由客戶執行):
curl -X POST \
-H "Authorization: Bearer ${OAUTH_TOKEN}" \
-H "Content-Type: application/json" \
-d '{}' \
"https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:provisionPartnerSubscription"
替換下列預留位置:
- CUSTOMER_PROJECT:客戶的 Google Cloud 專案 ID 或專案編號。請參閱「建立及管理專案」。
- REGION:客戶的 Google SecOps 執行個體所在的 Google Cloud 區域 (例如 us、europe-west2)。請參閱地區清單。
- CUSTOMER_INSTANCE_ID:客戶的 Google SecOps 執行個體 ID。
回應主體
傳回包含訂閱項目詳細資料的 ProvisionPartnerSubscriptionResponse。
{
"subscriptionDetails": {
"subscription": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID",
"linkedDataset": "string"
}
}
- SUBSCRIBER_PROJECT_ID: 訂閱者 MSSP 的 Google Cloud 專案 ID。
- SUBSCRIBER_REGION: 訂閱者 Google Cloud 項目所在的區域。
- SUBSCRIPTION_ID:現有訂閱項目的專屬 ID。
步驟 2:MSSP 查詢所有租戶的資料
在您的 (MSSP) 專案中佈建多位客戶的連結資料集後,您可以使用標準 BigQuery SQL 查詢來分析資料。 Google Cloud 若要跨多個客戶進行查詢,請使用 UNION ALL 運算子。
查詢範例 (由 MSSP 在中樞專案中執行):
SELECT event_type, timestamp
FROM `PARTNER_PROJECT_ID.secops_linked_datalake_CUSTOMER_ID_1.events`
WHERE <your_conditions>
UNION ALL
SELECT event_type, timestamp
FROM `PARTNER_PROJECT_ID.secops_linked_datalake_CUSTOMER_ID_2.events`
WHERE <your_conditions>
-- Add more UNION ALL clauses for other customers
步驟 3:客戶稽核存取權
客戶可以呼叫 fetchSubscriptions API,查看所有存取其資料的有效訂閱項目和 MSSP 執行個體。
API 端點
GET https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:fetchSubscriptions
方法
GET
範例 CURL 指令(由客戶執行):
curl -X GET \
-H "Authorization: Bearer ${OAUTH_TOKEN}" \
"https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:fetchSubscriptions"
替換下列預留位置:
- CUSTOMER_PROJECT:客戶的 Google Cloud 專案 ID 或專案編號。請參閱建立和管理項目。
- REGION: 客戶的 Google SecOps 實例所在的 Google Cloud 區域(例如,us、europe-west2)。請參閱 regions 的清單。
- CUSTOMER_INSTANCE_ID:客戶的 Google SecOps 執行個體 ID。
回應主體
傳回包含活動訂閱清單的 FetchSubscriptionsResponse。
{
"subscriptions": [
{
"subscription": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID",
"linkedDataset": "string"
}
]
}
- SUBSCRIBER_PROJECT_ID: 訂閱者的 Google Cloud 專案 ID。訂閱者可以指客戶或主機服務提供者 (MSSP)。
- SUBSCRIBER_REGION: 訂閱者 Google Cloud 項目所在的區域。
- SUBSCRIPTION_ID:現有訂閱項目的專屬 ID。
步驟 4:客戶撤銷存取權 (如有需要)
如果客戶需要撤銷 MSSP 的存取權限,他們可以使用 revokePartnerSubscription API。此操作將立即撤銷使用 MSSP 的中心項目查詢連結資料集的權限。已撤銷的訂閱 ID 將失效。
API 端點
POST https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:revokePartnerSubscription
方法
POST
要求主體
需要透過 fetchSubscriptions API 呼叫取得要撤銷的訂閱項目 URI。
{
"subscriptionUri": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID"
}
CURL 指令範例 (由客戶執行):
# Set subscription details obtained from Fetch Subscriptions
export SUBSCRIBER_PROJECT_ID="partner-byop-project-id"
export SUBSCRIBER_REGION="subscription-location"
export SUBSCRIPTION_ID="subscription-id"
curl -X POST \
-H "Authorization: Bearer ${OAUTH_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"subscriptionUri": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID"
}' \
"https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:revokePartnerSubscription"
替換下列預留位置:
- SUBSCRIBER_PROJECT_ID:訂閱者的 Google Cloud 專案 ID。
- SUBSCRIBER_REGION: 訂閱者 Google Cloud 項目所在的區域。
- SUBSCRIPTION_ID:現有訂閱項目的專屬 ID。
- CUSTOMER_PROJECT:客戶的 Google Cloud 專案 ID 或專案編號。
- REGION:客戶 Google SecOps 執行個體所在的 Google Cloud 區域。
- CUSTOMER_INSTANCE_ID:客戶的 Google SecOps 執行個體 ID。
回應主體
空白 JSON 物件。
{}
查詢 BigQuery 資料
您可以直接在 BigQuery 中執行查詢,也可以將自己的商業智慧工具 (例如 Microsoft Power BI) 連線至 BigQuery。
如要進一步瞭解查詢,請參閱下列文章:
BigQuery 租戶專案中的資料保留期限
BigQuery 中的資料保留期限與為 Google SecOps 租戶設定的資料保留期限相同。您無法另外設定 BigQuery 資料的保留政策。資料超過租戶的保留期限後,系統會自動從 BigQuery 資料表清除。
連結的資料集
連結的資料集包含對應不同類型安全資料的資料表。
下表摘要說明可用的資料集、目標資料更新間隔,以及用於確保資料完整性的專屬 ID:
| 資料集名稱 | 說明 | 預期最新鮮 | 用於重複資料刪除作業的專屬 ID |
|---|---|---|---|
events | UDM 架構中的正規化安全性事件。有關架構的信息,請參閱 Google SecOps 事件架構。 | 少於 5 分鐘 | id (字串表示法) |
rule_detections | 由 Google SecOps 偵測引擎規則生成的偵測結果。 | 少於 5 分鐘 | detection.id |
ioc_matches | 針對 UDM 事件找到相符的入侵指標 (IOC)。 | 少於 5 分鐘 | day_bucket_seconds、feed_log_type、ioc_type、ioc_value 的複合鍵 |
entity_graph | 實體 (使用者、資產) 及其關係的脈絡資料。 | 約 4 小時 (批次) | partition_day、metadata.product_entity_id、metadata.event_metadata.id 的複合鍵 |
ingestion_metrics | 記錄擷取量和資料來源的統計資料。 | 約 5 分鐘 | 無 (僅附加時間序列) |
entity_enum_value_to_name_mapping | 將實體圖形列舉型別的數值對應至字串值。 | 不適用 | 無 |
udm_enum_value_to_name_mapping | 將數值對應至 UDM 事件列舉型別的字串值。 | 不適用 | 無 |
查詢範例
以下範例說明如何查詢資料集,以瞭解常見的安全性用途。
範例:尋找過去 24 小時內來自特定 IP 位址的所有網路連線
這項查詢會搜尋事件資料表,找出可疑 IP 位址的近期網路活動。
SELECT
metadata.product_event_type,
principal.ip,
target.ip,
network.application_protocol
FROM
`PROJECT_ID.secops_linked_datalake.events`
WHERE
principal.ip = '192.0.2.1'
AND metadata.event_timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR);
- 將 PROJECT_ID 替換為 Google Cloud 專案 ID。
範例 - 計算最常偵測到的前 10 項規則
這個 rule_detections 資料表查詢有助於找出環境中偵測到的最常見威脅或違規政策。
SELECT
rule_name,
COUNT(*) AS detection_count
FROM
`PROJECT_ID.secops_linked_datalake.rule_detections`
WHERE
detection.id IS NOT NULL
GROUP BY
1
ORDER BY
2 DESC
LIMIT
10;
- 將 PROJECT_ID 替換為 Google Cloud 專案 ID。
最佳做法
以下是使用進階 BigQuery 匯出功能查詢資料的最佳做法:
最佳化查詢費用:雖然儲存空間免費,但運算費用會計入專案,因此請採取下列行動:
- 避免使用 SELECT *。在查詢中,只指定您需要的資料欄,以減少掃描的資料量並降低查詢成本。
- 請務必確保查詢作業充分運用 BigQuery 分區 (使用 hour_time_bucket 分區時間欄) 和分群 (hour_time_bucket、log_type、event_type、id),以掃描較少資料並大幅降低查詢費用。
使用分區篩選條件:事件資料表會依 hour_time_bucket 資料欄分區。請務必在這個資料欄中加入 WHERE 子句篩選器,將查詢限制在盡可能小的時間範圍內,大幅提升效能並降低成本。
撰寫有效率的查詢:UDM 架構範圍廣泛,但資料稀疏。如要有效篩選特定事件類型,請使用 WHERE... 相關欄位上的 IS NOT NULL。舉例來說,如要只找出 DNS 查詢,請篩選 WHERE network.dns.questions.name IS NOT NULL。
驗證查詢:執行查詢前,請先使用 BigQuery UI 中的查詢驗證工具。查詢驗證工具會提供處理資料量的預估值,協助您避免執行出乎意料的大型查詢,進而節省費用。
使用列舉對應表:進階 BigQuery 匯出功能包含 entity_enum_value_to_name_mapping 和 udm_enum_value_to_name_mapping 資料表。您可以使用這些項目加入事件,將數值列舉值轉換為人類可解讀的字串,而不需在查詢中編寫手動轉換邏輯。
稽核記錄整合:進階 BigQuery Export 會與聯邦資源識別服務 (FRIS) 整合。如果 Google 人員存取受管理租戶專案,系統會使用 Google 資料存取透明化控管機制功能,在您的 BYOP Cloud Logging 工作區中,以原生方式提供面向客戶的稽核記錄。
已知限制
以下是進階 BigQuery Export 功能的已知限制:
- 實體圖形延遲時間:實體圖形資料集是透過批次程序匯出,資料更新間隔約為四小時。
- UDM 結構定義欄限制:BigQuery 每個資料表最多可有 10,000 欄。UDM 結構定義包含超過 27,000 個欄位,但填入的資料很少。匯出管道會智慧地只納入特定事件的已填入資料欄,因此大多數客戶都不會超過上限。Google SecOps 會監控資料欄用量,並在租戶專案接近這個門檻時,主動要求提高上限。
- 保留期限無法設定:匯出至 BigQuery 的所有安全性資料保留期限,都會自動與 Google SecOps 專案的資料保留期限同步,無法另外設定。
- 不支援 SOAR 資料:進階 BigQuery 匯出功能不支援 Google Security Operations SOAR (search_everything_db) 的資料。
- 不支援跨區域聯盟:中樞和分支 MSSP 訂閱方案僅支援相同區域。不支援跨區域聯盟 (例如從美國到歐洲)。
- 可能出現重複事件 (機率低於 1%):雖然系統會使用 DML 合併自動處理重複資料,但由於分散式串流的特性,在背景合併完成前,邊緣案例的擷取視窗中仍有可能出現重複事件 (機率低於 1%)。
- 您可以存取歷來資料,但必須使用特定方法:啟用進階 BigQuery 匯出功能後,系統就會開始匯出資料,您仍可在現有專案中存取舊資料。如要查詢啟用進階 BigQuery 匯出功能前匯出的資料,您必須使用單一查詢,將兩個專案中的資料聯結在一起,或在個別專案中執行兩項查詢 (一個用於舊資料集,另一個用於新資料集)。
疑難排解與支援
下表提供常見問題的解決方案:
| 觀察到的症狀 | 可能原因 | 建議做法 |
|---|---|---|
查詢失敗,並顯示 Access Denied: User does not have permission. | 使用者或服務帳戶在連結至 Google SecOps 執行個體的 Google Cloud 專案中,缺少必要的 BigQuery IAM 角色。 | 將「BigQuery 資料檢視者」和「BigQuery 工作使用者」角色授予主體。使用「gcloud projects get-iam-policy YOUR_PROJECT_ID --flatten="bindings.members" --format='table(bindings.role)' --filter="bindings.members:user:your-user@example.com"」驗證 |
我在 BigQuery 專案中看不到 secops_linked_datalake 資料集。 | 1. 您不在正確的 Google Cloud 專案 中。2. 貴機構並未採用 Enterprise Plus 方案。 3. 貴機構使用 Enterprise Plus 方案,但 Google SecOps 執行個體未啟用進階 BigQuery Export。 | 1. 在 Google Cloud 控制台中,確認您已選擇與您的 Google SecOps 實例關聯的項目。 2. 請聯絡您的 Google 代表以確認您的 Google SecOps 授權等級。 3. 請聯絡您的 Google SecOps 代表,並要求他們在您的 Google SecOps 實例中啟用進階 BigQuery 匯出功能。 |
API 呼叫失敗,並提示權限錯誤,請求 ProvisionPartnerSubscription 或 FetchSubscriptions | 呼叫身分缺少必要權限。 | 確保發出呼叫的服務帳戶或使用者俱有 Chronicle API 管理員 IAM 角色,該角色包含對中心實例資源的權限。 |
| 缺少自訂列或架構不匹配 | 引入了一種全新的日誌類型或深度嵌套的 UDM 欄位。 | 進階 BigQuery 匯出功能使用動態架構更新。當填入新的 UDM 欄位時,系統會自動偵測架構不匹配,短暫暫停,更新 BigQuery 架構,然後重試插入。您不必採取任何行動。 |
常見問題
以下是一些常見問題。
我是否需要修改現有的舊版 BigQuery SQL 查詢才能使用 Google SecOps 進階匯出功能?
不。為了保持 100% 的向後相容性,Google SecOps 在連結資料集中公開視圖(例如 events、ioc_matches),這些視圖與舊版 Google SecOps 匯出功能中的表格架構完全匹配。
我可以調整進階 BigQuery 匯出的資料保留期限嗎?
不。進階 BigQuery 匯出中的資料保留期限直接與您的 Google SecOps 資料保留策略一致。在 Google SecOps 中,當資料過期時,它會自動過期並從 BigQuery 租戶專案中刪除。
後端 DML 更新和去重功能需要收費嗎?
不。所有後端儲存、流式插入操作和細粒度 DML 運算成本均由 Google SecOps 承擔。您只需為在 BYOP 中明確執行的查詢付費。
此功能是否適用於 Google SecOps 標準版或企業版?
不。進階 BigQuery 匯出(託管儲存和串流)是 Google SecOps Enterprise Plus 層級的專屬進階功能。標準版和企業版客戶可以使用自備 BigQuery (BYOBQ) 模型,他們提供 BigQuery 專案並承擔儲存和運算成本。
為什麼進階 BigQuery 匯出資料和 Google Security Operations 使用者介面顯示的統計資料,在計數上可能會出現暫時性差異?
由於進階 BigQuery 匯出管道會近乎即時地串流資料,因此可能會出現暫時的差異。主要原因如下:
延遲抵達的資料:匯出管道的設計宗旨是高處理量。大部分資料會在 5 到 10 分鐘內顯示在 BigQuery 中。不過,由於網路延遲或來源系統問題,事件有時可能會延遲送達處理管道。系統會盡量合併這些延遲事件,但即時使用者介面統計資料反映的是絕對最新的狀態,因此在持續更新的過程中,可能會與 BigQuery 資料出現短暫差異。
資料重新擴充:Google SecOps 會持續使用最新的威脅情報和背景資訊擴充事件資料。進階 BigQuery Export 會根據事件在初始擴充時的狀態匯出事件。如果事件串流至 BigQuery 後,系統以新資訊重新擴充事件,BigQuery 可能不會立即反映更新後的版本。因此,如果與一律顯示完整重新擴充資料的 UI 元素比較,可能會出現差異。
DML 合併延遲時間:為確保 BigQuery 中的資料保持最新狀態,並處理延遲抵達的資料或潛在重複項目等問題,管道會在背景使用資料操縱語言 (DML)
MERGE作業。這些作業雖然效率高,但並非即時完成。處理這些合併作業時,會有固有的延遲時間,尤其是細微的更新。在這個合併間隔期間,針對 BigQuery 執行的查詢可能無法擷取 Google Security Operations 使用者介面中已顯示的最新微更新。
由於上述因素 (延遲資料、重新擴充處理和合併延遲),BigQuery 和即時 UI 統計資料在任何精確時間點可能不會完全相符。進階 BigQuery 匯出功能提供近乎即時的資料,最適合用於威脅搜尋、自訂分析和資訊主頁等用途,因為這些用途需要幾分鐘內的最新資料。如需稽核,且要求絕對一致的特定時間點,請考量可能出現的微小暫時性差異。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。