Monitorare i database con Cloud Monitoring

Pertinente solo per la versione Enterprise di Cloud Firestore.

Questo documento descrive l'audit logging per Cloud Firestore con compatibilità MongoDB. I servizi Google Cloud generano audit log che registrano le attività amministrative e di accesso all'interno delle tue risorse Google Cloud.

Per ulteriori informazioni su Cloud Audit Logs, consulta quanto segue:

Note

Quando configuri la registrazione degli audit, utilizza il nome servizio datastore.googleapis.com per configurare sia datastore.googleapis.com sia firestore.googleapis.com. Once configured, logs for the Cloud Firestore with MongoDB compatibility API include the service namefirestore.googleapis.com`.

Per visualizzare il tempo impiegato per elaborare una richiesta DATA_READ o DATA_WRITE, consulta il campo processing_duration all'interno dell'oggetto metadata di un AuditLog. Il campo processing_duration descrive il tempo impiegato dal database per elaborare una richiesta. Questo valore è inferiore alla latenza dell'utente finale. In particolare, non include l'overhead di rete.

Nome servizio

Gli audit log di Cloud Firestore utilizzano il nome servizio firestore.googleapis.com. Filtra per questo servizio:

protoPayload.serviceName="firestore.googleapis.com"

Metodi per tipo di autorizzazione

Ogni autorizzazione IAM ha una proprietà type, il cui valore è un enum che può essere uno dei quattro valori: ADMIN_READ, ADMIN_WRITE, DATA_READ o DATA_WRITE. Quando chiami un metodo, Cloud Firestore genera un audit log la cui categoria dipende dalla proprietà type dell'autorizzazione richiesta per eseguire il metodo.

I metodi che richiedono un'autorizzazione IAM con il valore della proprietà type corrispondente a DATA_READ, DATA_WRITE o ADMIN_READ generano audit log degli Accessi ai dati.

I metodi che richiedono un'autorizzazione IAM con il valore della proprietà type ADMIN_WRITE generano audit log delle Attività di amministrazione.

Tipo di autorizzazione Metodi
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

Identificare i chiamanti delle richieste

Le voci dell'audit log includono informazioni sull'identità che ha eseguito l'operazione registrata. Per identificare il chiamante di una richiesta, consulta i seguenti campi all'interno di un oggetto AuditLog:

  • L'identità del chiamante è memorizzata nel campo AuthenticationInfo. Queste informazioni possono includere il principalEmail dell'utente. Queste informazioni vengono talvolta oscurate.

  • Il campo callerIp all'interno dell'oggetto requestMetadata di una voce AuditLog include l'indirizzo IP del chiamante.