本文說明如何使用 Google Cloud CLI 設定 Logging 的預設設定。您可以將預設設定套用至機構或資料夾,決定下列事項:
- 是否需要為新記錄值區使用客戶自行管理的加密金鑰 (CMEK)。
- 新
_Default
和_Required
值區的儲存位置,以及在「記錄檔探索器」或「記錄檔分析」頁面中執行的查詢。
_Default
接收器是否已啟用或停用。套用至新資源
_Default
接收器的篩選器。
總覽
機構資源位於Google Cloud 資源階層的最高層級。機構資源是下列子項資源的父項:Google Cloud 專案、資料夾、帳單帳戶,以及與記錄相關的記錄儲存區。
您可以設定記錄功能,為機構和資料夾使用預設設定。 Google Cloud 建立新資源時,這些資源會沿用父項的預設設定。
Cloud Logging 支援下列預設設定:
資源中的新記錄值區是否要以客戶管理的金鑰加密,如果要,則加密時使用的預設 Cloud KMS 金鑰。
子項資源建立的新
_Default
和_Required
記錄檔值區,以及 Logs Explorer 或記錄檔分析頁面儲存的查詢。設定儲存位置後,即可控管記錄檔的儲存位置。如果您為資源設定預設儲存位置,但未為該資源設定 CMEK,則資源中的新記錄 bucket 不需要 CMEK。
資源中新專案的
_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 的預設設定,請按照下列步驟操作:
-
In the Google Cloud console, 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.
請確認您在要設定預設設定的機構或資料夾中,所擁有的 Identity and Access Management 角色包含下列 Cloud Logging 權限:
logging.settings.get
logging.settings.update
找出要儲存記錄和查詢的位置。 如需支援的儲存位置清單,請參閱「支援的地區」。
- FOLDER_ID:資料夾的專屬數值 ID。如要瞭解如何使用資料夾,請參閱「建立及管理資料夾」。
- ORGANIZATION_ID:機構的專屬數值 ID。如要瞭解如何取得這個 ID,請參閱「取得機構 ID」。
- 在機構或資料夾中建立的新子項資源,其
_Required
和_Default
值區會沿用預設儲存位置。 - 您在「記錄檔探索工具」或「記錄檔分析」頁面中執行的查詢,都會儲存在預設儲存位置。這項設定也適用於自動儲存的近期查詢。
-
前往 Google Cloud 控制台的「Organization Policies」(機構政策) 頁面:
前往「Organization Policies」(機構政策)
如果您是使用搜尋列尋找這個頁面,請選取子標題為「IAM & Admin」(IAM 與管理) 的結果。
選取您的機構。
查看並視需要更新 ID 為
constraints/gcp.resourceLocations
的限制。如果未設定這項限制,就不需要更新。如要瞭解如何查看及編輯特定限制,請參閱「建立及編輯政策」一文。
您可以禁止為新的子項資源建立
_Default
接收器。您可以設定適用於新專案
_Default
水槽的納入篩選器或多個排除篩選器。- FOLDER_ID:資料夾的專屬數值 ID。如要瞭解如何使用資料夾,請參閱「建立及管理資料夾」。
- ORGANIZATION_ID:機構的專屬數值 ID。如要瞭解如何取得這個 ID,請參閱「取得機構 ID」。
- 名稱 (網址):
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 } }
查看記錄的預設設定
如要查看 Logging 的預設設定 (包括預設儲存位置),請使用 gcloud logging settings describe
指令:
資料夾
gcloud logging settings describe --folder=FOLDER_ID
執行上一個指令前,請進行下列替換:
機構
gcloud logging settings describe --organization=ORGANIZATION_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-12345
或 service-12345@...
。如果無法使用 Google Cloud CLI,請執行 Cloud Logging API 方法 getSettings
。
設定預設儲存位置
記錄檔 bucket 是Google Cloud 專案、帳單帳戶、資料夾和機構中的容器,可儲存及整理記錄檔資料。針對每個 Google Cloud 專案、帳單帳戶、資料夾和機構,Logging 會自動建立兩個記錄檔值區:_Required
和 _Default
,並自動儲存在 global
位置。
為機構或資料夾設定預設儲存位置時,您會指定新 _Required
和 _Default
記錄值區的建立位置,以及在 Logs Explorer 和 Log Analytics 頁面中執行的查詢儲存位置。設定預設儲存位置不會影響現有記錄值區的位置。同樣地,已儲存查詢的儲存位置也不會變更。
為機構或資料夾設定預設儲存位置後,會發生下列情況:
Cloud Logging 的預設儲存位置不適用於使用者定義的記錄檔值區,也不適用於使用 Logging API 儲存的查詢。
設定機構政策
記錄功能支援機構政策,可限制資料儲存位置。 如果貴機構有這類政策,您就只能在政策允許的位置建立記錄檔儲存空間。
如果存在指定位置限制的機構政策,限制的政策值必須包含記錄的預設設定中指定的位置。此外,如果您打算修改預設設定,請先檢查並視需要更新機構政策,再更新預設設定。
如要查看或更新機構政策,請按照下列步驟操作:
設定 Logging 的預設儲存位置
如要設定 Cloud Logging 的預設儲存位置,請執行 gcloud logging settings update
指令並加入 --storage-location
旗標:
資料夾
gcloud logging settings update --folder=FOLDER_ID--storage-location=LOCATION
執行上一個指令前,請先進行下列替換作業:
機構
gcloud logging settings update --organization=ORGANIZATION_ID --storage-location=LOCATION
執行上一個指令前,請先進行下列替換作業:
如果無法使用 Google Cloud CLI,請執行 Cloud Logging API 方法 updateSettings
。
如要瞭解如何解決更新預設儲存位置時發生的錯誤,請參閱「排解設定預設資源位置的問題」。
設定 _Default
接收器
Logging 會為每個Google Cloud 專案、帳單帳戶、資料夾和機構資源提供預先定義的_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
執行上一個指令前,請進行下列替換:
機構
gcloud logging settings update --organization=ORGANIZATION_ID --disable-default-sink
執行上一個指令前,請進行下列替換:
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
方法。以下範例說明範例參數:
_Default
接收器的內建納入篩選器包含 AND NOT LOG_ID("externalaudit.googleapis.com/activity")
陳述式,可防止管理員活動稽核記錄轉送至 _Default
記錄檔 bucket。在先前的範例中,包含篩選器已變更,因此管理員活動稽核記錄會轉送至 _Default
記錄檔值區。範例也會新增排除篩選器,防止資料存取稽核記錄傳送至 _Default
bucket。在上述範例中,排除篩選器名為 exclude-data-access
。
排解設定錯誤
如需疑難排解資訊,請參閱「排解 CMEK 和預設設定錯誤」。