設定 Cloud Logging 的預設資源設定

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

本文所述設定不適用於可觀測性值區。如要瞭解如何設定可觀測性 bucket,請參閱「設定可觀測性 bucket 的預設值」。

總覽

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

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

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

  • 資源中的新記錄檔儲存空間是否要以客戶管理的金鑰加密,以及要使用哪個 Cloud KMS 金鑰加密。

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

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

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

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

設定範例:

  • 對於機構,Cloud Logging 的預設資源設定會指定儲存位置。 對於機構中的新專案,系統會在指定位置建立 _Default_Required 記錄值區。 此外,Logs ExplorerObservability Analytics 頁面儲存的查詢會存放在指定位置。這些查詢包括執行後自動儲存的近期查詢,以及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 記錄檔 bucket,並使用該金鑰加密這些記錄檔 bucket。不過,如果您在名為 Non-CMEK 的資料夾中建立新專案,系統會在該資料夾設定指定的位置建立記錄值區,且這些記錄值區不會透過 CMEK 加密。

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

事前準備

本文未說明如何設定 Cloud Logging 的預設資源,以使用 CMEK 設定。如要瞭解該主題,請參閱「為 Logging 設定 CMEK」。

請執行下列步驟:

  1. 在 Google Cloud 控制台中啟用 Cloud Shell。

    啟用 Cloud Shell

    Google Cloud 主控台底部會開啟一個 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。

  2. 確認您在機構或資料夾中的 Identity and Access Management 角色包含下列 Cloud Logging 權限:

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

查看 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

設定儲存位置

記錄檔值區 是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

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

設定 _Default 接收器

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

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

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

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

停用 _Default 接收器

您可以為機構或資料夾中的所有新資源停用 _Default 接收器;停用 _Default 接收器後,系統就不會將記錄儲存在資源的 _Default bucket 中。如果您停止將記錄檔儲存在資源的 _Default bucket 中,系統就不會將原本會轉送至該 bucket 的記錄檔儲存在 Cloud 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 接收器。

如要重新啟用 _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 bucket。您可以傳送 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 和預設資源設定」。