Datastore 稽核記錄

本文列出 Datastore 的稽核方法。 Google Cloud 服務會產生稽核記錄,用以記錄 Google Cloud 資源中的管理和存取活動。如要進一步瞭解 Cloud 稽核記錄,請參閱以下內容:

附註

設定稽核記錄時,服務名稱 datastore.googleapis.com 會設定 datastore.googleapis.com 和 firestore.googleapis.com API 呼叫的記錄。

如要查看處理 DATA_READ 或 DATA_WRITE 要求所花費的時間,請參閱 AuditLog 的 metadata 物件中的 processing_duration 欄位。processing_duration 是指資料庫實際處理要求所花費的時間。這比使用者延遲時間還短。特別是不含網路額外負荷。

服務名稱

如要查看 Datastore 稽核記錄,請按照下列步驟操作:

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

    前往 Logs Explorer

  2. 複製下列查詢並貼到「Logs Explorer」的「查詢」欄位,然後點選「執行查詢」。

        protoPayload.serviceName="datastore.googleapis.com"
      

依權限類型區分的方法

每個 IAM 權限都具有 type 屬性,其值為以下四個列舉值之一:ADMIN_READ、ADMIN_WRITE、DATA_READ 或 DATA_WRITE。呼叫方法時,Datastore 會產生一筆稽核記錄,記錄類別依執行該方法所需權限的 type 屬性而定。若方法需要的 IAM 權限,type 屬性值為 DATA_READ、DATA_WRITE 或 ADMIN_READ,就會產生資料存取稽核記錄;若所需 IAM 權限的 type 屬性值為 ADMIN_WRITE,則會產生管理員活動稽核記錄。

下表列出的 API 方法中,如標有 (LRO) 字樣,表示為長時間執行的作業。這類方法通常會產生兩個稽核記錄項目,作業開始和結束時各一個。詳情請參閱「長時間執行的作業稽核記錄」。
權限類型 方法
ADMIN_READ google.datastore.admin.v1.DatastoreAdmin.GetIndex
google.datastore.admin.v1.DatastoreAdmin.ListIndexes
google.longrunning.Operations.GetOperation
google.longrunning.Operations.ListOperations
ADMIN_WRITE google.datastore.admin.v1.DatastoreAdmin.CreateIndex (LRO)
google.datastore.admin.v1.DatastoreAdmin.DeleteIndex
google.datastore.admin.v1.DatastoreAdmin.ExportEntities (LRO)
google.datastore.admin.v1.DatastoreAdmin.ImportEntities (LRO)
google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities (LRO)
google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities (LRO)
google.longrunning.Operations.CancelOperation
google.longrunning.Operations.DeleteOperation
DATA_READ google.datastore.v1.Datastore.BeginTransaction
google.datastore.v1.Datastore.Lookup
google.datastore.v1.Datastore.Rollback
google.datastore.v1.Datastore.RunAggregationQuery
google.datastore.v1.Datastore.RunQuery
google.datastore.v1beta3.Datastore.BeginTransaction
google.datastore.v1beta3.Datastore.Lookup
google.datastore.v1beta3.Datastore.Rollback
google.datastore.v1beta3.Datastore.RunAggregationQuery
google.datastore.v1beta3.Datastore.RunQuery
DATA_WRITE google.datastore.v1.Datastore.AllocateIds
google.datastore.v1.Datastore.Commit
google.datastore.v1.Datastore.ReserveIds
google.datastore.v1beta3.Datastore.AllocateIds
google.datastore.v1beta3.Datastore.Commit
google.datastore.v1beta3.Datastore.ReserveIds

API 介面稽核記錄

如要瞭解各方法所需的權限及評估方式,請參閱 Datastore 的 Identity and Access Management 說明文件。

google.datastore.admin.v1.DatastoreAdmin

屬於 google.datastore.admin.v1.DatastoreAdmin 的方法會產生以下稽核記錄。

CreateIndex

DeleteIndex

ExportEntities

GetIndex

ImportEntities

ListIndexes

google.datastore.admin.v1beta1.DatastoreAdmin

屬於 google.datastore.admin.v1beta1.DatastoreAdmin 的方法會產生以下稽核記錄。

ExportEntities

ImportEntities

google.datastore.v1.Datastore

屬於 google.datastore.v1.Datastore 的方法會產生以下稽核記錄。

AllocateIds

  • 方法:google.datastore.v1.Datastore.AllocateIds
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.entities.allocateIds - DATA_WRITE
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1.Datastore.AllocateIds"

BeginTransaction

  • 方法:google.datastore.v1.Datastore.BeginTransaction
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.databases.get - DATA_READ
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1.Datastore.BeginTransaction"

Commit

  • 方法:google.datastore.v1.Datastore.Commit
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.databases.get - DATA_READ
    • datastore.entities.create - DATA_WRITE
    • datastore.entities.delete - DATA_WRITE
    • datastore.entities.update - DATA_WRITE
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1.Datastore.Commit"

Lookup

  • 方法:google.datastore.v1.Datastore.Lookup
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.entities.get - DATA_READ
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1.Datastore.Lookup"

ReserveIds

  • 方法:google.datastore.v1.Datastore.ReserveIds
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.entities.allocateIds - DATA_WRITE
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1.Datastore.ReserveIds"

Rollback

  • 方法:google.datastore.v1.Datastore.Rollback
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.databases.get - DATA_READ
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1.Datastore.Rollback"

RunAggregationQuery

  • 方法:google.datastore.v1.Datastore.RunAggregationQuery
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.entities.get - DATA_READ
    • datastore.entities.list - DATA_READ
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1.Datastore.RunAggregationQuery"

RunQuery

  • 方法:google.datastore.v1.Datastore.RunQuery
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.entities.get - DATA_READ
    • datastore.entities.list - DATA_READ
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1.Datastore.RunQuery"

google.datastore.v1beta3.Datastore

屬於 google.datastore.v1beta3.Datastore 的方法會產生以下稽核記錄。

AllocateIds

  • 方法:google.datastore.v1beta3.Datastore.AllocateIds
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.entities.allocateIds - DATA_WRITE
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1beta3.Datastore.AllocateIds"

BeginTransaction

  • 方法:google.datastore.v1beta3.Datastore.BeginTransaction
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.databases.get - DATA_READ
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1beta3.Datastore.BeginTransaction"

Commit

  • 方法:google.datastore.v1beta3.Datastore.Commit
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.entities.create - DATA_WRITE
    • datastore.entities.update - DATA_WRITE
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1beta3.Datastore.Commit"

Lookup

  • 方法:google.datastore.v1beta3.Datastore.Lookup
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.entities.get - DATA_READ
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1beta3.Datastore.Lookup"

ReserveIds

  • 方法:google.datastore.v1beta3.Datastore.ReserveIds
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.entities.allocateIds - DATA_WRITE
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1beta3.Datastore.ReserveIds"

Rollback

  • 方法:google.datastore.v1beta3.Datastore.Rollback
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.databases.get - DATA_READ
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1beta3.Datastore.Rollback"

RunAggregationQuery

  • 方法:google.datastore.v1beta3.Datastore.RunAggregationQuery
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.entities.get - DATA_READ
    • datastore.entities.list - DATA_READ
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1beta3.Datastore.RunAggregationQuery"

RunQuery

  • 方法:google.datastore.v1beta3.Datastore.RunQuery
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.entities.get - DATA_READ
    • datastore.entities.list - DATA_READ
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.datastore.v1beta3.Datastore.RunQuery"

google.longrunning.Operations

屬於 google.longrunning.Operations 的方法會產生以下稽核記錄。

CancelOperation

DeleteOperation

GetOperation

  • 方法:google.longrunning.Operations.GetOperation
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.operations.get - ADMIN_READ
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.longrunning.Operations.GetOperation"

ListOperations

  • 方法:google.longrunning.Operations.ListOperations
  • 稽核記錄類型:資料存取
  • 權限:
    • datastore.operations.list - ADMIN_READ
  • 方法的作業種類: 非長時間執行或串流作業。
  • 篩選條件: protoPayload.methodName="google.longrunning.Operations.ListOperations"

不會產生稽核記錄的方法

某些方法可能不會產生稽核記錄,原因包括以下一或多項:

  • 該方法的流量使用量高,若產生稽核記錄,會導致記錄與儲存成本過高。
  • 稽核價值低。
  • 其他稽核記錄或平台記錄已涵蓋該方法的活動。

下列方法不會產生稽核記錄:

  • google.longrunning.Operations.WaitOperation