調整機構和資料夾的預設設定

本文件說明如何使用 Google Cloud CLI 設定記錄的預設設定。預設設定可套用至機構或資料夾,可決定下列項目:

  • 是否需要為新的記錄值區使用客戶自行管理的加密金鑰 (CMEK)。
  • 是否啟用或停用 _Default 接收器。

  • 套用至新資源 _Default 匯入器的篩選器。

總覽

機構資源位於 Google Cloud 資源階層的最高層級。機構資源是下列子項資源的父項:Google Cloud 專案、資料夾、帳單帳戶,以及在記錄方面,記錄資料匣

您可以設定記錄功能,讓系統為 Google Cloud 機構和資料夾使用預設設定。建立新資源時,這些資源會繼承其父項的預設設定。

Cloud Logging 支援下列預設設定:

  • 資源中的新記錄值區是否要使用客戶代管的金鑰加密,如果要加密,則是使用哪個預設 Cloud KMS 金鑰進行加密。

  • 由子項資源建立的新 _Default_Required 記錄值區的儲存位置,以及由 Logs ExplorerLog Analytics 頁面儲存的查詢。設定儲存位置後,您可以控制記錄檔的儲存位置

    如果您為資源設定預設儲存位置,但未為該資源設定 CMK,則資源中的新記錄值區不需要 CMK。

  • 資源中的新專案是否啟用 _Default 記錄匯流程

  • 套用至子項資源中所有新 _Default 匯出端的包含篩選器或排除篩選器。

設定範例:

  • 您為機構設定預設儲存位置。對於機構中的新專案,系統會在指定位置建立 _Default_Required 記錄值區。此外,Logs Explorer記錄檔分析頁面儲存的查詢會儲存在指定位置。這些查詢包括在執行後自動儲存的近期查詢,以及Google Cloud 專案成員儲存的查詢。
  • 您可以為機構設定預設儲存位置,並為該機構中的每個資料夾設定預設儲存位置。如果新專案位於資料夾中,系統會在資料夾設定指定的位置建立 _Default_Required 桶。對於不在資料夾中的專案,系統會在機構設定指定的位置建立其 _Default_Required 儲存體。

  • 您為機構設定 CMEK,而對於名為 Non-CMEK 的資料夾,您只需設定預設儲存位置。如果您建立的專案不在名為 Non-CMEK 的資料夾中,系統會在 Cloud Key Management Service 金鑰所在位置建立 _Default_Required 值區,並使用該金鑰加密這些記錄值區。不過,如果您在名為 Non-CMEK 的資料夾中建立新專案,其記錄值區會在該資料夾設定指定的位置建立,且這些記錄值區不會由 CMEK 加密。

  • 您可以設定排除篩選器,在機構層級套用至新的 _Default 接收器。篩選器會排除資料存取稽核記錄,以免將這些記錄透過所有子項資源中的 _Default 接收器進行路由,進而避免資料存取稽核記錄儲存在 _Default 儲存桶中。

事前準備

本文件未說明如何將 CMEK 設為記錄功能的預設設定。如要進一步瞭解這個主題,請參閱「為記錄設定 CMEK」。

如要開始設定記錄功能的預設設定,請按照下列步驟操作:

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. 請確認您要設定預設設定的機構或資料夾的 Identity and Access Management 角色,具備下列 Cloud Logging 權限:

    • logging.settings.get
    • logging.settings.update
  3. 指定要儲存記錄和查詢的位置。如需支援的儲存空間位置清單,請參閱「支援的地區」。

  4. 查看記錄的預設設定

    如要查看 Logging 的預設設定 (包括預設儲存位置),請使用 gcloud logging settings describe 指令:

    資料夾

     gcloud logging settings describe --folder=FOLDER_ID
    

    執行上述指令前,請先進行以下替換:

    • FOLDER_ID:資料夾的專屬數字 ID。如要瞭解如何使用資料夾,請參閱「建立及管理資料夾」一文。

    機構

    gcloud logging settings describe --organization=ORGANIZATION_ID
    

    執行上述指令前,請先進行以下替換:

    • ORGANIZATION_ID:機構的專屬數字 ID。如要瞭解如何取得這個 ID,請參閱「取得機構 ID」一文。

    上述指令會傳回預設設定的相關資訊。例如,以下是特定機構的預設設定:

    name: organizations/ORGANIZATION_ID/settings
    kmsKeyName: KMS_KEY_NAME
    kmsServiceAccountId: SERVICE_ACCT_NAME@gcp-sa-logging.iam.gserviceaccount.com
    storageLocation: europe-west1
    disableDefaultSink: false
    

    SERVICE_ACCT_NAME 的值可能採用 cmek-12345service-12345@... 格式。如果無法使用 Google Cloud CLI,請執行 Cloud Logging API 方法 getSettings

    設定預設儲存位置

    記錄檔值區是Google Cloud 專案、帳單帳戶、資料夾和機構中的容器,用於儲存及整理記錄檔資料。針對每個 Google Cloud 專案、帳單帳戶、資料夾和機構,Logging 會自動建立兩個記錄檔值區:_Required_Default,並自動儲存在 global 位置。

    設定機構或資料夾的預設儲存位置時,您必須指定建立新 _Required_Default 記錄值區的位置,以及在 Logs ExplorerLog Analytics 頁面中執行的查詢儲存的位置。設定預設儲存空間位置不會影響現有記錄值區的位置。同樣地,對於已儲存的查詢,其儲存位置不會變更。

    為機構或資料夾設定預設儲存位置後,系統會執行以下操作:

    • 如果在機構或資料夾中建立新的子資源,其 _Required_Default 桶就會繼承預設的儲存位置。
    • 您在 Logs Explorer記錄檔分析 頁面中執行的新查詢會儲存在預設儲存位置。這個位置也適用於自動儲存的近期查詢。

    Cloud Logging 的預設儲存位置不適用於使用者定義的記錄值區,或使用 Logging API 儲存的查詢。

    設定機構政策

    記錄功能支援機構政策,可限制資料儲存位置。如果貴機構有這類政策,您只能在政策允許的位置建立記錄資料集。

    如果機構政策中指定了位置限制,則限制的政策值必須包含記錄預設設定中指定的位置。此外,如果您打算修改預設設定,請先檢查並視需要更新機構政策,然後再更新預設設定。

    如要查看或更新機構政策,請按照下列步驟操作:

    1. 在 Google Cloud 控制台中,前往「Organization Policies」(機構政策) 頁面:

      前往「Organization Policies」(機構政策)

      如果您是使用搜尋列尋找這個頁面,請選取子標題為「IAM 與管理」的結果

    2. 選取您的機構。

    3. 查看並視需要更新 ID constraints/gcp.resourceLocations 的限制條件。如果未設定這項限制,則不需要更新。

      如要瞭解如何查看特定限制條件,以及如何編輯這些限制條件,請參閱「建立及編輯政策」。

    設定記錄的預設儲存位置

    如要設定 Cloud Logging 的預設儲存位置,請執行 gcloud logging settings update 指令並加入 --storage-location 標記:

    資料夾

    gcloud logging settings update --folder=FOLDER_ID--storage-location=LOCATION
    

    執行上述指令前,請先進行下列替換:

    • FOLDER_ID:資料夾的專屬數字 ID。如要瞭解如何使用資料夾,請參閱「建立及管理資料夾」一文。
    • LOCATION:建立新的 _Default_Required 記錄值區,以及儲存查詢的位置。如需支援位置的清單,請參閱「支援的地區」。

    機構

    gcloud logging settings update --organization=ORGANIZATION_ID --storage-location=LOCATION
    

    執行上述指令前,請先進行下列替換:

    • ORGANIZATION_ID:機構的專屬數字 ID。如要瞭解如何取得這個 ID,請參閱「取得機構 ID」一文。
    • LOCATION:建立新的 _Default_Required 記錄值區,以及儲存查詢的位置。如需支援的位置清單,請參閱「支援的地區」。

    如果無法使用 Google Cloud CLI,請執行 Cloud Logging API 方法 updateSettings

    如要進一步瞭解如何解決更新預設儲存空間位置時發生的錯誤,請參閱「排解設定預設資源位置的問題」。

    設定 _Default 接收器

    Logging 會為每個Google Cloud 專案、帳單帳戶、資料夾和機構資源提供預先定義的 _Default 接收器。資源中產生的任何記錄,如果符合加入篩選條件且未遭到排除,就會傳送至資源預先定義的相對應名稱 _Default 值區。

    您可以使用下列選項,為機構和資料夾設定 _Default 匯流程的預設設定:

    • 您可以停用為新子項資源建立 _Default 匯流程的功能。

    • 您可以設定套用至新專案 _Default 接收器的納入篩選器或多個排除篩選器。

    停用 _Default 接收器

    您可以為機構或資料夾中的所有新資源停用 _Default 匯出端,停用 _Default 匯出端可避免記錄儲存在資源的 _Default 儲存體中。如果您停止在資源的 _Default 值區中儲存記錄檔,則原本會轉送至該值區的記錄檔會從 Logging 的儲存空間中排除,除非這些記錄檔明確納入該資源的其他使用者定義接收器。

    如要停用資源及其任何子資源的 _Default 匯出端,請執行下列 gcloud logging settings update 指令:

    資料夾

    gcloud logging settings update --folder=FOLDER_ID--disable-default-sink
    

    執行上述指令前,請先進行以下替換:

    • FOLDER_ID:資料夾的專屬數字 ID。如要瞭解如何使用資料夾,請參閱「建立及管理資料夾」一文。

    機構

    gcloud logging settings update --organization=ORGANIZATION_ID --disable-default-sink
    

    執行上述指令前,請先進行以下替換:

    • ORGANIZATION_ID:機構的專屬數字 ID。如要瞭解如何取得這個 ID,請參閱「取得機構 ID」一文。

    disable-default-sink 標記僅適用於將記錄路由至 _Default 值區的 _Default 接收器。

    您可以執行下列 gcloud logging settings update 指令,重新啟用 _Default 匯流層:

    資料夾

    gcloud logging settings update --folder=FOLDER_ID--no-disable-default-sink
    

    機構

    gcloud logging settings update --organization=ORGANIZATION_ID --no-disable-default-sink
    

    設定 _Default 接收器的預設篩選器

    預先定義的 _Default 接收器會將任何符合接收器條件的記錄項目,轉送至對應的 _Default 儲存桶。您可以傳送 Cloud Logging API 指令,藉此覆寫 _Default 接收器中的內建納入篩選器或附加篩選器。_Default 接收器內建的排除篩選器為空白。不過,您也可以透過 API 指令新增排除篩選器

    如要指定套用至機構或資料夾中所有新資源的 _Default 匯出端的納入篩選器或排除篩選器,請執行 Cloud Logging API 方法 updateSettings,並指定 defaultSinkConfig 物件。

    您可以使用方法參考資料頁面上的 API Explorer 小工具,執行 updateSettings 方法。以下範例說明範例參數:

    • name (網址):organizations/ORGANIZATION_ID/settings
    • updateMask"default_sink_config"
    • 要求主體:包含 Settings 的例項:

      "defaultSinkConfig": {
        {
        "filter": "NOT LOG_ID(\"externalaudit.googleapis.com/activity\") "
        "AND NOT LOG_ID(\"cloudaudit.googleapis.com/system_event\") "
        "AND NOT LOG_ID(\"externalaudit.googleapis.com/system_event\") "
        "AND NOT LOG_ID(\"cloudaudit.googleapis.com/access_transparency\") "
        "AND NOT LOG_ID(\"externalaudit.googleapis.com/access_transparency\") ",
        "exclusions": [
           {
              "name": "exclude-data-access",
              "description": "Prevents Data Access audit logs from being routed",
              "filter": "log_id(\"cloudaudit.googleapis.com/data_access\")",
           }
        ],
        "mode": OVERWRITE
        }
      }
      

    _Default 接收器內建的納入篩選器包含 AND NOT LOG_ID("externalaudit.googleapis.com/activity") 陳述式,可防止管理員活動稽核記錄傳送至 _Default 記錄檔 bucket。在前述範例中,我們變更了納入篩選器,讓管理員活動稽核記錄轉送至 _Default 記錄檔值區。這個範例也會新增排除篩選器,避免資料存取稽核記錄傳送至 _Default 桶。在上述範例中,排除篩選器的名稱為 exclude-data-access

    排解設定錯誤

    如需疑難排解資訊,請參閱排解 CMEK 和預設設定錯誤