本文說明如何啟動 Security Command Center 發現項目的大量匯出作業,將資料匯出至 BigQuery。
BigQuery 是 Google Cloud的全代管數據分析資料倉儲,不僅具成本效益,還能處理 PB 規模的資料,以近乎即時的方式分析大量資料。如要進一步瞭解 BigQuery,請參閱 BigQuery 說明文件。
總覽
這項功能會提供特定時間點的調查結果快照。這項功能可與持續 BigQuery 匯出功能搭配使用,提供全面的分析和報表。
使用大量匯出功能,您可以執行下列操作:
資料集結構
系統會將調查結果匯出至 BigQuery,做為 findings 資料表中的資料列,並依 source_id、finding_id 和 event_time 進行叢集。
每個資料集都包含 findings 資料表,其中含有下列欄位:
| 欄位 | 說明 |
|---|---|
source_id |
Security Command Center 指派給
發現項目來源的專屬 ID。舉例來說,來自 Cloud 異常偵測 來源的所有發現項目都有相同的 範例: |
finding_id |
代表發現項目的專屬 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 的專案。
在「搜尋」欄位中輸入
Security Command Center,然後點選搜尋結果中的「Security Command Center」。在顯示的 API 頁面中,按一下「啟用」。
專案已啟用 Security Command Center API。
在 VPC Service Controls 中授予 perimeter 存取權
如果您使用 VPC Service Controls,請參閱「在 VPC Service Controls 中授予範圍存取權」,並視需要採取這些步驟。
如果使用者要為特定服務範圍建立大量匯出作業,就必須為每位使用者重複這個步驟。
為新的 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
這項指令會傳回長時間執行的作業物件,其中包含追蹤匯出狀態時所需的字串。如要追蹤這項 BigQuery 大量匯出作業的狀態,請參閱「查看大量匯出作業的狀態」。name
如要查看調查結果,請參閱「查看調查結果」。
查詢
如要查看可用於分析發現項目資料的各種查詢,請參閱「實用查詢」。
查看大量匯出作業的狀態
如要查看大量匯出作業的狀態,您需要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 資料集,有兩種做法:
請先建立持續匯出作業,然後再透過大量匯出作業回填資料。
設定持續匯出至 BigQuery 資料集。成功建立匯出作業後,您就會開始即時接收 Security Command Center 發現項目。
使用相同的目的地 BigQuery 資料集建立大量匯出作業。系統會將匯出時的所有 Security Command Center 發現項目快照,匯出至所選資料集。
大量匯出作業需要時間執行。因此,如果持續匯出作業是在 T1 建立,大量匯出作業會在 T2 觸發,而大量匯出作業的發現項目快照會在 T3 完成,則 T1 和 T3 之間可能會出現重複記錄。不過,不會有發現項目缺漏。
請先建立大量匯出作業,再建立持續匯出作業。
建立大量匯出作業。系統會將匯出作業執行時的所有 Security Command Center 發現項目快照,匯出至所選的 BigQuery 資料集。
設定持續匯出至同一個目的地 BigQuery 資料集。成功建立匯出作業後,您就會開始即時接收 Security Command Center 發現項目。
如果大量匯出作業是在 T1 建立,大量匯出作業的發現項目快照會在 T2 完成,而持續匯出作業會在 T3 觸發,則 BigQuery 資料集中可能會缺少 T2 和 T3 之間的發現項目。