Monitorare i database con Cloud Monitoring

Questo documento descrive l'audit logging per Cloud Firestore. 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 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 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 è contenuta 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.