本文說明 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 稽核記錄會使用服務名稱 datastore.googleapis.com。篩選這項服務:
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 的方法,會產生管理員活動稽核記錄。
| 權限類型 | 方法 |
|---|---|
ADMIN_READ |
google.datastore.admin.v1.DatastoreAdmin.GetIndexgoogle.datastore.admin.v1.DatastoreAdmin.ListIndexesgoogle.longrunning.Operations.GetOperationgoogle.longrunning.Operations.ListOperations |
ADMIN_WRITE |
google.datastore.admin.v1.DatastoreAdmin.CreateIndex (LRO)google.datastore.admin.v1.DatastoreAdmin.DeleteIndexgoogle.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.CancelOperationgoogle.longrunning.Operations.DeleteOperation |
DATA_READ |
google.datastore.v1.Datastore.BeginTransactiongoogle.datastore.v1.Datastore.Lookupgoogle.datastore.v1.Datastore.Rollbackgoogle.datastore.v1.Datastore.RunAggregationQuerygoogle.datastore.v1.Datastore.RunQuerygoogle.datastore.v1beta3.Datastore.BeginTransactiongoogle.datastore.v1beta3.Datastore.Lookupgoogle.datastore.v1beta3.Datastore.Rollbackgoogle.datastore.v1beta3.Datastore.RunAggregationQuerygoogle.datastore.v1beta3.Datastore.RunQuery |
DATA_WRITE |
google.datastore.v1.Datastore.AllocateIdsgoogle.datastore.v1.Datastore.Commitgoogle.datastore.v1.Datastore.ReserveIdsgoogle.datastore.v1beta3.Datastore.AllocateIdsgoogle.datastore.v1beta3.Datastore.Commitgoogle.datastore.v1beta3.Datastore.ReserveIds |
API 介面稽核記錄
如要瞭解系統如何評估每種方法的權限,請參閱 Datastore 的 Identity and Access Management 說明文件。
google.datastore.admin.v1.DatastoreAdmin
下列稽核記錄與屬於 google.datastore.admin.v1.DatastoreAdmin 的方法相關聯。
CreateIndex
- 方法:
google.datastore.admin.v1.DatastoreAdmin.CreateIndex - 稽核記錄類型:管理員活動
- 權限:
datastore.indexes.create - ADMIN_WRITE
- 方法是長時間執行的作業或串流作業:
長時間執行的作業
- 篩選這個方法:
protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.CreateIndex"
DeleteIndex
- 方法:
google.datastore.admin.v1.DatastoreAdmin.DeleteIndex - 稽核記錄類型:管理員活動
- 權限:
datastore.indexes.delete - ADMIN_WRITE
- 方法是長時間執行的作業或串流作業:
否。
- 篩選這個方法:
protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.DeleteIndex"
ExportEntities
- 方法:
google.datastore.admin.v1.DatastoreAdmin.ExportEntities - 稽核記錄類型:管理員活動
- 權限:
datastore.databases.export - ADMIN_WRITE
- 方法是長時間執行的作業或串流作業:
長時間執行的作業
- 篩選這個方法:
protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.ExportEntities"
GetIndex
- 方法:
google.datastore.admin.v1.DatastoreAdmin.GetIndex - 稽核記錄類型:資料存取
- 權限:
datastore.indexes.get - ADMIN_READ
- 方法是長時間執行的作業或串流作業:
否。
- 篩選這個方法:
protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.GetIndex"
ImportEntities
- 方法:
google.datastore.admin.v1.DatastoreAdmin.ImportEntities - 稽核記錄類型:管理員活動
- 權限:
datastore.databases.import - ADMIN_WRITE
- 方法是長時間執行的作業或串流作業:
長時間執行的作業
- 篩選這個方法:
protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.ImportEntities"
ListIndexes
- 方法:
google.datastore.admin.v1.DatastoreAdmin.ListIndexes - 稽核記錄類型:資料存取
- 權限:
datastore.indexes.list - ADMIN_READ
- 方法是長時間執行的作業或串流作業:
否。
- 篩選這個方法:
protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.ListIndexes"
google.datastore.admin.v1beta1.DatastoreAdmin
下列稽核記錄與屬於 google.datastore.admin.v1beta1.DatastoreAdmin 的方法相關聯。
ExportEntities
- 方法:
google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities - 稽核記錄類型:管理員活動
- 權限:
datastore.databases.export - ADMIN_WRITE
- 方法是長時間執行的作業或串流作業:
長時間執行的作業
- 篩選這個方法:
protoPayload.methodName="google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities"
ImportEntities
- 方法:
google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities - 稽核記錄類型:管理員活動
- 權限:
datastore.databases.import - ADMIN_WRITE
- 方法是長時間執行的作業或串流作業:
長時間執行的作業
- 篩選這個方法:
protoPayload.methodName="google.datastore.admin.v1beta1.DatastoreAdmin.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_READdatastore.entities.create - DATA_WRITEdatastore.entities.delete - DATA_WRITEdatastore.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_READdatastore.entities.list - DATA_READ
- 方法是長時間執行的作業或串流作業:
否。
- 篩選這個方法:
protoPayload.methodName="google.datastore.v1.Datastore.RunAggregationQuery"
RunQuery
- 方法:
google.datastore.v1.Datastore.RunQuery - 稽核記錄類型:資料存取
- 權限:
datastore.entities.get - DATA_READdatastore.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_WRITEdatastore.entities.delete - DATA_WRITEdatastore.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_READdatastore.entities.list - DATA_READ
- 方法是長時間執行的作業或串流作業:
否。
- 篩選這個方法:
protoPayload.methodName="google.datastore.v1beta3.Datastore.RunAggregationQuery"
RunQuery
- 方法:
google.datastore.v1beta3.Datastore.RunQuery - 稽核記錄類型:資料存取
- 權限:
datastore.entities.get - DATA_READdatastore.entities.list - DATA_READ
- 方法是長時間執行的作業或串流作業:
否。
- 篩選這個方法:
protoPayload.methodName="google.datastore.v1beta3.Datastore.RunQuery"
google.longrunning.Operations
下列稽核記錄與屬於 google.longrunning.Operations 的方法相關聯。
CancelOperation
- 方法:
google.longrunning.Operations.CancelOperation - 稽核記錄類型:管理員活動
- 權限:
datastore.operations.cancel - ADMIN_WRITE
- 方法是長時間執行的作業或串流作業:
否。
- 篩選這個方法:
protoPayload.methodName="google.longrunning.Operations.CancelOperation"
DeleteOperation
- 方法:
google.longrunning.Operations.DeleteOperation - 稽核記錄類型:管理員活動
- 權限:
datastore.operations.delete - ADMIN_WRITE
- 方法是長時間執行的作業或串流作業:
否。
- 篩選這個方法:
protoPayload.methodName="google.longrunning.Operations.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