W tym dokumencie opisujemy logi kontrolne dla Cloud Firestore. Google Cloud usługi generują logi kontrolne, które rejestrują działania administracyjne i dostęp do zasobów Google Cloud.
Więcej informacji o logach kontrolnych Cloud znajdziesz w tych materiałach:
- Typy dzienników kontrolnych
- Struktura wpisu logu kontrolnego
- Przechowywanie i kierowanie dzienników kontrolnych
- Cloud Logging podsumowanie cen
- Włączanie logów kontrolnych dostępu do danych
Uwagi
Podczas konfigurowania logów kontrolnych użyj nazwy usługi datastore.googleapis.com
aby skonfigurować zarówno datastore.googleapis.com, jak i firestore.googleapis.com.
Once configured, logs for the Cloud Firestore API include the service namefirestore.googleapis.com`.
Aby sprawdzić, ile czasu zajęło przetworzenie żądania DATA_READ lub DATA_WRITE, zapoznaj się z polem processing_duration w obiekcie metadata w AuditLog.
Pole processing_duration opisuje czas, jaki baza danych potrzebowała na przetworzenie żądania. Jest on krótszy niż opóźnienie użytkownika. W szczególności nie obejmuje narzutu sieciowego.
Nazwa usługi
Logi kontrolne Cloud Firestore używają nazwy usługi firestore.googleapis.com.
Filtruj według tej usługi:
protoPayload.serviceName="firestore.googleapis.com"
Metody według typu uprawnień
Każde uprawnienie IAM ma właściwość type, której wartość jest wyliczeniem i może przyjmować jedną z 4 wartości: ADMIN_READ, ADMIN_WRITE, DATA_READ lub DATA_WRITE. Gdy wywołujesz metodę, Cloud Firestore generuje log kontrolny, którego kategoria zależy od właściwości
type uprawnienia wymaganego do wykonania metody.
Metody, które wymagają uprawnienia IAM z wartością właściwości type równą DATA_READ, DATA_WRITE, lub ADMIN_READ, generują
logi kontrolne dostępu do danych.
Metody, które wymagają uprawnienia IAM z wartością właściwości type równą ADMIN_WRITE generują
logi kontrolne aktywności administratora.
| Typ uprawnień | Metody |
|---|---|
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.v1.MongoDBCompatible.ListIndexesgoogle.firestore.admin.v1.MongoDBCompatible.ListDatabases
|
ADMIN_WRITE |
google.firestore.admin.v1.FirestoreAdmin.CreateBackupSchedulegoogle.firestore.admin.v1.FirestoreAdmin.CreateDatabasegoogle.firestore.admin.v1.FirestoreAdmin.CreateIndexgoogle.firestore.admin.v1.FirestoreAdmin.DeleteBackupgoogle.firestore.admin.v1.FirestoreAdmin.DeleteBackupSchedulegoogle.firestore.admin.v1.FirestoreAdmin.DeleteDatabasegoogle.firestore.admin.v1.FirestoreAdmin.DeleteIndexgoogle.firestore.admin.v1.FirestoreAdmin.RestoreDatabasegoogle.firestore.admin.v1.FirestoreAdmin.UpdateBackupSchedulegoogle.firestore.admin.v1.FirestoreAdmin.UpdateDatabasegoogle.firestore.admin.v1.FirestoreAdmin.UpdateFieldgoogle.longrunning.Operations.CancelOperationgoogle.longrunning.Operations.DeleteOperation
|
DATA_READ |
google.firestore.v1.MongoDBCompatible.Findgoogle.firestore.v1.MongoDBCompatible.Aggregategoogle.firestore.v1.MongoDBCompatible.GetMoregoogle.firestore.v1.MongoDBCompatible.ListCollectionsgoogle.firestore.v1.MongoDBCompatible.Countgoogle.firestore.v1.MongoDBCompatible.Distinctgoogle.firestore.v1.MongoDBCompatible.CommitTransactiongoogle.firestore.v1.MongoDBCompatible.AbortTransactiongoogle.firestore.v1.MongoDBCompatible.EndSessionsgoogle.firestore.v1.MongoDBCompatible.KillCursors
|
DATA_WRITE |
google.firestore.v1.MongoDBCompatible.Insertgoogle.firestore.v1.MongoDBCompatible.Updategoogle.firestore.v1.MongoDBCompatible.Deletegoogle.firestore.v1.MongoDBCompatible.FindAndModifygoogle.firestore.v1.MongoDBCompatible.CreateCollection
|
Określanie podmiotów wywołujących żądania
Wpisy w dzienniku kontrolnym zawierają informacje o tożsamości, która wykonała zarejestrowaną operację. Aby zidentyfikować podmiot wywołujący żądanie, zapoznaj się z tymi polami w obiekcie
AuditLog:
Tożsamość podmiotu wywołującego jest przechowywana w
AuthenticationInfopolu. Może ono zawierać adresprincipalEmailużytkownika. Te informacje są czasami redagowane.Pole
callerIpw obiekcierequestMetadatawpisuAuditLogzawiera adres IP podmiotu wywołującego.