設定 Cloud Logging 的預設資源設定

本文說明如何設定 Cloud Logging 的預設資源設定。您可以透過這些設定,控管系統建立新記錄檔 bucket 的位置、記錄檔 bucket 是否必須使用 CMEK,以及 _Default 記錄檔接收器的設定。您可以為機構和資料夾設定這些設定,子項資源會沿用這些設定。您可以使用 Google Cloud CLI 設定 Cloud Logging 的預設資源設定。

總覽

機構資源位於Google Cloud 資源階層的最高層級。機構資源是下列子項資源的父項:Google Cloud 專案、資料夾、帳單帳戶,以及與記錄相關的記錄儲存空間

對於機構和資料夾,您可以設定 Cloud Logging 的預設資源設定。您可以透過這些設定指定記錄值區的位置、加密模型,以及預設記錄接收器的設定。子項資源會沿用父項資源的預設資源設定。

您可以透過 Cloud Logging 的預設資源設定,設定下列項目:

  • 資源中的新記錄檔儲存空間是否要以客戶管理的金鑰加密,如果要,則用於加密的 Cloud KMS 金鑰。

  • 子項資源建立的新 _Default_Required 記錄檔值區,以及 Logs Explorer記錄檔分析頁面儲存的查詢。設定儲存位置後,即可控管記錄的儲存位置

    如果資源的 Cloud Logging 預設資源設定指定了儲存位置,但沒有 CMEK 設定,則資源中的新記錄值區不需要 CMEK。

  • 資源中新專案的 _Default 記錄接收器是否啟用。

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

設定範例:

  • 對於機構,Cloud Logging 的預設資源設定會指定儲存位置。 對於機構中的新專案,系統會在指定位置建立 _Default_Required 記錄值區。 此外,記錄檔探索工具記錄檔分析頁面儲存的查詢會存放在指定位置。這些查詢包括執行後自動儲存的近期查詢,以及Google Cloud 專案成員儲存的查詢。
  • 對於機構,Cloud Logging 的預設資源設定會指定儲存位置。 此外,如果是機構中的資料夾,Cloud Logging 的預設資源設定會指定不同的儲存位置。如果是資料夾中的新專案,系統會在資料夾設定指定的位置建立 _Default_Required 值區。如果專案不在資料夾中,系統會在機構設定指定的位置建立 _Default_Required 值區。

  • 如果是機構,您可以設定 Cloud Logging 的預設資源設定,指定位置和 CMEK。針對名為 Non-CMEK 的資料夾,您可設定 Cloud Logging 的預設資源設定,只指定位置。如果您建立的專案不在名為 Non-CMEK 的資料夾中,系統會在與 Cloud Key Management Service 金鑰相同的位置建立 _Default_Required 值區,並使用該金鑰加密這些記錄值區。不過,如果您在名為 Non-CMEK 的資料夾中建立新專案,系統會在該資料夾設定指定的位置建立記錄值區,且這些記錄值區不會透過 CMEK 加密。

  • 如果是組織,您可以設定 Cloud Logging 的預設資源設定,套用適用於新 _Default 接收器的排除篩選器。這項篩選條件會排除所有子資源中透過 _Default 接收器傳送的資料存取稽核記錄,防止資料存取稽核記錄儲存在 _Default bucket 中。

事前準備

本文未說明如何設定 Cloud Logging 的預設資源設定,以使用 CMEK 設定。如要瞭解該主題,請參閱「為 Logging 設定 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. 查看 Cloud Logging 的預設資源設定

    如要查看 Cloud 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」。

    先前的指令會傳回 Cloud Logging 的預設資源設定相關資訊。以下是回應範例:

    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

    設定儲存位置

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

    對於機構和資料夾,Cloud Logging 的預設資源設定會控管新 _Required_Default 記錄 bucket 的建立位置,以及您在「記錄檔探索工具」和「記錄檔分析」頁面中執行的查詢儲存位置。現有查詢和記錄檔儲存區的位置不會變更。

    為機構和資料夾設定 Cloud Logging 的預設資源設定,指定位置時會發生下列情況:

    • 在機構或資料夾中建立的新子項資源,其 _Required_Default 值區會繼承父項的預設資源設定。
    • 指定您在「Logs Explorer」或「記錄檔分析」頁面中執行的新查詢和近期查詢的儲存位置。

    如果 Cloud Logging 的預設資源設定指定了位置,該位置不會套用至使用者定義的記錄檔 bucket,也不會套用至使用 Logging API 儲存的查詢。

    設定機構政策

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

    如果存在指定位置限制的組織政策,限制的政策值必須包含 Cloud Logging 預設資源設定中指定的位置。更新 Cloud Logging 的預設資源設定前,請先檢查機構政策,並視需要更新。

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

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

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

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

    2. 選取您的機構。

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

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

    設定系統建立的新記錄 bucket 儲存位置

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

    資料夾

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

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

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

    機構

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

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

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

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

    如要瞭解如何解決錯誤,請參閱「排解為系統建立的新記錄值區設定位置的問題」。

    設定 _Default 接收器

    Logging 會為每個Google Cloud 專案、帳單帳戶、資料夾和機構資源提供預先定義的_Default接收器。凡是在符合納入篩選條件的資源中產生,且未遭排除的記錄,都會傳送至資源預先定義的 _Default 值區,並以相應名稱命名。

    對於機構和資料夾,Cloud Logging 的預設資源設定可讓您設定 _Default 接收器的下列行為:

    • 您可以禁止為新的子項資源建立 _Default 接收器。

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

    停用 _Default 接收器

    您可以為機構或資料夾中的所有新資源停用 _Default 接收器;停用 _Default 接收器後,系統就不會將記錄儲存在資源的 _Default bucket 中。如果您停止將記錄檔儲存在資源的 _Default bucket 中,系統就會從 Logging 儲存作業排除原本會轉送至該 bucket 的記錄檔,除非這些記錄檔明確包含在該資源的其他使用者定義接收器中。

    如要為資源及其所有子項資源停用 _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 接收器。

    如要重新啟用 _Default 接收器,請執行下列 gcloud logging settings update 指令:

    資料夾

    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 物件。

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

    • 名稱 (網址):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 bucket。在上述範例中,排除篩選器名為 exclude-data-access

    排解設定錯誤

    如需疑難排解資訊,請參閱「排解 Cloud Logging 的 CMEK 和預設資源設定」。