Supervisa bases de datos con Cloud Monitoring

Solo es relevante para la edición Enterprise de Cloud Firestore.

En este documento, se describe el registro de auditoría de Cloud Firestore con compatibilidad con MongoDB. Los servicios de Google Cloud generan registros de auditoría que registran las actividades administrativas y de acceso dentro de tus recursos de Google Cloud.

Para obtener más información sobre los Registros de auditoría de Cloud, consulta los siguientes recursos:

Notas

Cuando configures el registro de auditoría, usa el nombre de servicio datastore.googleapis.com para configurar datastore.googleapis.com y firestore.googleapis.com. Once configured, logs for the Cloud Firestore with MongoDB compatibility API include the service namefirestore.googleapis.com`.

Para ver el tiempo que tardó en procesarse una solicitud DATA_READ o DATA_WRITE, consulta el campo processing_duration dentro del objeto metadata de un AuditLog. El campo processing_duration describe el tiempo que tardó la base de datos en procesar una solicitud. Este valor es menor que la latencia del usuario final. En particular, no incluye la sobrecarga de la red.

Nombre del servicio

Los registros de auditoría de Cloud Firestore usan el nombre de servicio firestore.googleapis.com. Filtra este servicio:

protoPayload.serviceName="firestore.googleapis.com"

Métodos por tipo de permiso

Cada permiso de IAM tiene una propiedad type, cuyo valor es una enumeración que puede ser uno de cuatro valores: ADMIN_READ, ADMIN_WRITE, DATA_READ o DATA_WRITE. Cuando llamas a un método, Cloud Firestore genera un registro de auditoría cuya categoría depende de la propiedad type del permiso necesario para realizar el método.

Los métodos que requieren un permiso de IAM con el valor de propiedad type de DATA_READ, DATA_WRITE o ADMIN_READ generan registros de auditoría de acceso a los datos.

Los métodos que requieren un permiso de IAM con el valor de propiedad type de ADMIN_WRITE generan registros de auditoría de actividad del administrador.

Tipo de permiso Métodos
ADMIN_READ google.cloud.location.Locations.GetLocation
google.cloud.location.Locations.ListLocations
google.firestore.admin.v1.FirestoreAdmin.GetBackup
google.firestore.admin.v1.FirestoreAdmin.GetBackupSchedule
google.firestore.admin.v1.FirestoreAdmin.GetDatabase
google.firestore.admin.v1.FirestoreAdmin.GetField
google.firestore.admin.v1.FirestoreAdmin.GetIndex
google.firestore.admin.v1.FirestoreAdmin.ListBackupSchedules
google.firestore.admin.v1.FirestoreAdmin.ListBackups
google.firestore.admin.v1.FirestoreAdmin.ListDatabases
google.firestore.admin.v1.FirestoreAdmin.ListFields
google.firestore.admin.v1.FirestoreAdmin.ListIndexes
google.firestore.admin.v1beta1.FirestoreAdmin.GetIndex
google.firestore.admin.v1.MongoDBCompatible.ListIndexes
google.firestore.admin.v1.MongoDBCompatible.ListDatabases
ADMIN_WRITE google.firestore.admin.v1.FirestoreAdmin.CreateBackupSchedule
google.firestore.admin.v1.FirestoreAdmin.CreateDatabase
google.firestore.admin.v1.FirestoreAdmin.CreateIndex
google.firestore.admin.v1.FirestoreAdmin.DeleteBackup
google.firestore.admin.v1.FirestoreAdmin.DeleteBackupSchedule
google.firestore.admin.v1.FirestoreAdmin.DeleteDatabase
google.firestore.admin.v1.FirestoreAdmin.DeleteIndex
google.firestore.admin.v1.FirestoreAdmin.RestoreDatabase
google.firestore.admin.v1.FirestoreAdmin.UpdateBackupSchedule
google.firestore.admin.v1.FirestoreAdmin.UpdateDatabase
google.firestore.admin.v1.FirestoreAdmin.UpdateField
google.longrunning.Operations.CancelOperation
google.longrunning.Operations.DeleteOperation
DATA_READ google.firestore.v1.MongoDBCompatible.Find
google.firestore.v1.MongoDBCompatible.Aggregate
google.firestore.v1.MongoDBCompatible.GetMore
google.firestore.v1.MongoDBCompatible.ListCollections
google.firestore.v1.MongoDBCompatible.Count
google.firestore.v1.MongoDBCompatible.Distinct
google.firestore.v1.MongoDBCompatible.CommitTransaction
google.firestore.v1.MongoDBCompatible.AbortTransaction
google.firestore.v1.MongoDBCompatible.EndSessions
google.firestore.v1.MongoDBCompatible.KillCursors
DATA_WRITE google.firestore.v1.MongoDBCompatible.Insert
google.firestore.v1.MongoDBCompatible.Update
google.firestore.v1.MongoDBCompatible.Delete
google.firestore.v1.MongoDBCompatible.FindAndModify
google.firestore.v1.MongoDBCompatible.CreateCollection

Identifica a los llamadores de solicitudes

Las entradas de registro de auditoría incluyen información sobre la identidad que realizó la operación registrada. Para identificar un llamador de solicitudes, consulta los siguientes campos dentro de un objeto AuditLog:

  • La identidad del llamador se encuentra en el campo AuthenticationInfo. Esto puede incluir el principalEmail del usuario. Esta información a veces se oculta.

  • El campo callerIp dentro del objeto requestMetadata de una entrada AuditLog incluye la dirección IP del llamador.