本文說明如何建立匯總接收器。匯總接收器可讓您合併及轉送機構或資料夾中Cloud de Confiance by S3NS 資源產生的記錄檔,並集中儲存在同一個位置。
事前準備
建立接收器前,請確認下列事項:
您熟悉匯總接收器的行為。如要瞭解這些接收器,請參閱「匯總接收器總覽」。
您擁有 Cloud de Confiance 資料夾或機構,且可在 Logs Explorer 中查看記錄項目。
您擁有下列任一 IAM 角色,可從Cloud de Confiance 機構或資料夾中將記錄檔項目路由傳送出去。
- 擁有者 (
roles/owner) - 記錄管理員 (
roles/logging.admin) - 記錄設定寫入者 (
roles/logging.configWriter)
這些角色包含的權限可讓您建立、刪除或修改接收器。如要瞭解如何設定 IAM 角色,請參閱 Logging 存取權控管指南。
- 擁有者 (
匯總接收器的目的地存在,或您有權建立該目的地。
如果目的地是 Cloud de Confiance 專案,該專案可以位於任何機構。所有其他目的地可位於任何機構的任何專案中。
選取這個頁面上的分頁,瞭解如何使用範例:
控制台
使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,無須設定驗證。
gcloud
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud initREST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。
建立匯總接收器
如要設定匯總接收器,請建立接收器,然後授予接收器寫入目的地的權限。本節說明如何建立匯總接收器。如要瞭解如何授予接收器權限,請參閱本頁面「設定目的地權限」一節。
每個資料夾或機構最多可建立 200 個接收器。
控制台
如要為資料夾或機構建立匯總接收器,請按照下列步驟操作:
-
前往 Cloud de Confiance 控制台的「Log Router」(記錄檔路由器) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
選取現有的資料夾或機構。
選取「建立接收器」。
在「接收器詳細資料」面板中,輸入下列詳細資料:
「Sink name」(接收器名稱):提供接收器的 ID;請注意,建立接收器後就無法重新命名,但可以刪除並建立新的接收器。
接收器說明 (選填):說明接收器的用途或用途。
在「選取接收器服務」選單中,選取目的地類型,然後完成對話方塊以指定目的地。您可以選取現有目的地或建立目的地。
如果是攔截用接收器,請選取「Cloud de Confiance 專案」,然後輸入目的地 Cloud de Confiance 專案的完整名稱:
logging.googleapis.com/projects/DESTINATION_PROJECT_ID如果是非攔截接收器,請選取目的地,然後輸入目的地的完整名稱。系統支援下列目的地:
Cloud de Confiance 專案
logging.googleapis.com/projects/DESTINATION_PROJECT_IDCloud Logging 值區
logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
Pub/Sub 主題
pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
在「Choose logs to include in sink」(選擇要納入接收器的記錄檔) 面板中,選取要納入接收器的資源。
如果是攔截接收器,請選取「攔截這個機構和所有子資源擷取的記錄檔」。
如果是非攔截接收器,請選取「收錄這個資源和所有子資源擷取的記錄檔」。
在「Build inclusion filter」(建立「包含」篩選器) 欄位中,輸入與要納入的記錄項目相符的篩選器運算式。如未設定篩選器,所選資源的所有記錄項目都會轉送至目的地。
舉例來說,您可能想建立篩選條件,將所有資料存取稽核記錄傳送至單一記錄值區。這個篩選器如下所示:
LOG_ID("cloudaudit.googleapis.com/data_access") OR LOG_ID("externalaudit.googleapis.com/data_access")如需篩選器範例,請參閱本頁的「為匯總接收器建立篩選器」一節。
請注意,篩選器的長度不得超過 20,000 個字元。
選用:如要確認輸入的篩選器正確無誤,請選取「預覽記錄」。系統會在新的分頁中開啟記錄檔探索工具,並預先填入篩選條件。
選用:在「選擇要從接收器排除的記錄檔」面板中,執行下列操作:
在「排除條件篩選器名稱」欄位中輸入名稱。
在「Build an exclusion filter」(建立排除篩選器) 欄位中,輸入與您想排除的記錄項目相符的篩選器運算式。您也可以使用
sample函式選取要排除的記錄項目。舉例來說,如要排除特定專案的記錄項目,避免系統將這些項目傳送至目的地,請新增下列排除篩選器:
logName:projects/PROJECT_ID
如要排除多個專案的記錄項目,請使用邏輯 OR 運算子來聯結
logName子句。
每個接收器最多可建立 50 個排除篩選器。請注意,篩選器的長度不得超過 20,000 個字元。
選取「建立接收器」。
如要完成匯總接收器的設定,請將記錄項目寫入接收器目的地的權限,授予接收器的服務帳戶。詳情請參閱「設定目的地權限」。
gcloud
如要建立匯總接收器,請使用 logging sinks create 指令:
如要建立接收器,請呼叫
gcloud logging sinks create指令,並務必加入--include-children選項。使用下列指令前,請先替換以下項目:
- SINK_NAME:記錄接收器的名稱。水槽名稱一經建立即無法變更。
- SINK_DESTINATION:要將記錄項目傳送至的服務或專案。如要瞭解這些目的地的格式,請參閱「目的地路徑格式」。
- INCLUSION_FILTER:接收器的納入篩選器。 如需篩選器範例,請參閱「為匯總接收器建立篩選器」。
- FOLDER_ID:資料夾 ID。如要在機構層級建立接收器,請將
--folder=FOLDER_ID替換為-- organization=ORGANIZATION_ID。
執行
gcloud logging sinks create指令:gcloud logging sinks create SINK_NAME \ SINK_DESTINATION --include-children \ --folder=FOLDER_ID --log-filter="INCLUSION_FILTER"
你也可以提供下列選項:
- 如要建立攔截接收器,請加入
--intercept-children選項。
舉例來說,如果您要在資料夾層級建立匯總接收器,且目的地為 Pub/Sub 主題,則指令可能如下所示:
gcloud logging sinks create SINK_NAME \ pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID --include-children \ --folder=FOLDER_ID --log-filter="logName:activity"
授予接收器服務帳戶寫入接收器目的地的權限。詳情請參閱「設定目的地權限」。
REST
如要建立匯總接收器,請使用 organizations.sinks.create 或 folders.sinks.create Logging API 方法。如下準備方法的引數:
將
parent欄位設為要在其中建立接收器的 Cloud de Confiance 機構或資料夾。父項必須是下列其中一項:organizations/ORGANIZATION_IDfolders/FOLDER_ID
在方法要求主體的
LogSink物件中,執行下列其中一項操作:將
includeChildren設為True。如要建立攔截接收器,請將
interceptChildren欄位設為True。
設定
filter欄位,比對要納入的記錄項目。如需篩選器範例,請參閱「為匯總接收器建立篩選器」。
篩選條件長度不得超過 20,000 個字元。
設定剩餘的
LogSink欄位,方法與為任何接收器設定時相同。 詳情請參閱「將記錄檔轉送至支援的目的地」。呼叫
organizations.sinks.create或folders.sinks.create以建立接收器。授予接收器服務帳戶寫入接收器目的地的權限。詳情請參閱「設定目的地權限」。
對接收器所做的變更可能需要幾分鐘才會生效。
匯總接收器的篩選器
本節提供您可能在匯總接收器中使用的篩選器範例。如需更多範例,請參閱「使用記錄檔探索工具的查詢範例」。
有一些範例使用了下列標記法:
:是子字串運算子。請勿替換=運算子。...代表其他任何篩選器比較。- 變數會以彩色文字表示,以有效的值取代。
篩選條件長度不得超過 20,000 個字元。
如要進一步瞭解篩選語法,請參閱「Logging 查詢語言」。
選取記錄來源
如要轉送所有子資源的記錄項目,請勿在接收器的「包含」和「排除」篩選器中指定專案、資料夾或機構。舉例來說,假設您為機構設定匯總接收器,並使用下列篩選器:
resource.type="gce_instance"
使用先前的篩選器時,如果記錄項目具有 Compute Engine 執行個體的資源類型,且寫入該機構的任何子項,匯總接收器就會將這些項目傳送至目的地。
不過,有時您可能只想透過匯總接收器,傳送特定子資源的記錄項目。舉例來說,基於法規遵循考量,您可能想將特定資料夾或專案的稽核記錄,儲存在專屬的 Cloud Storage bucket。在這種情況下,請設定納入篩選器,指定要將記錄項目傳送至每個子項資源。如要從資料夾和該資料夾內的所有專案轉送記錄項目,篩選器必須列出資料夾和該資料夾內含的每個專案,並以 OR 子句聯結陳述式。
下列篩選器會將記錄項目限制為特定 Cloud de Confiance 專案、資料夾或機構:
logName:"projects/PROJECT_ID/logs/" AND ...
logName:("projects/PROJECT_A_ID/logs/" OR "projects/PROJECT_B_ID/logs/") AND ...
logName:"folders/FOLDER_ID/logs/" AND ...
logName:"organizations/ORGANIZATION_ID/logs/" AND ...
舉例來說,如要只將寫入資料夾 my-folder 的 Compute Engine 執行個體記錄項目傳送至目的地,請使用下列篩選器:
logName:"folders/my-folder/logs/" AND resource.type="gce_instance"
使用先前的篩選器時,寫入 my-folder 以外任何資源的記錄項目 (包括寫入 my-folder 子項專案的記錄項目) 都不會轉送至目的地。 Cloud de Confiance
選取受監控的資源
如要僅從Cloud de Confiance 專案中的特定受監控資源,將記錄項目傳送至接收器,請使用多個比較以精確指定資源:
logName:"projects/PROJECT_ID/logs" AND resource.type=RESOURCE_TYPE AND resource.labels.instance_id=INSTANCE_ID
如需資源類型清單,請參閱「受監控資源類型」。
選取記錄項目樣本
如要隨機選取部分記錄項目並傳送,請新增 sample 內建函式。舉例來說,如果只是要將符合目前篩選器的記錄項目的 10% 傳送至接收器,請加上以下這一行:
sample(insertId, 0.10) AND ...
詳情請參閱 sample 函式。
如要進一步瞭解 Cloud Logging 篩選器,請參閱記錄查詢語言。
設定目的地權限
本節說明如何授予 Logging 的 Identity and Access Management 權限,將記錄檔項目寫入接收器的目的地。如要查看完整的 Logging 角色和權限清單,請參閱「存取權控管」。
建立或更新接收器時,如果接收器會將記錄項目轉送至目前專案中的記錄 bucket 以外的任何目的地,則必須使用該接收器的服務帳戶。Logging 會自動為您建立及管理服務帳戶:
- 自 2023 年 5 月 22 日起,如果您建立接收器,但基礎資源沒有服務帳戶,Logging 會建立服務帳戶。記錄檔會為基礎資源中的所有接收器使用相同的服務帳戶。資源可以是 Cloud de Confiance 專案、機構、資料夾或帳單帳戶。
- 2023 年 5 月 22 日前,Logging 會為每個接收器建立服務帳戶。自 2023 年 5 月 22 日起,記錄功能會為基礎資源中的所有接收器使用共用服務帳戶。
接收器的寫入者身分是與該接收器相關聯的服務帳戶 ID。除非接收器寫入目前 Cloud de Confiance 專案中的記錄檔 bucket,否則所有接收器都會有寫入者身分。寫入者身分中的電子郵件地址會識別主體,該主體必須有權將資料寫入目的地。
如要設定接收器權限,將資料路徑導向目的地,請按照下列步驟操作:
控制台
如要取得接收器的服務帳戶資訊,請按照下列步驟操作:
-
前往 Cloud de Confiance 控制台的「Log Router」(記錄檔路由器) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
選取「選單」圖示 more_vert,然後選取「查看接收器詳細資料」。寫入者身分會顯示在「接收器詳細資料」面板中。
如果
writerIdentity欄位的值包含電子郵件地址,請繼續下一個步驟。如果值為None,則不需要設定目的地權限。將接收器的寫入者身分複製到剪貼簿。Writer Identity 可能會因接收器所屬的資源而異,但一律以
serviceAccount:為前置字元。以下是寫入者身分的範例:serviceAccount:service-123456789012@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com
-
將記錄資料寫入目的地所需的權限,授予接收器寫入者身分所指定的主體:
-
前往 Cloud de Confiance 控制台的「IAM」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「IAM & Admin」(IAM 與管理) 的結果。
在 Cloud de Confiance 控制台的工具列中,選取儲存匯總接收器目的地的專案。如果目的地是專案,請選取該專案。
按一下 「授予存取權」。
輸入接收器寫入者身分指定的主體,然後授予 IAM 角色:
- 針對所有目的地,請授予記錄檔寫入者角色 (
roles/logging.logWriter)。具體來說,主體需要logging.logEntries.route權限。 - 根據目的地授予下列其中一個角色:
- 記錄檔值區:授予
記錄檔值區寫入者角色
(
roles/logging.bucketWriter)。 - Pub/Sub 主題:授予 Pub/Sub 發布者角色 (
roles/pubsub.publisher)。
- 記錄檔值區:授予
記錄檔值區寫入者角色
(
- 針對所有目的地,請授予記錄檔寫入者角色 (
-
gcloud
確認您在包含目的地的Cloud de Confiance 專案中具有「擁有者」存取權。如果您不具有接收器目的地位置的擁有者存取權,請要求專案擁有者將寫入者身分新增為主體。
如要取得接收器的服務帳戶相關資訊,請呼叫
gcloud logging sinks describe方法。使用下列指令前,請先替換以下項目:
- SINK_NAME:記錄接收器的名稱。水槽名稱一經建立即無法變更。
執行
gcloud logging sinks describe指令:gcloud logging sinks describe SINK_NAME如果接收器詳細資料包含標示為
writerIdentity的欄位,請繼續下一個步驟。如果詳細資料不包含writerIdentity欄位,您就不需要為接收器設定目的地權限。將接收器的寫入者身分複製到剪貼簿。以下說明寫入者身分:
serviceAccount:service-123456789012@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com呼叫
gcloud projects add-iam-policy-binding指令,將記錄資料寫入目的地的權限授予接收器的寫入者身分。使用下列指令前,請先替換以下項目:
- PROJECT_ID:專案的 ID。選取儲存匯總接收器目的地的專案。如果目的地是專案,請選取該專案。
- PRINCIPAL:要授予角色的主體 ID。主體 ID 通常採用以下格式:
PRINCIPAL-TYPE:ID。 例如:principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com。如需PRINCIPAL的完整格式清單,請參閱「主體 ID」。 ROLE:IAM 角色。根據記錄接收器的目的地,將 IAM 角色授予接收器的寫入者身分:
- 針對所有目的地,請授予記錄檔寫入者角色 (
roles/logging.logWriter)。具體來說,主體需要logging.logEntries.route權限。 - 根據目的地授予下列其中一個角色:
- 記錄檔值區:授予
記錄檔值區寫入者角色
(
roles/logging.bucketWriter)。 - Pub/Sub 主題:授予 Pub/Sub 發布者角色 (
roles/pubsub.publisher)。
- 記錄檔值區:授予
記錄檔值區寫入者角色
(
- 針對所有目的地,請授予記錄檔寫入者角色 (
執行
gcloud projects add-iam-policy-binding指令:gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
REST
建議您使用 Cloud de Confiance 控制台或 Google Cloud CLI,將角色授予服務帳戶。
後續步驟
瞭解如何在記錄值區中建立記錄檢視畫面。 您可以透過記錄檢視畫面,授予主體唯讀存取權,存取記錄檔值區中儲存的部分記錄項目。
如要瞭解如何管理現有接收器,請參閱「將記錄檔轉送至支援的目的地:管理接收器」。
如果使用接收器轉送記錄時遇到問題,請參閱「轉送和接收器疑難排解」。
如要瞭解如何在目的地中查看記錄,以及記錄的格式和組織方式,請參閱「查看接收器目的地中的記錄檔」一文。