匯出 Security Command Center 資料

本頁說明匯出 Security Command Center 資料的兩種方法,包括資產、發現項目和安全分數:

您可以透過Google Cloud 控制台、Google Cloud CLI 或 Security Command Center API 匯出資料。

您也可以將發現項目串流至 BigQuery。詳情請參閱「將發現項目串流至 BigQuery 進行分析」。

一次性匯出

一次性匯出功能可讓您手動轉移及下載目前和過往的發現項目和資產。

如要匯出調查結果,可以使用 Google Cloud 控制台,將 JSON、JSONL 或 CSV 格式的資料轉移至 Cloud Storage 值區。您也可以將有限數量的發現項目下載至工作站,並儲存為 CSV 格式。

如要下載資產資料,請前往 Google Cloud 控制台,並將資料下載至本機工作站,格式為 CSV 檔案。

權限

如要執行一次性匯出作業,請備妥下列項目:

  • Identity and Access Management (IAM) 角色「安全中心管理員檢視者」 (roles/securitycenter.adminViewer),或具備下列權限的任何角色:

    • resourcemanager.organizations.get (僅在機構層級啟用 Security Command Center 時需要)
    • resourcemanager.projects.get (在專案層級啟用 Security Command Center 時必須提供)
    • securitycenter.assets.group
    • securitycenter.assets.list
    • securitycenter.findings.group
    • securitycenter.findings.list
    • securitycenter.sources.get
    • securitycenter.sources.list
    • securitycenter.userinterfacemetadata.get
  • Storage Admin 角色,可讓您在 Cloud Storage 值區中儲存資料。

您可以在機構、資料夾或專案層級授予 Security Command Center 的 IAM 角色。您能否查看、編輯、建立或更新發現項目、資產和安全性來源,取決於您獲准的存取層級。如要進一步瞭解 Security Command Center 角色,請參閱存取權控管

資料落地權和一次性匯出

您無法在一次性匯出至 Cloud Storage 的篩選條件中,納入任何受資料落地控管的資料。

如果您在發現項目篩選器中指定含有受控資料的屬性,嘗試匯出時,Security Command Center 會傳回錯誤訊息。

使用 Google Cloud 控制台匯出資料

使用 Google Cloud 控制台時,你可以執行下列操作:

將發現項目匯出至 Cloud Storage bucket

本節說明如何將 Security Command Center 資料匯出至 Cloud Storage 值區。在 Google Cloud 控制台的「發現項目」頁面中,按一下「匯出」時,Security Command Center 會自動取得憑證或權限,以便寫入 Cloud Storage bucket。

系統會以獨立作業匯出調查結果。您可以將 JSON、JSONL 或 CSV 檔案匯出至現有的 Cloud Storage 值區,或在匯出程序中建立值區。您可以匯出所有目前的發現項目,也可以先選取要使用的篩選器,再匯出資料。

您無法將發現項目匯出至已設定保留政策的 Cloud Storage 值區。

  1. 在 Google Cloud 控制台,前往 Security Command Center 的「發現項目」 頁面。

    前往「發現項目」

  2. 在工具列上,按一下專案選取器,然後選取專案、資料夾或機構。

  3. 套用篩選條件至發現項目查詢,選取要匯出的發現項目。如要進一步瞭解如何建立篩選器,請參閱「尋找及查看特定調查結果」。

  4. 建立篩選器後,請按一下「匯出」,然後在「一次性」下方,按一下「Cloud Storage」

  5. 在「匯出」頁面中,設定匯出作業:

    1. 在「匯出至」部分中,指定下列欄位:
      1. 在「專案名稱」欄位中,指定包含 Cloud Storage 值區的專案。
      2. 在「匯出路徑」欄位中 (只有在指定專案後才會顯示),按一下「瀏覽」
      3. 在「選取物件」面板中,選取現有的 Cloud Storage bucket 或建立儲存空間 bucket
      4. 選取或建立值區後,請在「Filename」(檔案名稱) 下方,輸入匯出檔案的名稱。
      5. 按一下 [選取]。
    2. 在「匯出條件」部分中,指定下列欄位:
      1. 按一下「結果分組依據」,然後選取匯出資料的分組方式。
      2. 按一下「格式」欄位,然後選取「JSON」、「JSONL」或「CSV」
      3. 按一下「時間範圍」欄位,然後選取要匯出調查結果的時間範圍。
    3. 在「Findings query」(發現查詢) 區段中,確認查詢是否如預期顯示。
    4. 在查詢下方,確認相符的發現項目數量和類型是否符合預期。
    5. 按一下 [匯出]

    如果您選取了 Bucket 中的現有檔案,系統會顯示「確認覆寫」對話方塊。

    • 如要覆寫現有檔案,請按一下「確認」
    • 如要變更寫入的檔案,請按一下「取消」,然後點選「匯出路徑」方塊中的「瀏覽」,並選取或建立其他檔案。

設定的資料會儲存至您指定的 Cloud Storage 值區。

從 Cloud Storage bucket 下載匯出的資料

如要下載匯出的 JSON、JSONL 或 CSV 資料,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Storage browser」(儲存空間瀏覽器) 頁面。

    前往 Storage 瀏覽器

  2. 選取專案,然後按一下匯出資料的 bucket。

  3. 勾選匯出檔案旁的核取方塊,然後按一下「下載」

  4. 在「儲存檔案」對話方塊中,選取要儲存檔案的位置,然後按一下「儲存」

系統會將 JSON、JSONL 或 CSV 檔案下載至您指定的位置。

將發現項目匯出為 CSV 檔案

如要設定匯出作業,可以依類別、嚴重程度和其他屬性篩選發現項目。CSV 檔案會包含所有符合篩選條件的發現項目。

您最多可直接將 1,000 個發現項目下載到工作站。如果發現項目超過 1,000 個,系統會提示您縮小查詢範圍,以減少結果數量。或者,您也可以將資料匯出至 Cloud Storage bucket

匯出的發現記錄會包含預設欄集,可能與控制台中顯示的內容不符。也就是說,隱藏或顯示資料欄不會影響匯出的資料欄。同樣地,變更每頁顯示的資料列數 (可在Google Cloud 控制台中進行),也不會影響匯出的內容。

如要瞭解如何將調查結果匯出為 CSV 檔案,請按一下服務層級專屬的分頁標籤。

標準或進階

  1. 在 Google Cloud 控制台中,前往 Security Command Center 的「發現項目」頁面。

    前往「發現項目」

  2. 選取 Google Cloud 專案或機構。
  3. 選用:如要進一步篩選要匯出的發現項目,請套用篩選器
  4. 依序點選 「匯出」> CSV。系統隨即會將 CSV 檔案下載至您的本機工作站。

Enterprise

  1. 在 Google Cloud 控制台中,前往 Security Command Center 的「發現項目」頁面。

    前往 Enterprise 層級的「發現項目」

  2. 選用:如要進一步篩選要匯出的發現項目,請套用篩選器
  3. 依序點選「匯出」> CSV。系統隨即會將 CSV 檔案下載至您的本機工作站。

將資產匯出為 CSV 檔案

您可以從Google Cloud 控制台的「資產」頁面,將資產資料下載為 CSV 檔案。

如要將資產資料下載為 CSV 檔案,請按照下列步驟操作:

  1. 在 Google Cloud 控制台,前往 Security Command Center 的「資產」頁面。

    前往「資產」頁面

  2. 在工具列上,按一下專案選取器,然後選取專案、資料夾或機構。

  3. 使用「快速篩選器」面板或資產結果面板的「篩選器」欄位,選取要匯出的資產。如要進一步瞭解如何篩選資產,請參閱「篩選資產」。

  4. 在顯示的資產上方,依序點選「匯出」和「下載 CSV」。結果面板中的資產資料會下載到工作站。

使用 API 方法匯出資料

您可以使用 Security Command Center API,將資產、發現項目和安全性標記匯出至 Cloud Storage 值區或本機工作站。

使用 API 方法匯出資產資料

如要匯出或列出資產資料,請使用 Cloud Asset Inventory API。詳情請參閱「匯出資產記錄和中繼資料」。

Security Command Center API 的資產方法和欄位已遭淘汰,並將於 2024 年 6 月 20 日當天或之後移除。

在移除這些方法之前,2023 年 6 月 20 日前啟用 Security Command Center 的使用者,可以透過 Security Command Center API 的資產方法列出及匯出資產資料,但這些方法僅支援 Security Command Center 支援的資產

如要瞭解如何使用已淘汰的資產 API 方法,請參閱列出資產

使用 Security Command Center API 匯出發現項目資料

如要使用 Security Command Center API 匯出發現項目,請按照列出安全性發現項目的指南操作,然後下載或匯出 API 回應。

如要列出附有任何安全標記的發現項目,可以使用下列 API 方法:

這些方法會以 JSON 格式傳回發現項目,以及完整的屬性、屬性和相關標記。如果應用程式需要其他格式的資料,您必須編寫自訂程式碼來轉換 JSON 輸出內容。

如果您在 groupBy 欄位中指定值,可以使用下列方法,依您指定的屬性分組,列出機構、資料夾或專案中的發現項目:

使用 gcloud CLI 匯出調查結果

如要在 Cloud Shell 中使用 Google Cloud CLI 指令,將調查結果匯出至 Cloud Storage 值區,請按照下列步驟操作:

  1. 開啟 Cloud Shell。

    前往 Cloud Shell

  2. 如要將調查結果寫入檔案,請在 列出調查結果的 gcloud CLI 指令中新增輸出字串。

    舉例來說,下列指令會將列出的結果儲存在名為 FINDINGS.txt 的文字檔中。

    gcloud scc findings list PARENT_ID \
        --source=SOURCE_ID \
        --location=LOCATION \
        --filter="FILTER" > FINDINGS.txt

    更改下列內容:

    • FILTER:選用運算式,可限制列印的發現項目清單,只顯示符合篩選器運算式的項目。

      • LOCATION: 要匯出調查結果的Security Command Center 位置;如果已啟用資料落地功能,請使用 euksaus;否則請使用 global 值。
    • PARENT_ID:下列任一父項資源的 ID:

      • 機構,指定為 organizations/ORGANIZATION_IDORGANIZATION_ID
      • 資料夾,指定為 folders/FOLDER_ID
      • 專案,指定為 projects/PROJECT_ID
    • SOURCE_ID:發現項目供應商的來源 ID。 如要找出來源 ID,請參閱「取得來源 ID」。

    • FINDINGS.txt:用來儲存調查結果清單的目標檔案名稱和副檔名。

  3. FINDINGS.txt 複製到 Cloud Storage 值區。

    gcloud storage cp FINDINGS.txt gs://BUCKET_NAME

    BUCKET_NAME 替換為您的 bucket 名稱。

  4. 如要將 FINDINGS.txt 儲存到本機工作站,而非 Cloud Storage bucket,請執行下列指令:

    cloudshell download FINDINGS.txt

持續匯出

持續匯出功能可簡化自動將 Security Command Center 發現項目匯出至 Pub/Sub 的程序。系統會近乎即時地將新發現項目自動匯出至指定的 Pub/Sub 主題,方便您將這些項目整合到現有工作流程中。

如要進一步瞭解 Pub/Sub,請參閱「什麼是 Pub/Sub?」。

將 Security Command Center 匯出至 BigQuery

在 Security Command Center 中更新發現項目的屬性時,系統會擷取發現項目的快照,並嘗試將該快照傳送至 BigQuery。

  • 如果快照中的發現項目屬性符合 BigQueryExport 中定義的匯出篩選器,系統就會將快照傳送至 BigQuery,並在 BigQuery 中成為發現項目的目前記錄。

  • 如果發現項目的屬性與篩選器不符,系統就不會將快照傳送至 BigQuery。如果 BigQuery 中有先前發現項目的快照,即使該快照未反映 Security Command Center 中發生的屬性更新,也會成為 BigQuery 中發現項目的目前記錄。

舉例來說,如果 BigQuery 匯出作業的篩選條件包含「有效」狀態,系統就會產生處於有效狀態的新發現項目,並將該發現項目的快照成功匯出至 BigQuery。

稍後,Security Command Center 中該發現項目的狀態會更新為「非使用中」。更新會觸發將新的發現項目快照匯出至 BigQuery,但由於狀態值不再符合篩選條件,篩選條件會封鎖發現項目快照的匯出作業。

因此,BigQuery 中的發現項目快照仍處於有效狀態,但 Security Command Center 中的相同發現項目則處於無效狀態。

這也會導致 Security Command Center 中的有效發現項目數量,與 BigQuery 中的有效發現項目數量不符。BigQuery 中的數量幾乎一律會大於 Security Command Center 中的數量。

舉例來說,如果匯出篩選器指定「有效」狀態,且系統產生 100 項「有效」狀態的發現項目,則這 100 項都會匯出至 BigQuery。隨後,Security Command Center 會將其中 50 項發現項目更新為非使用中,而篩選器會封鎖更新觸發的匯出作業,因為狀態值不再符合篩選條件。因此,在 BigQuery 中,所有 100 項調查結果仍處於有效狀態,但在 Security Command Center 中,只有 50 項調查結果仍處於有效狀態。

持續匯出與發現通知的比較

您可以使用 Security Command Center API,為 Pub/Sub 設定發現項目通知。您必須使用 Google Cloud CLI 設定 Pub/Sub 主題、建立發現項目篩選器,以及建立包含設定的 NotificationConfigs 檔案,才能透過 API 傳送通知。持續匯出功能與匯出作業相同,但使用 Google Cloud 控制台可簡化匯出作業。

權限

如要建立及管理持續匯出作業,您需要具備下列其中一個角色。

  • roles/securitycenter.adminEditor
  • roles/securitycenter.adminViewer

您也可以使用具備下列權限的角色:

  • 如要查看或發布 Pub/Sub 主題,請按照下列步驟操作:

    • pubsub.topics.publish
    • pubsub.topics.list
  • 如要查看「持續匯出」頁面,請按照下列步驟操作:

    • securitycenter.notificationconfig.get
    • securitycenter.notificationconfig.list
  • 如何管理持續匯出作業:

    • securitycenter.notificationconfig.create
    • securitycenter.notificationconfig.update
    • securitycenter.notificationconfig.delete

如要進一步瞭解 Security Command Center 角色,請參閱存取權控管

資料落地權和持續匯出作業

如果 Security Command Center 已啟用資料落地,定義持續匯出至 Pub/Sub 的設定 (notificationConfig 資源) 會受到資料落地控管,並儲存在您選取的Security Command Center 位置

如要將 Security Command Center 位置中的發現項目匯出至 Pub/Sub,您必須在與發現項目相同的 Security Command Center 位置中,設定持續匯出功能。

由於持續匯出功能使用的篩選器可能包含受居住地控管的資料,因此請務必先指定正確位置,再建立篩選器。Security Command Center 不會限制您建立匯出作業的位置。

持續匯出作業只會儲存在建立時使用的位置,無法在其他位置查看或編輯。

建立連續匯出作業後,就無法變更位置。如要變更位置,請刪除持續匯出作業,然後在新位置重新建立。

如要瞭解啟用資料落地功能後如何使用 Security Command Center,請參閱「Security Command Center 區域端點」。

與 Pub/Sub 訊息儲存政策的相容性

Pub/Sub 可讓您設定訊息儲存政策。這項政策可確保 Pub/Sub 只會在您指定的 Google Cloud 區域儲存及處理訊息,無論發布或訂閱要求來自何處。

不過,持續匯出作業與訊息儲存政策的 enforceInTransit 選項不相容。設定持續匯出時,請勿選擇已啟用enforceInTransit的訊息儲存政策的 Pub/Sub 主題,否則這類主題可能無法收到 Security Command Center 的發現項目通知。

詳情請參閱「訊息儲存空間政策總覽」。

建立持續匯出至 Pub/Sub 的作業

您可以透過持續匯出功能,自動將日後的所有發現項目匯出至 Pub/Sub,或是建立篩選條件,匯出符合特定條件的發現項目。您可以依類別、來源、資產類型、安全性標記、嚴重性、狀態和其他變數篩選結果。

為 Pub/Sub 建立新的持續匯出項目後,您可以使用 Google Cloud 控制台、gcloud CLI、v2 Security Command Center API 或 Security Command Center 的 v2 用戶端程式庫進行管理。

貴機構最多可以建立 500 項持續匯出作業。

如要建立 Pub/Sub 匯出項目,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往 Security Command Center 的「發現項目」頁面。

    前往「發現項目」

  2. 在工具列上,按一下專案選取器,然後選取專案、資料夾或機構。

  3. 在「發現項目查詢結果」欄位中,使用下列任一方法選取要匯出的發現項目:

    • 按一下「新增篩選器」,選取要匯出調查結果的屬性。

      在「選取篩選器」對話方塊中,您可以選擇系統支援的搜尋屬性和值。

      1. 選取發現項目屬性,或在「搜尋發現項目屬性」方塊中輸入屬性名稱。畫面上會顯示可用的子屬性清單。
      2. 選取子屬性。系統會顯示選取欄位,您可以使用所選子屬性、查詢運算子,以及一或多個子屬性值,建構查詢陳述式。
      3. 從面板中選取子屬性的運算子和一或多個值。 如要進一步瞭解查詢運算子和使用的函式,請參閱「新增篩選器」選單中的「查詢運算子」。
      4. 按一下 [套用]

        對話方塊會關閉,查詢也會更新。

      5. 重複上述步驟,直到結果查詢包含所有需要的屬性為止。
    • 在查詢編輯器中手動編碼查詢。您可以使用標準 SQL 運算子 ANDOR、等於 (=)、具有 (:) 和不等於 (-),指定要匯出的發現項目屬性和值。

      輸入查詢時,系統會顯示自動完成選單,您可以在其中選取篩選器名稱和函式。

      舉例來說,下列查詢會將 prod-project 中低嚴重性和中等嚴重性的 anomalous IAM grant 發現項目設為靜音,並排除名稱含有子字串 compute 的資源類型:

      severity="LOW" OR severity="MEDIUM" AND category="Persistence:
      IAM Anomalous Grant" AND resource.project_display_name="prod-project"
      AND -resource.type:"compute"
      

      如需篩選結果的更多範例,請參閱「篩選通知」。

  4. 請檢查查詢結果是否正確。如要變更,請視需要刪除或新增屬性和篩選值。

  5. 按一下「重新整理相符的發現項目」。表格會顯示與查詢相符的發現項目。如要進一步瞭解如何查詢發現項目,請參閱「在 Google Cloud 控制台中編輯發現項目查詢」。

  6. 按一下「匯出」,然後在「持續」下方,按一下「Pub/Sub」

  7. 檢查篩選條件是否正確,如有必要,請返回「發現項目」頁面進行修改。

  8. 在「持續匯出項目名稱」下方,輸入匯出項目名稱。

  9. 在「持續匯出項目說明」下方,輸入匯出項目的說明。

  10. 在「匯出至」下方,選取要匯出的專案。您無法在這個頁面建立專案。如要建立新專案,請參閱「建立專案」。

  11. 在「Pub/Sub topic」(Pub/Sub 主題) 下,選取要匯出調查結果的主題。如要建立主題,請按照下列步驟操作:

    1. 選取「建立主題」
    2. 輸入「主題 ID」,然後視需要選取其他選項:

      1. 瞭解如何建立及管理結構定義
      2. 瞭解如何搭配 Pub/Sub使用客戶自行管理的加密金鑰 (CMEK)
    3. 按一下 [Create Topic] (建立主題)

  12. 按一下 [儲存]。系統會顯示確認訊息,並將您帶回「發現」頁面。

  13. 按照指南為 Pub/Sub 主題建立訂閱項目

Pub/Sub 匯出設定已完成。如要發布通知,系統會以 service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com 形式為您建立服務帳戶。系統會自動在機構層級將 roles/securitycenter.notificationServiceAgent 角色授予這個服務帳戶。通知功能必須具備這個服務帳戶角色才能運作。

測試持續匯出作業

如要確認匯出作業正常運作,請按照下列步驟,在有效和無效狀態之間切換調查結果。

  1. 在 Google Cloud 控制台中,前往 Security Command Center 的「發現項目」頁面。

    前往「發現項目」

  2. 按一下「編輯查詢」。「查詢編輯器」隨即開啟。

  3. 編輯查詢,同時顯示有效和停用的發現項目。以下查詢會省略 state 屬性,顯示所有發現項目,但已靜音的項目除外:

    NOT mute="MUTED"
    1. 如有需要,請使用查詢編輯器重新輸入與要測試的匯出篩選條件相符的篩選變數。
    2. 選取一項發現,然後依序點選「變更有效狀態」「無效」
    3. 再次選取標示為無效的發現項目,然後依序點選「變更有效狀態」>「有效」。系統會針對新啟用的發現事項傳送通知。
    4. 前往 Google Cloud 控制台的 Pub/Sub 頁面。

    前往「Pub/Sub」頁面

    1. 在主題清單中,按一下主題名稱。
    2. 前往「訊息」分頁,然後從清單中選取訂閱項目,即可查看發現通知。
    3. 選用:按一下「提取」即可重新整理訊息。

管理持續匯出作業

如要查看、編輯或刪除匯出內容,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Security Command Center Settings」(安全中心設定) 頁面。

    前往設定頁面

  2. 在工具列上,按一下專案選取器,然後選取專案、資料夾或機構。

  3. 選取「持續匯出」。系統會顯示專案、資料夾或機構的持續匯出清單。

在 Google Cloud 控制台中,部分持續匯出作業可能會顯示「舊版」標籤,表示這些作業是透過 v1 Security Command Center API 建立。您可以使用 Google Cloud 控制台、gcloud CLI、v1 Security Command Center API 或 Security Command Center 的 v1 用戶端程式庫,管理這些持續匯出項目。

如要使用 gcloud CLI 管理這些持續匯出作業,執行 gcloud CLI 指令時不得指定位置。

在「設定」的「持續匯出」頁面中,您可以建立、查看、編輯及刪除持續匯出作業。

如要查看符合匯出篩選條件的發現項目,請按照下列步驟操作:

在「持續匯出」頁面中,選取匯出項目名稱旁邊的「更多」圖示 ,然後按一下「查看相關篩選器」

「發現項目」頁面會載入符合匯出篩選條件的發現項目。

編輯持續匯出作業

  1. 在「持續匯出」頁面中,按一下要查看或修改的匯出項目名稱,或按一下「更多」圖示
  2. 選取 [編輯]
  3. 輸入新說明、變更儲存匯出內容的專案,或輸入新的 Pub/Sub 主題。
  4. 完成後,按一下 [Save] (儲存)。

刪除持續匯出作業

  1. 在「持續匯出」頁面中,按一下要刪除的匯出項目名稱。
  2. 按一下「刪除」圖示
  3. 在對話方塊中按一下「刪除」。匯出作業已刪除。

後續步驟

進一步瞭解如何查看通知