Cloud Spanner 稽核記錄資訊

本頁面說明由 Cloud Spanner 建立的稽核記錄,做為 Cloud 稽核記錄的一部分。

總覽

Google Cloud Platform 服務寫入的稽核記錄可協助您回答有關「人事時地物」的問題。您每個 GCP 專案的稽核記錄都僅涵蓋直接隸屬於專案的資源。而諸如資料夾、機構及帳單帳戶的其他實體,也各有其專屬的稽核記錄。

如需 Cloud 稽核記錄的概要簡介,請前往 Cloud 稽核記錄。如要深入瞭解 Cloud 稽核記錄,請參閱瞭解稽核記錄

Cloud 稽核記錄會為每個 GCP 專案、資料夾和機構保留三份稽核記錄,包括:

  • 管理員活動稽核記錄
  • 資料存取稽核記錄
  • 系統事件稽核記錄

Cloud Spanner 會寫入管理員活動稽核記錄,其中會記錄修改資源設定或中繼資料的作業。系統一律會產生管理員活動稽核記錄,且該記錄無法停用。

只有在明確啟用時,Cloud Spanner 才會寫入資料存取稽核記錄。資料存取稽核記錄包含讀取資源設定或中繼資料的 API 呼叫,以及建立、修改或讀取使用者所提供資源資料的使用者驅動 API 呼叫。資料存取稽核記錄不會針對下列兩種資源記錄資料存取作業:公開共用的資源 (供所有使用者所有已驗證的使用者使用),或在未登入 GCP 情況下可存取的資源。

Cloud Spanner 不提供系統事件稽核記錄。

已稽核的作業

以下概略說明 Cloud Spanner 中各稽核記錄類型所對應的 API 操作:

稽核記錄類別 Cloud Spanner 操作
管理員活動記錄

執行個體之操作:

  • CreateInstance
  • DeleteInstance
  • UpdateInstance

資料庫之操作:

  • CreateDatabase
  • DropDatabase
  • GetDatabase
  • UpdateDatabaseDdl
資料存取記錄 (ADMIN_READ)

執行個體之操作:

  • GetInstance
  • GetInstanceConfig
  • ListInstanceConfigs
  • ListInstances

資料庫之操作:

  • GetDatabase
  • GetDatabaseDdl
  • ListDatabases
資料存取記錄 (DATA_READ)
  • BeginTransaction (用於 ReadOnly 交易)
  • ExecuteSql
  • ExecuteStreamingSql
  • GetSession
  • ListSessions
  • Read
  • StreamingRead
資料存取記錄 (DATA_WRITE)
  • BeginTransaction (用於 ReadWrite 交易)
  • Commit
  • CreateSession
  • DeleteSession
  • Rollback

稽核記錄格式

稽核記錄項目 (可在 Stackdriver Logging 中使用記錄檢視器、Stackdriver Logging API 或 Cloud SDK 查看) 包含以下物件:

  • 記錄項目本身,屬於 LogEntry 類型的物件。實用的欄位包括:

    • logName 包含專案識別與稽核記錄類型
    • resource,包含已稽核作業的目標
    • timeStamp,包含已稽核作業的時間
    • protoPayload 包含已稽核的資訊
  • 稽核記錄資料,這是儲存在記錄項目 protoPayload 欄位中的 AuditLog 物件。

  • 選用的服務專屬稽核資訊,這是儲存在 AuditLog 物件 serviceData 欄位中的服務專屬物件。詳情請參閱「服務專屬稽核資料」。

如想瞭解這些物件中的欄位,以及如何解讀這些資料,請參閱瞭解稽核記錄一文。

記錄名稱

Cloud 稽核記錄資源名稱會指出擁有稽核記錄的專案或其他實體,以及記錄中是否包含管理員活動、資料存取或系統事件的稽核記錄資料。例如,下列內容顯示專案管理員活動稽核記錄和機構資料存取稽核記錄的記錄名稱:

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

服務名稱

Cloud Spanner 稽核記錄使用服務名稱 spanner.googleapis.com

如要進一步瞭解記錄服務,請參閱將服務對應至資源

資源類型

Cloud Spanner 稽核記錄在所有稽核記錄中都使用 spanner_instance 資源類型。

如需完整清單,請參閱受控資源類型

啟用稽核記錄

系統一律會產生管理員活動稽核記錄,且該記錄無法停用。

資料存取稽核記錄預設為停用,且除非明確啟用,否則系統不會寫入這類記錄。唯一的例外是 BigQuery 的資料存取稽核記錄,該記錄無法停用。

如需啟用部分或所有資料存取稽核記錄的操作說明,請參閱設定資料存取記錄一文。

您設定的資料存取記錄可能會影響 Stackdriver 中的記錄定價。請參閱本頁面的定價一節。

稽核記錄權限

身分與權限管理系統的權限及角色可以決定您所能查看或匯出的稽核記錄。記錄位於專案和一些其他實體中,包括機構、資料夾和帳單帳戶。詳情請參閱瞭解角色一文。

如要查看管理員活動稽核記錄,您在包含稽核記錄的專案中必須具備下列其中一項 Cloud IAM 角色:

如要查看資料存取稽核記錄,含有稽核記錄的專案必須具備下列其中一個角色:

如果您使用的稽核記錄來自機構等非專案實體,請將專案角色變更為適當的機構角色。

查看記錄

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

基本檢視器

您可以使用 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
          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. 前往 entries.list 方法說明文件中的「Try this API」(試用這個 API) 區段。

  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 的方法,請參閱讀取記錄項目一文。

如需稽核記錄項目範例,以及如何找出其中最重要的資訊,請參閱瞭解稽核記錄一文。

匯出稽核記錄

您可以採用與匯出其他類型記錄相同的方式來匯出稽核記錄。如要進一步瞭解如何匯出記錄,請參閱匯出記錄一文。以下是匯出稽核記錄的一些應用方式:

  • 如要長時間保留稽核記錄,或使用更強大的搜尋功能,您可以將稽核記錄的副本匯出到 Cloud Storage、BigQuery 或 Cloud Pub/Sub。您可以使用 Cloud Pub/Sub 匯出至其他應用程式、其他存放區或是第三方。

  • 如要管理整個機構的稽核記錄,您可以建立匯總匯出接收器,從機構中的任何或所有專案匯出記錄。

  • 如果已啟用的資料存取稽核記錄透過記錄配額推送專案,您可從 Logging 匯出及排除資料存取稽核記錄。詳情請參閱「記錄排除」。

定價

Stackdriver Logging 不會針對系統一律會產生且無法停用的稽核記錄收費,包括所有管理員活動稽核記錄。

Stackdriver Logging 會對您明確要求的資料存取稽核記錄收費。

如要進一步瞭解稽核記錄的計價方式,請參閱 Stackdriver 定價

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

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

這個網頁
Cloud Spanner 說明文件