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

本文說明如何使用 Google Cloud CLI 設定 Logging 的預設設定。您可以將預設設定套用至機構或資料夾,決定下列事項:

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

  • 套用至新資源 _Default 接收器的篩選器。

總覽

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

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

Cloud Logging 支援下列預設設定:

  • 資源中的新記錄值區是否要以客戶管理的金鑰加密,如果要,則加密時使用的預設 Cloud KMS 金鑰。

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

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

設定範例:

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

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

  • 您可以在機構層級設定排除篩選器,套用至新的 _Default 接收器。這項篩選條件會排除所有子項資源中透過 _Default 接收器傳送的資料存取稽核記錄,避免資料存取稽核記錄儲存在 _Default 儲存空間中。

事前準備

本文未說明如何將 CMEK 設定為 Logging 的預設設定。如要瞭解該主題,請參閱「為 Logging 設定 CMEK」。

如要開始設定 Logging 的預設設定,請按照下列步驟操作:

  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

    設定預設儲存位置

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

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

    為機構或資料夾設定預設儲存位置後,會發生下列情況:

    • 在機構或資料夾中建立的新子項資源,其 _Required_Default 值區會沿用預設儲存位置。
    • 您在「記錄檔探索工具」或「記錄檔分析」頁面中執行的查詢,都會儲存在預設儲存位置。這項設定也適用於自動儲存的近期查詢。

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

    設定機構政策

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

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

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

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

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

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

    2. 選取您的機構。

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

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

    設定 Logging 的預設儲存位置

    如要設定 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 bucket 中。如果您停止在資源的 _Default bucket 中儲存記錄,系統就不會將原本會轉送至該 bucket 的記錄儲存在 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 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

    排解設定錯誤

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