Firestore audit logging information
This document lists the audited methods for Firestore. Google Cloud services generate 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 name datastore.googleapis.com to configure both datastore.googleapis.com and firestore.googleapis.com.Once configured, logs for the Firestore API include the the service name firestore.googleapis.com.
To view the time it took to process a DATA_READ or DATA_WRITE request, see the processing_duration field within the metadata object of an AuditLog.
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.
For Listenrequests, processing_duration is only present on the Audit Log for the initial result set returned. Its absent from subsequent Audit Logs for that same Listen target.
Individual writes from import, bulk delete operations and TTL are not audit logged.
Service name
To view the Firestore audit logs, do the following:
In the Google Cloud console, go to the Logs Explorer page:
Copy and paste the following query into the Query field of the Logs Explorer, and then click Run query.
protoPayload.serviceName="firestore.googleapis.com"
Methods by permission type
Each IAM permission has a type property, whose value is an enum
that can be one of four values: ADMIN_READ, ADMIN_WRITE,
DATA_READ, or DATA_WRITE. When you call a method,
Firestore generates an audit log whose category is dependent on the
type property of the permission required to perform the method.
Methods that require an IAM permission with the type property value
of DATA_READ, DATA_WRITE, or ADMIN_READ generate
Data Access audit logs.
Methods that require an IAM permission with the type property value
of ADMIN_WRITE generate
Admin 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.GetUserCredsgoogle.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.v1.FirestoreAdmin.ListUserCredsgoogle.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.CloneDatabasegoogle.firestore.admin.v1.FirestoreAdmin.CreateBackupSchedulegoogle.firestore.admin.v1.FirestoreAdmin.CreateDatabasegoogle.firestore.admin.v1.FirestoreAdmin.CreateIndex (LRO)google.firestore.admin.v1.FirestoreAdmin.CreateUserCredsgoogle.firestore.admin.v1.FirestoreAdmin.DeleteBackupgoogle.firestore.admin.v1.FirestoreAdmin.DeleteBackupSchedulegoogle.firestore.admin.v1.FirestoreAdmin.DeleteDatabasegoogle.firestore.admin.v1.FirestoreAdmin.DeleteIndexgoogle.firestore.admin.v1.FirestoreAdmin.DeleteUserCredsgoogle.firestore.admin.v1.FirestoreAdmin.DisableUserCredsgoogle.firestore.admin.v1.FirestoreAdmin.EnableUserCredsgoogle.firestore.admin.v1.FirestoreAdmin.ExportDocuments (LRO)google.firestore.admin.v1.FirestoreAdmin.ImportDocuments (LRO)google.firestore.admin.v1.FirestoreAdmin.ResetUserPasswordgoogle.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.ExecutePipelinegoogle.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.Commitgoogle.firestore.v1beta1.Firestore.ExecutePipelinegoogle.firestore.v1beta1.Firestore.GetDocumentgoogle.firestore.v1beta1.Firestore.ListCollectionIdsgoogle.firestore.v1beta1.Firestore.ListDocumentsgoogle.firestore.v1beta1.Firestore.Listengoogle.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.CreateDocumentgoogle.firestore.v1beta1.Firestore.DeleteDocumentgoogle.firestore.v1beta1.Firestore.UpdateDocumentgoogle.firestore.v1beta1.Firestore.Write |
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 to
google.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 to
google.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"
CloneDatabase
- Method:
google.firestore.admin.v1.FirestoreAdmin.CloneDatabase - Audit log type: Admin activity
- Permissions:
datastore.databases.clone - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.CloneDatabase"
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"
CreateUserCreds
- Method:
google.firestore.admin.v1.FirestoreAdmin.CreateUserCreds - Audit log type: Admin activity
- Permissions:
datastore.userCreds.create - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.CreateUserCreds"
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"
DeleteUserCreds
- Method:
google.firestore.admin.v1.FirestoreAdmin.DeleteUserCreds - Audit log type: Admin activity
- Permissions:
datastore.userCreds.delete - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.DeleteUserCreds"
DisableUserCreds
- Method:
google.firestore.admin.v1.FirestoreAdmin.DisableUserCreds - Audit log type: Admin activity
- Permissions:
datastore.userCreds.update - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.DisableUserCreds"
EnableUserCreds
- Method:
google.firestore.admin.v1.FirestoreAdmin.EnableUserCreds - Audit log type: Admin activity
- Permissions:
datastore.userCreds.update - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.firestore.admin.v1.FirestoreAdmin.EnableUserCreds"
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"
GetUserCreds
- Method:
google.firestore.admin.v1.FirestoreAdmin.GetUserCreds - Audit log type: Data access