Cloud 稽核記錄

Cloud 稽核記錄會為每個專案、資料夾和機構分別保留以下三種不同的稽核記錄:管理員活動資料存取系統事件。Google Cloud Platform 服務可將稽核記錄項目寫入這些記錄,協助您回答 GCP 專案中「從事活動的人員、內容、地點及時間為何?」的問題。

如果您想知道目前有哪些 GCP 服務提供這類稽核記錄,請參閱產生稽核記錄的服務一節。未來所有 GCP 服務都會提供稽核記錄。

管理員活動稽核記錄

管理員活動稽核記錄包含 API 呼叫或其他修改資源設定或中繼資料的管理動作。例如,這類記錄會記下使用者於何時建立 VM 執行個體或變更 Cloud Identity and Access Management 權限。

您必須擁有 Logging/記錄檢視者專案/檢視者這兩種 Cloud IAM 角色其中一種,才能查看這些記錄。

管理員活動稽核記錄永遠處於啟用狀態。使用管理員活動稽核記錄無須付費。如要瞭解記錄的使用限制,請參閱配額與限制

資料存取稽核記錄

資料存取稽核記錄包含讀取資源設定或中繼資料的 API 呼叫,以及建立、修改或讀取使用者提供資源資料的使用者驅動 API 呼叫。資料存取稽核記錄不包含共用資源 (可供所有使用者所有驗證使用者使用),或是不用登入 GCP 就可以存取的資料存取作業。

您必須擁有 Logging/私密記錄檢視者專案/擁有者這兩種 Cloud IAM 角色其中一種,才能查看這些記錄。

由於資料存取稽核記錄可能相當龐大,因此這類記錄預設為停用,必須明確啟用才能寫入。啟用記錄可能會導致專案產生額外的記錄使用費。如要瞭解如何啟用及設定資料存取稽核記錄,請參閱設定資料存取記錄一文。

BigQuery 資料存取稽核記錄的處理方式與其他資料存取稽核記錄不同。BigQuery 稽核記錄會持續不斷寫入,且無法停用。這些記錄不會計入記錄配額之中,因此不會計費。

如要瞭解記錄的使用限制,請參閱配額與限制一文。如要瞭解可能產生的費用,請參閱定價

系統事件稽核記錄

系統事件稽核記錄包含修改資源設定的 GCP 管理動作。系統事件稽核記錄由 Google 系統產生,而不是由使用者動作驅動。

您必須擁有 Logging/記錄檢視者專案/檢視者這兩種 Cloud IAM 角色其中一種,才能查看這些記錄。

系統事件稽核記錄永遠處於啟用狀態。使用系統事件稽核記錄無須付費。如要瞭解記錄的使用限制,請參閱配額與限制

稽核記錄項目結構

Stackdriver Logging 中的每個稽核記錄項目都是 LogEntry 類型的物件,這類型物件的特性為包含下列資訊:

  • 擁有記錄項目的專案機構
  • 套用記錄項目的資源。這包括受控資源清單中的資源類型,以及其他表示特定執行個體的值。
  • 記錄名稱
  • 時間戳記
  • 酬載,即 ProtoPayload 類型。每個稽核記錄項目的酬載都是 AuditLog 類型的物件,也就是通訊協定緩衝區,且具有 serviceData 欄位,某些服務會使用這個欄位來保存其他資訊。

所有稽核記錄項目都包含稽核記錄的名稱、資源與服務。您可以使用下列名稱來篩選稽核記錄項目:

  • 記錄名稱:稽核記錄項目屬於專案、資料夾與機構內的記錄。記錄名稱如下所列:
   projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity
   projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access

   folders/[FOLDER_ID]/logs/cloudaudit.googleapis.com%2Factivity
   folders/[FOLDER_ID]/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/[FOLDER_ID]/logs/cloudaudit.googleapis.com%2Fsystem_event

   organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Factivity
   organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Fsystem_event

在專案、資料夾或機構中,這些記錄名稱通常縮寫為「activity」、「data_access」與「system_event」

  • 資源:每個稽核記錄項目都包含一些類型的資源。例如,您可以從單一 Compute Engine VM 執行個體,或從所有 VM 執行個體查看稽核記錄項目。這項資訊會列於稽核記錄項目的 resource.type 欄位。

    如需資源類型請單,請參閱受控資源類型一節。

  • 服務:服務是個別的 GCP 產品,例如 Compute Engine、Cloud SQL 或 Cloud Pub/Sub。每項服務均由名稱識別:Compute Engine 是 compute.googleapis.com,Cloud SQL 是 cloudsql.googleapis.com,依此類推。這項資訊會列在稽核記錄項目的 protoPayload.serviceName 欄位中。

    多種資源類型屬於單一服務,但一項服務可以擁有多種資源類型。如需服務和資源清單,請參閱服務與資源之間的對應關係一節。

詳情請參閱稽核記錄資料類型一文。

如要瞭解如何讀取及解釋稽核記錄項目,請參閱瞭解稽核記錄一文。

查看稽核記錄

您可以採取以下幾種做法來查看稽核記錄項目:

基本檢視器

您可以使用 GCP 主控台中的記錄檢視器基本介面來擷取稽核記錄項目。請執行下列步驟:

  1. 前往 GCP 主控台的「Stackdriver Logging」>「Logs」(記錄) (「Logs Viewer」(記錄檢視器)) 頁面:

    前往「Logs Viewer」(記錄檢視器) 頁面

  2. 在頁面頂端選取現有 GCP 專案,或建立新專案。

  3. 在第一個下拉式選單中,選取您要查看的稽核記錄所屬的資源類型。您可以選取特定資源,或者選取 Global 以涵蓋所有資源。

  4. 在第二個下拉式選單中,選取您要查看的記錄類型:管理員活動稽核記錄請選取 activity;資料存取稽核記錄請選取 data_access;系統事件記錄請選取 system_events

    如果您沒有看到上述任一選項,就表示專案中沒有這類型的稽核記錄可供使用。

進階檢視器

您可以使用 GCP 主控台中的記錄檢視器進階介面來擷取稽核記錄項目。請執行下列步驟:

  1. 前往 GCP 主控台的「Stackdriver Logging」>「Logs」(記錄) (「Logs Viewer」(記錄檢視器)) 頁面:

    前往「Logs Viewer」(記錄檢視器) 頁面

  2. 在頁面頂端選取現有 GCP 專案,或建立新專案。

  3. 在第一個下拉式選單中,選取您要查看的稽核記錄所屬的資源類型。您可以選取特定資源,或者選取 Global 以涵蓋所有資源。

  4. 按一下搜尋篩選器方塊最右側的下拉式箭頭 (▾),然後選取 [Convert to advanced filter] (轉換為進階篩選器)

  5. 建立篩選器,以便進一步指定您要查看的記錄項目。如要擷取專案中的所有稽核記錄,請新增下列篩選器,在每個記錄名稱內提供有效的 [PROJECT_ID]

      logName = ("projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
          OR "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events"
          OR "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access")
    

    如要進一步瞭解篩選器,請參閱進階記錄篩選器一文。

API

如要使用 Stackdriver Logging API 查看稽核記錄項目,請執行下列步驟:

  1. 前往說明文件中的「Try this API」(試用這個 API) 區段,找到 entries.list 方法。

  2. 將下列內容放入「Try this API」(試用這個 API) 表單的「Request body」(要求主體) 部分。按一下這份預先填入資料的表單就能自動填入要求主體,但您必須在每個記錄名稱中提供有效的 [PROJECT_ID]

      {
        "resourceNames": [
          "projects/[PROJECT_ID]"
        ],
        "pageSize": 5,
        "filter": "logName=(projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)"
      }
    
  3. 按一下 [Execute] (執行)

如要進一步瞭解篩選器,請參閱進階記錄篩選器一文。

SDK

如要使用 Cloud SDK 讀取記錄項目,請執行下列指令,在每個記錄名稱內提供有效的 [PROJECT_ID]

gcloud logging read "logName=(projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)

如要進一步瞭解如何使用 Cloud SDK,請參閱讀取記錄項目

使用活動頁面

您可以在 GCP 主控台中專案的「Activity」(活動) 頁面,查看專案層級的簡略稽核記錄項目。前往「Home」(首頁) > 「Activity」(活動) 頁面,然後使用「Filter」(篩選器) 選取您要查看的項目。稽核記錄項目實際包含的資訊可能比「Activity」(活動) 頁面顯示得還多

前往「Activity」(活動) 頁面

在「Activity」(活動) 頁面的稽核記錄項目中,執行記錄動作的身分會予以遮蓋,User (anonymized) 則會顯示。詳情請參閱稽核記錄中的使用者身分

匯出稽核記錄

您可以將稽核記錄項目匯出至 Stackdriver Logging 或特定的 GCP 服務。

如要匯出稽核記錄項目至 Logging 之外,請先建立記錄接收器。為接收器提供篩選器,指定您想匯出的稽核記錄類型;如需篩選器範例,請前往安全性記錄篩選器

如您想為 GCP 機構或資料夾或帳單帳戶匯出稽核記錄項目,請查看匯總匯出一文。

稽核記錄保留期

每個稽核記錄項目都會保留一段特定時間,隨後會刪除。如要進一步瞭解 Logging 保留記錄項目的時間長度,請參閱配額與限制中的保留說明。您無法以其他方式刪除或修改稽核記錄或其項目。

稽核記錄類型 保留期限
管理員活動 400 天
資料存取 30 天
系統事件 400 天

如要保留更長時間,您可以像匯出其他任何 Logging 記錄項目一樣匯出稽核記錄項目,並將其保留任意長度的時間。

稽核記錄中的使用者身分

稽核記錄會記錄執行記錄動作的身分。身分會保存在 AuditLog 物件的 AuthenticationInfo 欄位中。

在以下情況中,則不會提供身分,或是將身分予以遮蓋:

  • 所有稽核記錄:基於隱私權因素,系統會針對失敗並有「權限遭拒」錯誤的所有唯讀作業,遮蓋主要電子郵件地址。

  • App Engine:身分並非從舊版 App Engine API 收集。

  • BigQuery:系統目前會遮蓋稽核記錄中的身分與呼叫者 IP 位址,除非至少符合下列其中一個條件:

    • 這不是唯讀存取權。
    • 身分是屬於專案的服務帳戶。
    • 身分是與專案相關聯網域的成員。

    在這種情況下,專案網域為 BigQuery 設定。如果您想要變更與專案相關聯的網域,請與 BigQuery 支援小組聯絡

    跨專案存取適用的其他規則為:

    在此情況下,計費專案是發布要求的專案,而資料專案是在工作期間也會存取其資源的專案。其中一個示例是計費專案中的查詢工作,其可從資料專案讀取部分資料表資料。

    系統會遮蓋資料專案記錄中的計費專案資源 ID,除非專案與相同的網域關聯,或位於相同的機構中。

    系統會遮蓋資料專案記錄中的身分與呼叫者 IP 位址,除非符合上述其中一個條件,或者:

    • 計費專案和資料專案有相同的關聯網域或位於相同的機構中,且計費專案已經包含身分與呼叫者 IP 位址。
    • 這個身分有權限在專案中執行查詢,且動作為 job.insert 動作。

如果您使用 Google Cloud Platform 主控台「Activity」(活動) 頁面查看稽核記錄,任何身分被遮蓋或留白的記錄項目都會顯示 User (anonymized)

產生稽核記錄的 Google 服務

下表列出寫入管理員活動或資料存取稽核記錄的 Google 服務。GA 表示記錄類型已全面開放給服務使用;Beta 版表示記錄類型可用,但可能會有回溯不相容的變更,且不適用於任何服務水準協議或廢止政策。

產生稽核記錄的 GCP 服務

具有稽核記錄的 GCP 服務 管理
活動
記錄
資料
存取
記錄
Access Approval API Beta 版 不適用1
App Engine GA 不適用1
Application Identity4 Beta 版 不適用1
BigQuery GA GA2
Cloud AutoML Beta 版 Beta 版
Cloud BigTable Beta 版 不適用1
Cloud Billing Beta 版 不適用1
Cloud Composer GA 不適用1
Cloud Dataflow GA 不適用1
Cloud Dataproc GA GA
Cloud Datastore GA GA6
Cloud Deployment Manager GA GA
Cloud Data Loss Prevention GA GA
Cloud DNS GA GA
Cloud Functions GA GA
Cloud Genomics Beta 版 Beta 版
Cloud Healthcare Beta 版 Beta 版
Cloud Identity and Access Management GA GA
Cloud Identity-Aware Proxy 不適用3 GA
Cloud IoT Core GA GA
Cloud Key Management Service GA GA
Cloud Memorystore Beta 版 Beta 版
AI Platform Beta 版 Beta 版
Cloud Pub/Sub GA GA
Cloud Run Beta 版 Beta 版
Cloud Source Repositories GA GA
Cloud Spanner GA GA
Cloud SQL GA GA
Cloud Storage5 GA GA
Cloud AutoML Vision GA 不適用1
Compute Engine7 GA GA
Compute Engine Serial Port Access GA 不適用1
Container Analysis Beta 版 Beta 版
Cloud Build GA GA
Dialogflow GA GA
Google Kubernetes Engine GA GA
Service Management GA 不適用1
Resource Manager GA GA
Stackdriver Debugger GA GA
Stackdriver Error Reporting GA GA
Stackdriver Logging GA GA
Stackdriver Monitoring GA GA
Stackdriver Trace 不適用3 GA
Stackdriver Profiler 不適用3 GA

產生稽核記錄的 G Suite 服務

具有稽核記錄的 G Suite 服務 管理
活動
記錄
資料
存取
記錄
Enterprise Groups GA 不適用1

G Suite 的稽核記錄名稱為 organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Factivity。 G Suite 稽核記錄使用的資源類型為 audited_resource

如需更多背景資訊,請查看 G Suite 管理員說明一文。

1:這項服務不會產生資料存取稽核記錄。
2:BigQuery 資料存取稽核記錄預設為啟用,並且不會計入記錄配額。
3:這項服務不會產生管理員活動稽核記錄。
4:稽核 OAuth 2.0 用戶端 ID 與品牌。
5:尚未包含要求/回應資訊。
6:稽核要求以啟動代管匯入或匯出作業。針對這些作業,稽核並不包含實體特定的讀取/寫入記錄。
7:Compute Engine 還會產生系統事件稽核記錄。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Stackdriver Logging
需要協助嗎?請前往我們的支援網頁