匯總並儲存貴機構的記錄檔

非攔截式匯總接收器可讓您將整個Cloud de Confiance by S3NS 機構的記錄項目轉送至中央位置,同時允許子資源轉送及儲存這些記錄的副本。在本教學課程中,您將建立機構層級的非攔截匯總接收器,將機構的稽核記錄轉送至 Cloud de Confiance 專案,再由專案層級接收器轉送至中央記錄檔 bucket。接著,您可以在該 bucket 中設定記錄檢視區的讀取權限,並在 Logs Explorer 中查詢匯總稽核記錄。

您也可以將匯總接收器設為攔截,控管子資源中可查詢或轉送的記錄項目。詳情請參閱「匯總接收器總覽」。如果您要設定新機構,也可以在Cloud de Confiance by S3NS 設定程序中,設定集中式記錄儲存空間。

事前準備

請務必確認以下幾點:

建立記錄檔 bucket

記錄檔 bucket 會儲存從其他專案、資料夾或機構轉送的記錄項目。Cloud de Confiance 詳情請參閱「設定記錄儲存空間」。

如要在要匯總記錄項目的 Cloud de Confiance 專案中建立記錄檔 bucket,請完成下列步驟:

  1. 開啟殼層。

  2. 在殼層中執行 gcloud logging buckets create 指令。

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

    • BUCKET_NAME:記錄檔 bucket 的名稱。
    • LOCATION:記錄 bucket 的位置。記錄檔 bucket 建立後,即無法變更位置。
    • PROJECT_ID:要在其中建立記錄儲存區的專案 ID。

    執行 gcloud logging buckets create 指令:

    gcloud logging buckets create BUCKET_NAME \
      --location=LOCATION --project=PROJECT_ID
    
  3. 確認記錄檔 bucket 是否已建立:

    gcloud logging buckets list --project=PROJECT_ID
    

    指令的回應是專案中的記錄檔 bucket 清單。

  4. 記錄檔值區的保留期限可供設定。如要設定記錄檔 bucket 中記錄項目的保留期限,請使用 gcloud logging buckets update 指令。舉例來說,下列指令會將記錄檔 bucket 中儲存的記錄項目保留期限延長至 365 天:

    gcloud logging buckets update BUCKET_NAME \
       --location=LOCATION --project=PROJECT_ID \
       --retention-days=365
    

    如要進一步瞭解旗標,請參閱 gcloud logging buckets update。

建立專案層級記錄檔接收器

您可以建立接收器,將記錄項目轉送至記錄檔 bucket。接收器包含「包含」篩選器、「排除」篩選器和目的地。在本教學課程中,您將設定「包含」篩選器和新記錄檔 bucket 的目的地。接收器不含任何「排除」篩選器。如要進一步瞭解接收器,請參閱「將記錄檔轉送至支援的目的地」。

如要建立接收器,將記錄項目轉送至您剛才建立的記錄檔 bucket,請執行 gcloud logging sinks create 指令。

執行下列指令前,請先完成下列替換作業:

  • PROJECT_LEVEL_SINK_NAME:專案層級記錄檔接收器的名稱。
  • SINK_DESTINATION:記錄項目轉送至的記錄檔 bucket。接收器目的地必須使用全域端點 (logging.googleapis.com);不支援區域端點 (REP)。記錄檔 bucket 的目的地路徑格式如下:

    logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • PROJECT_ID:要建立記錄檔接收器的專案 ID。將這個旗標設為您建立記錄檔 bucket 的專案。

  • 加入下列旗標:

    • --log-filter:使用這個旗標設定篩選器,找出要納入接收器的記錄檔項目。在本教學課程中,篩選器會設為選取所有稽核記錄項目。如未設定篩選器,系統會將 Cloud de Confiance 專案的所有記錄項目轉送至目的地。
    • --description:使用這個旗標說明 接收器的用途或用途。

執行 gcloud logging sinks create 指令:

gcloud logging sinks create PROJECT_LEVEL_SINK_NAME SINK_DESTINATION \
  --project=PROJECT_ID \
  --log-filter='logName:cloudaudit.googleapis.com' \
  --description="Audit logs from my organization"

建立匯總接收器

匯總接收器會將組織或資料夾所含資源的記錄項目,合併並轉送至目的地。

在本教學課程中,您會建立不攔截的匯總接收器。這表示由匯總接收器轉送的每個記錄項目,也會由記錄項目來源資源中的接收器轉送。舉例來說,專案中產生的稽核記錄會由匯總接收器和該專案中的接收器轉送。因此,您可能會儲存多個記錄項目副本。

您也可以建立攔截接收器。詳情請參閱「匯總接收器總覽」。

在機構層級設定接收器

如要建立非攔截式匯總接收器,並將記錄項目傳送至專案,請完成下列步驟:

  1. 執行 gcloud logging sinks create 指令。

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

    • SINK_NAME:記錄檔接收器的名稱。水槽名稱一經建立即無法變更。
    • PROJECT_ID:儲存記錄檔 bucket 的專案 ID。
    • ORGANIZATION_ID:機構 ID。

    執行 gcloud logging sinks create 指令:

    gcloud logging sinks create SINK_NAME \
      logging.googleapis.com/projects/PROJECT_ID  \
      --log-filter='logName:cloudaudit.googleapis.com' \
      --description="Audit logs from my organization" \
      --organization=ORGANIZATION_ID \
      --include-children
    

    --include-children 旗標很重要。這個旗標可確保系統轉送組織內所有Cloud de Confiance 專案和資料夾的記錄項目。詳情請參閱「將機構和資料夾層級的記錄檔彙整並轉送至支援的目的地」。

  2. 確認接收器已建立:

    gcloud logging sinks list --organization=ORGANIZATION_ID
    
  3. 取得服務帳戶名稱:

    gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
    

    輸出看起來類似以下內容:

    writerIdentity: serviceAccount:o1234567890-ORGANIZATION_ID@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com
    
  4. 將 serviceAccount 欄位的值複製到剪貼簿。

授予接收器存取權

建立匯總接收器後,您必須授予接收器權限,才能將記錄項目寫入您設為目的地的專案。您可以透過 Cloud de Confiance 控制台授予權限,或編輯 Identity and Access Management (IAM) 政策,詳情請參閱「設定目的地權限」。

如要授予接收器寫入記錄項目的權限,請按照下列步驟操作:

  1. 前往 Cloud de Confiance 控制台的「IAM」頁面:

    前往「IAM」

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

  2. 選取含有記錄檔 bucket 的 Cloud de Confiance 專案。

  3. 按一下「 授予存取權」,然後將服務帳戶新增為新主體。請勿加入 serviceAccount: 前置字元。

  4. 在「Select a role」(選取角色) 選單中,選取「Logs Writer」(記錄寫入者)。

  5. 按一下 [儲存]。

產生記錄項目,協助驗證接收器

如要確認匯總接收器設定正確,請嘗試下列操作:

  1. 產生應轉送至記錄 bucket 的稽核記錄項目。

    • 如果貴組織有許多 Cloud de Confiance 專案,稽核記錄流量可能已足夠,不需要為了驗證而建立任何流量。前往下一步。

    • 否則,請前往其他專案,建立 Compute Engine VM 執行個體,然後刪除您建立的執行個體。 建立、啟動和刪除 VM 時,系統會寫入稽核記錄。

  2. 按照「在 Logs Explorer 頁面中查看記錄項目」一文中的步驟,查看稽核記錄。請務必選取 _AllLogs 檢視畫面。

設定記錄 bucket 中記錄檢視畫面的讀取權限

建立記錄檔 bucket 時,Cloud Logging 會自動建立名為 _AllLogs 的記錄檔檢視。這個檢視畫面會顯示儲存在記錄檔 bucket 中的所有記錄項目。

如要限制主體只能存取特定記錄項目,請建立記錄檢視,然後執行下列任一操作:

  • 授予他們「記錄檢視存取子」角色 (roles/logging.viewAccessor),並加上 IAM 條件,限制授予記錄檢視。

  • 在與記錄檢視畫面相關聯的 IAM 政策中,授予主體存取權。如要建立大量記錄檢視,建議採用這種做法。

如要進一步瞭解這兩種方法,請參閱「控管記錄檢視畫面的存取權」。

在下列步驟中,您會將記錄檢視存取子角色 (roles/logging.viewAccessor) 授予主體,並設定 IAM 條件,將授予範圍限制在名為 _AllLogs 的檢視:

  1. 前往 Cloud de Confiance 控制台的「IAM」頁面:

    前往「IAM」

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

  2. 選取包含記錄檔 bucket 的 Cloud de Confiance 專案。

  3. 按一下「新增」圖示 。

  4. 在「New principal」(新增主體) 欄位中新增主體。

  5. 在「Select a role」(選取角色) 選單中,選取「Logs Views Accessor」(記錄檢視存取子)。

    如未在這個角色新增條件,主體就能存取 Cloud de Confiance 專案中所有使用者定義記錄檔 bucket 的所有記錄檔檢視表。

  6. 在繫結中新增 IAM 條件:

    1. 按一下「新增條件」,然後輸入標題和說明。
    2. 在「Condition type」(條件類型) 選單中,前往「Resource」(資源),然後選取「Name」(名稱)。
    3. 在「運算子」選單中,選取「結尾為」。
    4. 在「Value」(值) 欄位中,輸入記錄檔檢視表的全名:

      locations/LOCATION/buckets/BUCKET_NAME/views/_AllLogs
      
    5. 按一下「儲存」即可儲存條件。

  7. 按一下「Save」(儲存) 即可儲存繫結。

在「Logs Explorer」頁面中查看記錄項目

如要查看記錄檔 bucket 中的記錄項目,請按照下列步驟操作:

  1. 前往 Cloud de Confiance 控制台的 「Logs Explorer」頁面:

    前往「Logs Explorer」(記錄檔探索工具)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。

  2. 選取「調整範圍」。

  3. 在「縮小範圍」面板中,選取「記錄檢視畫面」。

  4. 選取要查看記錄項目的記錄檢視。舉例來說,如要查看所有記錄項目,請選取名為 _AllLogs 的檢視畫面。

  5. 按一下「套用」。

    「Logs Explorer」頁面會重新整理,顯示記錄檔儲存空間中的記錄項目。如要進一步瞭解如何使用 Logs Explorer,請參閱「使用 Logs Explorer」。