Firestore audit logging information
This document describes audit logging for Firestore. Google Cloud servicesgenerate audit logs that record administrative and access activities within your Google Cloud resources.For more information about Cloud Audit Logs, see the following:
- Types of audit logs
- Audit log entry structure
- Storing and routing audit logs
- Cloud Logging pricing summary
- Enable Data Access audit logs
Notes
When configuring audit logging, use the service namedatastore.googleapis.com to configure bothdatastore.googleapis.com andfirestore.googleapis.com.Once configured, logs for the Firestore API include the the service namefirestore.googleapis.com.
To view the time it took to process aDATA_READ orDATA_WRITE request, see theprocessing_duration field within themetadata object of anAuditLog.processing_duration describes the time the database took to actually process a request. This is smaller than the end-user latency. In particular, it does not include network overhead.
ForListenrequests,processing_duration is only present on the Audit Log for the initial result set returned. Its absent from subsequent Audit Logs for that sameListen target.
Individual writes from import, bulk delete operations and TTL are not audit logged.
Service name
Firestore audit logs use the service namefirestore.googleapis.com.Filter for this service:
protoPayload.serviceName="firestore.googleapis.com"
Methods by permission type
Firestore also includes the following operations as part of theKey Visualizer diagnostic tool. These areData Access audit logs and have the service namefirestorekeyvisualizer.googleapis.com. They are enabled by turning onDATA_READ for thefirestore.googleapis.com service.google.cloud.keyvisualizer.KeyVisualizer.GetScangoogle.cloud.keyvisualizer.KeyVisualizer.ListScans
Each IAM permission has atype property, whose value is an enumthat can be one of four values:ADMIN_READ,ADMIN_WRITE,DATA_READ, orDATA_WRITE. When you call a method,Firestore generates an audit log whose category is dependent on thetype property of the permission required to perform the method.Methods that require an IAM permission with thetype property valueofDATA_READ,DATA_WRITE, orADMIN_READ generateData Access audit logs.Methods that require an IAM permission with thetype property valueofADMIN_WRITE generateAdmin Activity audit logs.
| Permission type | Methods |
|---|---|
ADMIN_READ | google.cloud.location.Locations.GetLocationgoogle.cloud.location.Locations.ListLocationsgoogle.firestore.admin.v1.FirestoreAdmin.GetBackupgoogle.firestore.admin.v1.FirestoreAdmin.GetBackupSchedulegoogle.firestore.admin.v1.FirestoreAdmin.GetDatabasegoogle.firestore.admin.v1.FirestoreAdmin.GetFieldgoogle.firestore.admin.v1.FirestoreAdmin.GetIndexgoogle.firestore.admin.v1.FirestoreAdmin.ListBackupSchedulesgoogle.firestore.admin.v1.FirestoreAdmin.ListBackupsgoogle.firestore.admin.v1.FirestoreAdmin.ListDatabasesgoogle.firestore.admin.v1.FirestoreAdmin.ListFieldsgoogle.firestore.admin.v1.FirestoreAdmin.ListIndexesgoogle.firestore.admin.v1beta1.FirestoreAdmin.GetIndexgoogle.firestore.admin.v1beta1.FirestoreAdmin.ListIndexesgoogle.firestore.admin.v1beta2.FirestoreAdmin.GetFieldgoogle.firestore.admin.v1beta2.FirestoreAdmin.GetIndexgoogle.firestore.admin.v1beta2.FirestoreAdmin.ListFieldsgoogle.firestore.admin.v1beta2.FirestoreAdmin.ListIndexesgoogle.longrunning.Operations.GetOperationgoogle.longrunning.Operations.ListOperations |
ADMIN_WRITE | google.firestore.admin.v1.FirestoreAdmin.BulkDeleteDocuments (LRO)google.firestore.admin.v1.FirestoreAdmin.CreateBackupSchedulegoogle.firestore.admin.v1.FirestoreAdmin.CreateDatabasegoogle.firestore.admin.v1.FirestoreAdmin.CreateIndex (LRO)google.firestore.admin.v1.FirestoreAdmin.DeleteBackupgoogle.firestore.admin.v1.FirestoreAdmin.DeleteBackupSchedulegoogle.firestore.admin.v1.FirestoreAdmin.DeleteDatabasegoogle.firestore.admin.v1.FirestoreAdmin.DeleteIndexgoogle.firestore.admin.v1.FirestoreAdmin.ExportDocuments (LRO)google.firestore.admin.v1.FirestoreAdmin.ImportDocuments (LRO)google.firestore.admin.v1.FirestoreAdmin.RestoreDatabasegoogle.firestore.admin.v1.FirestoreAdmin.UpdateBackupSchedulegoogle.firestore.admin.v1.FirestoreAdmin.UpdateDatabasegoogle.firestore.admin.v1.FirestoreAdmin.UpdateField (LRO)google.firestore.admin.v1beta1.FirestoreAdmin.CreateIndex (LRO)google.firestore.admin.v1beta1.FirestoreAdmin.DeleteIndexgoogle.firestore.admin.v1beta1.FirestoreAdmin.ExportDocuments (LRO)google.firestore.admin.v1beta1.FirestoreAdmin.ImportDocuments (LRO)google.firestore.admin.v1beta2.FirestoreAdmin.CreateIndex (LRO)google.firestore.admin.v1beta2.FirestoreAdmin.DeleteIndexgoogle.firestore.admin.v1beta2.FirestoreAdmin.ExportDocuments (LRO)google.firestore.admin.v1beta2.FirestoreAdmin.ImportDocuments (LRO)google.firestore.admin.v1beta2.FirestoreAdmin.UpdateField (LRO)google.longrunning.Operations.CancelOperationgoogle.longrunning.Operations.DeleteOperation |
DATA_READ | google.firestore.v1.Firestore.BatchGetDocumentsgoogle.firestore.v1.Firestore.BeginTransactiongoogle.firestore.v1.Firestore.GetDocumentgoogle.firestore.v1.Firestore.ListCollectionIdsgoogle.firestore.v1.Firestore.ListDocumentsgoogle.firestore.v1.Firestore.Listengoogle.firestore.v1.Firestore.PartitionQuerygoogle.firestore.v1.Firestore.Rollbackgoogle.firestore.v1.Firestore.RunAggregationQuerygoogle.firestore.v1.Firestore.RunQuerygoogle.firestore.v1beta1.Firestore.BatchGetDocumentsgoogle.firestore.v1beta1.Firestore.BatchWritegoogle.firestore.v1beta1.Firestore.BeginTransactiongoogle.firestore.v1beta1.Firestore.GetDocumentgoogle.firestore.v1beta1.Firestore.ListCollectionIdsgoogle.firestore.v1beta1.Firestore.ListDocumentsgoogle.firestore.v1beta1.Firestore.PartitionQuerygoogle.firestore.v1beta1.Firestore.Rollbackgoogle.firestore.v1beta1.Firestore.RunAggregationQuerygoogle.firestore.v1beta1.Firestore.RunQuery |
DATA_WRITE | google.firestore.v1.Firestore.BatchWritegoogle.firestore.v1.Firestore.Commitgoogle.firestore.v1.Firestore.CreateDocumentgoogle.firestore.v1.Firestore.DeleteDocumentgoogle.firestore.v1.Firestore.UpdateDocumentgoogle.firestore.v1.Firestore.Writegoogle.firestore.v1beta1.Firestore.BatchWritegoogle.firestore.v1beta1.Firestore.Commitgoogle.firestore.v1beta1.Firestore.CreateDocumentgoogle.firestore.v1beta1.Firestore.DeleteDocumentgoogle.firestore.v1beta1.Firestore.UpdateDocument |
API interface audit logs
For information about how and which permissions are evaluated for each method,see the Identity and Access Management documentation for Firestore.
google.cloud.location.Locations
The following audit logs are associated with methods belonging togoogle.cloud.location.Locations.
GetLocation
- Method:
google.cloud.location.Locations.GetLocation - Audit log type:Data access
- Permissions:
datastore.locations.get - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.cloud.location.Locations.GetLocation"
ListLocations
- Method:
google.cloud.location.Locations.ListLocations - Audit log type:Data access
- Permissions:
datastore.locations.list - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.cloud.location.Locations.ListLocations"
google.firestore.admin.v1.FirestoreAdmin
The following audit logs are associated with methods belonging togoogle.firestore.admin.v1.FirestoreAdmin.
BulkDeleteDocuments
- Method:
google.firestore.admin.v1.FirestoreAdmin.BulkDeleteDocuments - Audit log type:Admin activity
- Permissions:
datastore.databases.bulkDelete - ADMIN_WRITE
- Method is a long-running or streaming operation:Long-running operation
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.BulkDeleteDocuments"
CreateBackupSchedule
- Method:
google.firestore.admin.v1.FirestoreAdmin.CreateBackupSchedule - Audit log type:Admin activity
- Permissions:
datastore.backupSchedules.create - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.CreateBackupSchedule"
CreateDatabase
- Method:
google.firestore.admin.v1.FirestoreAdmin.CreateDatabase - Audit log type:Admin activity
- Permissions:
datastore.databases.create - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.CreateDatabase"
CreateIndex
- Method:
google.firestore.admin.v1.FirestoreAdmin.CreateIndex - Audit log type:Admin activity
- Permissions:
datastore.indexes.create - ADMIN_WRITE
- Method is a long-running or streaming operation:Long-running operation
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.CreateIndex"
DeleteBackup
- Method:
google.firestore.admin.v1.FirestoreAdmin.DeleteBackup - Audit log type:Admin activity
- Permissions:
datastore.backups.delete - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.DeleteBackup"
DeleteBackupSchedule
- Method:
google.firestore.admin.v1.FirestoreAdmin.DeleteBackupSchedule - Audit log type:Admin activity
- Permissions:
datastore.backupSchedules.delete - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.DeleteBackupSchedule"
DeleteDatabase
- Method:
google.firestore.admin.v1.FirestoreAdmin.DeleteDatabase - Audit log type:Admin activity
- Permissions:
datastore.databases.delete - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.DeleteDatabase"
DeleteIndex
- Method:
google.firestore.admin.v1.FirestoreAdmin.DeleteIndex - Audit log type:Admin activity
- Permissions:
datastore.indexes.delete - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.DeleteIndex"
ExportDocuments
- Method:
google.firestore.admin.v1.FirestoreAdmin.ExportDocuments - Audit log type:Admin activity
- Permissions:
datastore.databases.export - ADMIN_WRITE
- Method is a long-running or streaming operation:Long-running operation
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.ExportDocuments"
GetBackup
- Method:
google.firestore.admin.v1.FirestoreAdmin.GetBackup - Audit log type:Data access
- Permissions:
datastore.backups.get - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.GetBackup"
GetBackupSchedule
- Method:
google.firestore.admin.v1.FirestoreAdmin.GetBackupSchedule - Audit log type:Data access
- Permissions:
datastore.backupSchedules.get - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.GetBackupSchedule"
GetDatabase
- Method:
google.firestore.admin.v1.FirestoreAdmin.GetDatabase - Audit log type:Data access
- Permissions:
datastore.databases.getMetadata - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.GetDatabase"
GetField
- Method:
google.firestore.admin.v1.FirestoreAdmin.GetField - Audit log type:Data access
- Permissions:
datastore.indexes.get - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.GetField"
GetIndex
- Method:
google.firestore.admin.v1.FirestoreAdmin.GetIndex - Audit log type:Data access
- Permissions:
datastore.indexes.get - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.GetIndex"
ImportDocuments
- Method:
google.firestore.admin.v1.FirestoreAdmin.ImportDocuments - Audit log type:Admin activity
- Permissions:
datastore.databases.import - ADMIN_WRITE
- Method is a long-running or streaming operation:Long-running operation
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.ImportDocuments"
ListBackupSchedules
- Method:
google.firestore.admin.v1.FirestoreAdmin.ListBackupSchedules - Audit log type:Data access
- Permissions:
datastore.backupSchedules.list - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.ListBackupSchedules"
ListBackups
- Method:
google.firestore.admin.v1.FirestoreAdmin.ListBackups - Audit log type:Data access
- Permissions:
datastore.backups.list - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.ListBackups"
ListDatabases
- Method:
google.firestore.admin.v1.FirestoreAdmin.ListDatabases - Audit log type:Data access
- Permissions:
datastore.databases.list - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.ListDatabases"
ListFields
- Method:
google.firestore.admin.v1.FirestoreAdmin.ListFields - Audit log type:Data access
- Permissions:
datastore.indexes.list - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.ListFields"
ListIndexes
- Method:
google.firestore.admin.v1.FirestoreAdmin.ListIndexes - Audit log type:Data access
- Permissions:
datastore.indexes.list - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.ListIndexes"
RestoreDatabase
- Method:
google.firestore.admin.v1.FirestoreAdmin.RestoreDatabase - Audit log type:Admin activity
- Permissions:
datastore.backups.restoreDatabase - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.RestoreDatabase"
UpdateBackupSchedule
- Method:
google.firestore.admin.v1.FirestoreAdmin.UpdateBackupSchedule - Audit log type:Admin activity
- Permissions:
datastore.backupSchedules.update - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.UpdateBackupSchedule"
UpdateDatabase
- Method:
google.firestore.admin.v1.FirestoreAdmin.UpdateDatabase - Audit log type:Admin activity
- Permissions:
datastore.databases.update - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.UpdateDatabase"
UpdateField
- Method:
google.firestore.admin.v1.FirestoreAdmin.UpdateField - Audit log type:Admin activity
- Permissions:
datastore.indexes.update - ADMIN_WRITE
- Method is a long-running or streaming operation:Long-running operation
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.UpdateField"
google.firestore.admin.v1beta1.FirestoreAdmin
The following audit logs are associated with methods belonging togoogle.firestore.admin.v1beta1.FirestoreAdmin.
CreateIndex
- Method:
google.firestore.admin.v1beta1.FirestoreAdmin.CreateIndex - Audit log type:Admin activity
- Permissions:
datastore.indexes.create - ADMIN_WRITE
- Method is a long-running or streaming operation:Long-running operation
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta1.FirestoreAdmin.CreateIndex"
DeleteIndex
- Method:
google.firestore.admin.v1beta1.FirestoreAdmin.DeleteIndex - Audit log type:Admin activity
- Permissions:
datastore.indexes.delete - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta1.FirestoreAdmin.DeleteIndex"
ExportDocuments
- Method:
google.firestore.admin.v1beta1.FirestoreAdmin.ExportDocuments - Audit log type:Admin activity
- Permissions:
datastore.databases.export - ADMIN_WRITE
- Method is a long-running or streaming operation:Long-running operation
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta1.FirestoreAdmin.ExportDocuments"
GetIndex
- Method:
google.firestore.admin.v1beta1.FirestoreAdmin.GetIndex - Audit log type:Data access
- Permissions:
datastore.indexes.get - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta1.FirestoreAdmin.GetIndex"
ImportDocuments
- Method:
google.firestore.admin.v1beta1.FirestoreAdmin.ImportDocuments - Audit log type:Admin activity
- Permissions:
datastore.databases.import - ADMIN_WRITE
- Method is a long-running or streaming operation:Long-running operation
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta1.FirestoreAdmin.ImportDocuments"
ListIndexes
- Method:
google.firestore.admin.v1beta1.FirestoreAdmin.ListIndexes - Audit log type:Data access
- Permissions:
datastore.indexes.list - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta1.FirestoreAdmin.ListIndexes"
google.firestore.admin.v1beta2.FirestoreAdmin
The following audit logs are associated with methods belonging togoogle.firestore.admin.v1beta2.FirestoreAdmin.
CreateIndex
- Method:
google.firestore.admin.v1beta2.FirestoreAdmin.CreateIndex - Audit log type:Admin activity
- Permissions:
datastore.indexes.create - ADMIN_WRITE
- Method is a long-running or streaming operation:Long-running operation
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta2.FirestoreAdmin.CreateIndex"
DeleteIndex
- Method:
google.firestore.admin.v1beta2.FirestoreAdmin.DeleteIndex - Audit log type:Admin activity
- Permissions:
datastore.indexes.delete - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta2.FirestoreAdmin.DeleteIndex"
ExportDocuments
- Method:
google.firestore.admin.v1beta2.FirestoreAdmin.ExportDocuments - Audit log type:Admin activity
- Permissions:
datastore.databases.export - ADMIN_WRITE
- Method is a long-running or streaming operation:Long-running operation
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta2.FirestoreAdmin.ExportDocuments"
GetField
- Method:
google.firestore.admin.v1beta2.FirestoreAdmin.GetField - Audit log type:Data access
- Permissions:
datastore.indexes.get - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta2.FirestoreAdmin.GetField"
GetIndex
- Method:
google.firestore.admin.v1beta2.FirestoreAdmin.GetIndex - Audit log type:Data access
- Permissions:
datastore.indexes.get - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta2.FirestoreAdmin.GetIndex"
ImportDocuments
- Method:
google.firestore.admin.v1beta2.FirestoreAdmin.ImportDocuments - Audit log type:Admin activity
- Permissions:
datastore.databases.import - ADMIN_WRITE
- Method is a long-running or streaming operation:Long-running operation
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta2.FirestoreAdmin.ImportDocuments"
ListFields
- Method:
google.firestore.admin.v1beta2.FirestoreAdmin.ListFields - Audit log type:Data access
- Permissions:
datastore.indexes.list - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta2.FirestoreAdmin.ListFields"
ListIndexes
- Method:
google.firestore.admin.v1beta2.FirestoreAdmin.ListIndexes - Audit log type:Data access
- Permissions:
datastore.indexes.list - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta2.FirestoreAdmin.ListIndexes"
UpdateField
- Method:
google.firestore.admin.v1beta2.FirestoreAdmin.UpdateField - Audit log type:Admin activity
- Permissions:
datastore.indexes.update - ADMIN_WRITE
- Method is a long-running or streaming operation:Long-running operation
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1beta2.FirestoreAdmin.UpdateField"
google.firestore.v1.Firestore
The following audit logs are associated with methods belonging togoogle.firestore.v1.Firestore.
BatchGetDocuments
- Method:
google.firestore.v1.Firestore.BatchGetDocuments - Audit log type:Data access
- Permissions:
datastore.entities.get - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.BatchGetDocuments"
BatchWrite
- Method:
google.firestore.v1.Firestore.BatchWrite - Audit log type:Data access
- Permissions:
datastore.entities.create - DATA_WRITEdatastore.entities.delete - DATA_WRITEdatastore.entities.update - DATA_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.BatchWrite"
BeginTransaction
- Method:
google.firestore.v1.Firestore.BeginTransaction - Audit log type:Data access
- Permissions:
datastore.databases.get - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.BeginTransaction"
Commit
- Method:
google.firestore.v1.Firestore.Commit - Audit log type:Data access
- Permissions:
datastore.databases.get - DATA_READdatastore.entities.create - DATA_WRITEdatastore.entities.delete - DATA_WRITEdatastore.entities.get - DATA_READdatastore.entities.update - DATA_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.Commit"
CreateDocument
- Method:
google.firestore.v1.Firestore.CreateDocument - Audit log type:Data access
- Permissions:
datastore.entities.allocateIds - DATA_WRITEdatastore.entities.create - DATA_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.CreateDocument"
DeleteDocument
- Method:
google.firestore.v1.Firestore.DeleteDocument - Audit log type:Data access
- Permissions:
datastore.entities.delete - DATA_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.DeleteDocument"
GetDocument
- Method:
google.firestore.v1.Firestore.GetDocument - Audit log type:Data access
- Permissions:
datastore.entities.get - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.GetDocument"
ListCollectionIds
- Method:
google.firestore.v1.Firestore.ListCollectionIds - Audit log type:Data access
- Permissions:
datastore.entities.list - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.ListCollectionIds"
ListDocuments
- Method:
google.firestore.v1.Firestore.ListDocuments - Audit log type:Data access
- Permissions:
datastore.entities.get - DATA_READdatastore.entities.list - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.ListDocuments"
Listen
- Method:
google.firestore.v1.Firestore.Listen - Audit log type:Data access
- Permissions:
datastore.entities.get - DATA_READdatastore.entities.list - DATA_READ
- Method is a long-running or streaming operation:Streaming RPC
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.Listen"
Listen is a long-lived RPC that combines multiple streaming targets. Each target is a query or a set of document keys. The stream for each target includes an initial result set and a sequence of updates, additions, and removals to the result set. The targets are the relevant audit unit. Firestore audits each target as follows:
- When the target is added, emit a log entry with the targets query or document key set. In these entries,
operation.firstis true. This audit log isomitted when the stream is a resumption of an earlier Listen target stream. - Emit periodic updates reporting the count of updates since the last audit log for this target.
- Emit a log entry when the target is removed from the stream, either explicitly or due to the termination for the
ListenRPC. This log entry reports the count of updates since the last audit log for this target. In these entries,operation.lastis true. - The emitted log entries use the same
operation.id.
PartitionQuery
- Method:
google.firestore.v1.Firestore.PartitionQuery - Audit log type:Data access
- Permissions:
datastore.entities.get - DATA_READdatastore.entities.list - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.PartitionQuery"
Rollback
- Method:
google.firestore.v1.Firestore.Rollback - Audit log type:Data access
- Permissions:
datastore.databases.get - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.Rollback"
RunAggregationQuery
- Method:
google.firestore.v1.Firestore.RunAggregationQuery - Audit log type:Data access
- Permissions:
datastore.entities.get - DATA_READdatastore.entities.list - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.RunAggregationQuery"
RunQuery
- Method:
google.firestore.v1.Firestore.RunQuery - Audit log type:Data access
- Permissions:
datastore.entities.get - DATA_READdatastore.entities.list - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.RunQuery"
RunQuery is a short-lived streaming RPC and emits a log entry when the last message (document) is sent.UpdateDocument
- Method:
google.firestore.v1.Firestore.UpdateDocument - Audit log type:Data access
- Permissions:
datastore.entities.create - DATA_WRITEdatastore.entities.update - DATA_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.UpdateDocument"
Write
- Method:
google.firestore.v1.Firestore.Write - Audit log type:Data access
- Permissions:
datastore.entities.create - DATA_WRITEdatastore.entities.update - DATA_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1.Firestore.Write"
Write emits a log entry for every message received as each message corresponds to an independent write to the database. The emitted log entries use the sameoperation.id.google.firestore.v1beta1.Firestore
The following audit logs are associated with methods belonging togoogle.firestore.v1beta1.Firestore.
BatchGetDocuments
- Method:
google.firestore.v1beta1.Firestore.BatchGetDocuments - Audit log type:Data access
- Permissions:
datastore.databases.get - DATA_READdatastore.entities.get - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.BatchGetDocuments"
BatchWrite
- Method:
google.firestore.v1beta1.Firestore.BatchWrite - Audit log type:Data access
- Permissions:
datastore.databases.get - DATA_READdatastore.entities.create - DATA_WRITEdatastore.entities.update - DATA_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.BatchWrite"
BeginTransaction
- Method:
google.firestore.v1beta1.Firestore.BeginTransaction - Audit log type:Data access
- Permissions:
datastore.databases.get - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.BeginTransaction"
Commit
- Method:
google.firestore.v1beta1.Firestore.Commit - Audit log type:Data access
- Permissions:
datastore.databases.get - DATA_READdatastore.entities.create - DATA_WRITEdatastore.entities.delete - DATA_WRITEdatastore.entities.update - DATA_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.Commit"
CreateDocument
- Method:
google.firestore.v1beta1.Firestore.CreateDocument - Audit log type:Data access
- Permissions:
datastore.entities.allocateIds - DATA_WRITEdatastore.entities.create - DATA_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.CreateDocument"
DeleteDocument
- Method:
google.firestore.v1beta1.Firestore.DeleteDocument - Audit log type:Data access
- Permissions:
datastore.entities.delete - DATA_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.DeleteDocument"
GetDocument
- Method:
google.firestore.v1beta1.Firestore.GetDocument - Audit log type:Data access
- Permissions:
datastore.entities.get - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.GetDocument"
ListCollectionIds
- Method:
google.firestore.v1beta1.Firestore.ListCollectionIds - Audit log type:Data access
- Permissions:
datastore.entities.list - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.ListCollectionIds"
ListDocuments
- Method:
google.firestore.v1beta1.Firestore.ListDocuments - Audit log type:Data access
- Permissions:
datastore.entities.get - DATA_READdatastore.entities.list - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.ListDocuments"
PartitionQuery
- Method:
google.firestore.v1beta1.Firestore.PartitionQuery - Audit log type:Data access
- Permissions:
datastore.entities.get - DATA_READdatastore.entities.list - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.PartitionQuery"
Rollback
- Method:
google.firestore.v1beta1.Firestore.Rollback - Audit log type:Data access
- Permissions:
datastore.databases.get - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.Rollback"
RunAggregationQuery
- Method:
google.firestore.v1beta1.Firestore.RunAggregationQuery - Audit log type:Data access
- Permissions:
datastore.entities.get - DATA_READdatastore.entities.list - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.RunAggregationQuery"
RunQuery
- Method:
google.firestore.v1beta1.Firestore.RunQuery - Audit log type:Data access
- Permissions:
datastore.entities.get - DATA_READdatastore.entities.list - DATA_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.RunQuery"
RunQuery is a short-lived streaming RPC and emits a log entry when the last message (document) is sent.UpdateDocument
- Method:
google.firestore.v1beta1.Firestore.UpdateDocument - Audit log type:Data access
- Permissions:
datastore.entities.create - DATA_WRITEdatastore.entities.update - DATA_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.firestore.v1beta1.Firestore.UpdateDocument"
google.longrunning.Operations
The following audit logs are associated with methods belonging togoogle.longrunning.Operations.
CancelOperation
- Method:
google.longrunning.Operations.CancelOperation - Audit log type:Admin activity
- Permissions:
datastore.operations.cancel - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.longrunning.Operations.CancelOperation"
DeleteOperation
- Method:
google.longrunning.Operations.DeleteOperation - Audit log type:Admin activity
- Permissions:
datastore.operations.delete - ADMIN_WRITE
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.longrunning.Operations.DeleteOperation"
GetOperation
- Method:
google.longrunning.Operations.GetOperation - Audit log type:Data access
- Permissions:
datastore.operations.get - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.longrunning.Operations.GetOperation"
ListOperations
- Method:
google.longrunning.Operations.ListOperations - Audit log type:Data access
- Permissions:
datastore.operations.list - ADMIN_READ
- Method is a long-running or streaming operation:No.
- Filter for this method:
protoPayload.methodName="google.longrunning.Operations.ListOperations"
Identify request callers
Audit Log entries include information about the identity that performed thelogged operation. To identify a request caller, see the following fields withinanAuditLog object:
The caller's identity is held in the
AuthenticationInfofield. This can include theprincipalEmailof the user. This information issometimes redacted.If a JSON Web Token (JWT) was used for third-party authentication, the
thirdPartyPrincipalfield includes the token's header and payload.For example, audit logs for requests authenticated withFirebase Authenticationinclude that request'sauth token.The
callerIpfield within therequestMetadataobject of anAuditLogentry includes the IP address of the caller.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-18 UTC.