Мониторинг баз данных с помощью Cloud Monitoring

Это относится только к версии Cloud Firestore Enterprise.

В этом документе описывается ведение журналов аудита для Cloud Firestore с совместимостью с MongoDB. Сервисы Google Cloud генерируют журналы аудита, которые записывают административные действия и действия доступа в ваших ресурсах Google Cloud .

Для получения дополнительной информации о журналах аудита в облаке см. следующие разделы:

Примечания

При настройке аудита используйте имя службы datastore.googleapis.com для настройки как datastore.googleapis.com , так и firestore.googleapis.com. Once configured, logs for the Cloud Firestore with MongoDB compatibility API include the service name firestore.googleapis.com.

Чтобы просмотреть время обработки запроса DATA_READ или DATA_WRITE , см. поле processing_duration в объекте metadata AuditLog . Поле processing_duration описывает время, затраченное базой данных на обработку запроса. Это время меньше, чем задержка для конечного пользователя. В частности, оно не включает сетевые накладные расходы.

Название услуги

В журналах аудита Cloud Firestore используется имя службы firestore.googleapis.com . Отфильтруйте по этой службе:

protoPayload.serviceName="firestore.googleapis.com"

Методы в зависимости от типа разрешения

Каждое разрешение IAM имеет свойство type , значением которого является перечисление (enum), принимающее одно из четырех значений: ADMIN_READ , ADMIN_WRITE , DATA_READ или DATA_WRITE . При вызове метода Cloud Firestore генерирует журнал аудита, категория которого зависит от свойства type разрешения, необходимого для выполнения метода.

Методы, требующие разрешения IAM со значением свойства type DATA_READ , DATA_WRITE или ADMIN_READ генерируют журналы аудита доступа к данным .

Методы, требующие разрешения IAM со значением свойства type ADMIN_WRITE генерируют журналы аудита активности администратора .

Тип разрешения Методы
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

Идентифицировать запрашивающих лиц

Записи журнала аудита содержат информацию об авторе, выполнившем зарегистрированную операцию. Чтобы идентифицировать инициатора запроса, см. следующие поля в объекте AuditLog :

  • Идентификационные данные вызывающего абонента хранятся в поле AuthenticationInfo . Оно может включать адрес principalEmail . Эта информация иногда скрывается .

  • Поле callerIp в объекте requestMetadata записи AuditLog содержит IP-адрес вызывающего абонента.