您可以透過隨選大量匯出功能,將 Security Command Center 發現項目的快照匯出至 BigQuery。這些匯出作業支援自訂安全性分析、法規遵循稽核和報表。大量匯出作業會擷取特定時間點的歷史發現項目狀態,可與持續匯出作業搭配使用。
如要進一步瞭解 BigQuery,請參閱 BigQuery 說明文件。
支援的大量匯出功能
大量匯出功能可讓您執行下列操作:
資料集結構
發現項目會匯出至 BigQuery,做為 findings 資料表中的資料列,並依 source_id、finding_id 和 event_time 分類。
每個資料集都包含 findings 資料表,其中含有下列欄位:
| 欄位 | 說明 |
|---|---|
source_id |
Security Command Center 指派給
發現項目來源的專屬 ID。舉例來說,Cloud 異常偵測 來源的所有發現項目都具有相同的 範例: |
finding_id |
代表發現項目的專屬 ID。在組織的來源中是唯一的。由英數字元組成,長度不超過 32 個字元。 |
event_time |
事件發生時間或發現項目更新時間。舉例來說,如果發現項目代表開放式防火牆, 範例: 如要進一步瞭解會更新事件時間的變更,請參閱「發現項目生命週期總覽」。 |
bulk_export_id |
如果是大量匯出,則為 UUID。 如果是持續匯出作業,這個欄位會留空。 |
finding |
評估資料記錄 (例如安全性、風險、健康狀態或隱私權),會擷取至 Security Command Center,用於呈現、通知、分析、政策測試和強制執行。舉例來說,App Engine 應用程式中的跨網站指令碼攻擊 (XSS) 安全漏洞就是一項發現項目。
如要進一步瞭解巢狀欄位,請參閱
|
resource |
與這項發現項目相關聯的 Google Cloud 資源相關資訊。
如要進一步瞭解巢狀欄位,請參閱
|
費用
在 BigQuery 儲存資料時,會產生與這項功能相關的 BigQuery 費用。詳情請參閱「BigQuery 儲存空間定價」。
事前準備
您必須先完成這些步驟,才能啟用這項功能。
設定權限
如要完成本指南,您必須具備下列 Identity and Access Management (IAM) 角色:
在要匯出發現項目的組織中,具備下列其中一項權限:
- 安全中心 BigQuery 匯出項目編輯者 (
roles/securitycenter.bigQueryExportsEditor) - 安全中心管理員 (
roles/securitycenter.admin)
如要進一步瞭解 Security Command Center 角色,請參閱「存取控管」。
- 安全中心 BigQuery 匯出項目編輯者 (
BigQuery 資料集:BigQuery 資料擁有者 (
roles/bigquery.dataOwner)如要進一步瞭解 BigQuery 角色,請參閱「BigQuery IAM 角色和權限」。
在目的地 BigQuery 資料集所屬的專案中,ProjectIAMAdmin (
roles/resourcemanager.projectIamAdmin)
建立 BigQuery 資料集
按照「建立資料集」中的步驟建立 BigQuery 資料集。
啟用 Security Command Center API
如要匯出發現項目,請按照下列步驟啟用 Security Command Center API:
前往 Google Cloud 控制台的「API Library」(API 程式庫) 頁面。
選取要啟用 Security Command Center API 的專案。
在「Search」(搜尋) 欄位中輸入
Security Command Center,然後在搜尋結果中點選「Security Command Center」。在顯示的 API 頁面中,按一下「啟用」。
專案已啟用 Security Command Center API。
在 VPC Service Controls 中授予 perimeter 存取權
如果您使用 VPC Service Controls,請參閱「在 VPC Service Controls 中授予 perimeter 存取權」一文,並視需要執行相關步驟。
如果使用者要為特定 service perimeter 建立大量匯出作業,就必須重複執行這個步驟。
為新的 BigQuery 大量匯出作業建立輸入規則
如果您使用 VPC Service Controls,請參閱「為新的 BigQuery 匯出作業建立輸入規則」一節,並視需要採取相關步驟。
BigQuery 大量匯出作業的限制
建立 BigQuery 大量匯出作業時,請考量下列限制:
- 單一組織在任何時間點,最多只能同時執行三項大量匯出作業。
- 如果您要求將多個非並行大量匯出作業匯出至同一個 BigQuery 資料集,系統會將匯出作業中較新的發現項目附加至 BigQuery
findings資料表。系統不會覆寫發現項目。
建立 BigQuery 大量匯出作業
您可以針對組織、專案或資料夾大量匯出發現項目。
如要將發現項目大量匯出至 BigQuery 執行個體,請使用 gcloud CLI 並按照下列步驟操作:
前往 Google Cloud 控制台。
選取已啟用 Security Command Center API 的專案。
按一下「啟用 Cloud Shell」。
如要建立新的匯出設定,請執行下列指令:
gcloud scc findings export-to-bigquery PARENT \ --dataset=DATASET_NAME \ [--location=LOCATION; default="global"] \更改下列內容:
PARENT:匯出範圍的相對名稱:組織、專案或資料夾。格式範例:organizations/ORGANIZATION_ID、projects/PROJECT_ID、folders/FOLDER_IDDATASET_NAME:BigQuery 資料集的名稱。格式範例:projects/PROJECT_ID/datasets/DATASET_IDLOCATION:要建立匯出設定的 Security Command Center 位置。如果已啟用資料落地功能,請使用eu、sa或us,否則請使用global值。這個變數為選用。舉例來說,如要大量匯出所有發現項目,請執行下列指令:
gcloud scc findings export-to-bigquery organizations/123 --dataset=projects/123/datasets/DATASET就資料落地而言,上述範例會呼叫全域端點。
如要為
eu端點建立相同的批次匯出作業,請執行下列指令:gcloud scc findings export-to-bigquery organizations/123 --dataset=projects/123/datasets/DATASET --location=locations/eu
這個指令會傳回長時間執行的作業物件,其中包含追蹤匯出狀態時所需的 name 字串。如要追蹤這項 BigQuery 大量匯出作業的狀態,請參閱「查看大量匯出作業的狀態」。
如要查看發現項目,請參閱「查看發現項目」。
查詢
如要瞭解可用於分析發現項目資料的各種查詢,請參閱「實用查詢」。
查看大量匯出作業的狀態
如要查看大量匯出作業的狀態,您需要建立大量匯出作業時傳回的 long running operation name 字串。
前往 Google Cloud 控制台。
選取已啟用 Security Command Center API 的專案。
按一下「啟用 Cloud Shell」。
如要驗證大量匯出設定的詳細資料,請執行下列指令:
gcloud scc operations describe LONG_RUNNING_OPERATION_NAME \ --organization=ORGANIZATION_ID更改下列內容:
LONG_RUNNING_OPERATION_NAME:建立大量匯出作業時傳回的name字串。ORGANIZATION_ID舉例來說,如要查看大量匯出要求的狀態,並傳回組織 ID 設為
123的組織name: "long-running-operation-name",請執行下列指令:gcloud scc operations describe long-running-operation-name \ --organization=123
- 如果匯出成功,回應會包含
done: true。 - 如果匯出失敗,回應會包含錯誤代碼。
- 如果匯出作業仍在進行中,回應就不會包含
done: true或錯誤代碼。
BigQuery 大量匯出和連續匯出
如要對同一個 BigQuery 資料集,同時使用大量和連續 BigQuery Export,可以採取下列兩種做法:
請先建立持續匯出作業,再透過大量匯出作業填補資料。
設定持續匯出至 BigQuery 資料集。成功建立匯出作業後,您就會開始即時收到 Security Command Center 發現項目。
使用同一個目的地 BigQuery 資料集建立大量匯出作業。匯出時,所有 Security Command Center 發現項目的快照都會匯出至所選資料集。
大量匯出作業需要時間執行。因此,如果在 T1 建立持續匯出作業、在 T2 觸發大量匯出作業,並在 T3 完成大量匯出作業的發現項目快照,則 T1 和 T3 之間可能會出現重複記錄。不過,兩者之間沒有發現項目落差。
請先建立大量匯出作業,再建立持續匯出作業。
建立大量匯出作業。匯出作業執行時,所有 Security Command Center 發現項目的快照都會匯出至所選 BigQuery 資料集。
設定持續匯出至同一個目的地 BigQuery 資料集。成功建立匯出作業後,您就會開始即時收到 Security Command Center 發現項目。
如果大量匯出作業是在 T1 建立,大量匯出作業的發現項目快照在 T2 完成,而連續匯出作業在 T3 觸發,則 T2 和 T3 之間的發現項目可能會在 BigQuery 資料集中遺失。