На этой странице описываются журналы аудита, созданные Firebase как часть журналов аудита облака .
Обзор
Сервисы Firebase ведут журналы аудита, чтобы помочь вам ответить на вопросы: «Кто, что, где и когда сделал?». Это журналы аудита Cloud, предоставляемые в рамках проекта Google Cloud , связанного с вашим проектом Firebase .
Каждый из ваших проектов Firebase содержит только журналы аудита для ресурсов, которые находятся непосредственно в проекте.
Общий обзор журналов аудита в облаке см. в разделе «Обзор журналов аудита в облаке» . Более подробное понимание формата журналов аудита см. в разделе «Понимание журналов аудита» .
Доступные журналы аудита
Для Firebase Data Connect доступны следующие типы журналов аудита:
Журналы аудита активности администратора
Включает операции «административной записи», которые записывают метаданные или информацию о конфигурации.
Журналы аудита действий администратора отключить нельзя.
Журналы аудита доступа к данным
Включает операции «административного чтения», которые считывают метаданные или информацию о конфигурации. Также включает операции «чтения данных» и «записи данных», которые считывают или записывают данные, предоставленные пользователем.
Чтобы получать журналы аудита доступа к данным, необходимо явно включить их.
Более полное описание типов журналов аудита см. в разделе Типы журналов аудита .
Проверенные операции
Ниже приводится сводная информация о том, какие операции API соответствуют каждому типу журнала аудита в Firebase Data Connect:
Тип разрешения | Методы |
---|---|
ADMIN_READ | google.firebase.dataconnect.v1.FirebaseDataConnect.GetConnector google.firebase.dataconnect.v1.FirebaseDataConnect.GetSchema google.firebase.dataconnect.v1.FirebaseDataConnect.GetService google.firebase.dataconnect.v1.FirebaseDataConnect.ListConnectors google.firebase.dataconnect.v1.FirebaseDataConnect.ListSchemas google.firebase.dataconnect.v1.FirebaseDataConnect.ListServices google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListConnectors google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListSchemas google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListServices google.firebase.dataconnect.v1beta.FirebaseDataConnect.GetConnector google.firebase.dataconnect.v1beta.FirebaseDataConnect.GetSchema google.firebase.dataconnect.v1beta.FirebaseDataConnect.GetService google.firebase.dataconnect.v1beta.FirebaseDataConnect.ListConnectors google.firebase.dataconnect.v1beta.FirebaseDataConnect.ListSchemas google.firebase.dataconnect.v1beta.FirebaseDataConnect.ListServices |
ADMIN_WRITE | google.firebase.dataconnect.v1.FirebaseDataConnect.CreateConnector google.firebase.dataconnect.v1.FirebaseDataConnect.CreateSchema google.firebase.dataconnect.v1.FirebaseDataConnect.CreateService google.firebase.dataconnect.v1.FirebaseDataConnect.DeleteConnector google.firebase.dataconnect.v1.FirebaseDataConnect.DeleteSchema google.firebase.dataconnect.v1.FirebaseDataConnect.DeleteService google.firebase.dataconnect.v1.FirebaseDataConnect.UpdateConnector google.firebase.dataconnect.v1.FirebaseDataConnect.UpdateSchema google.firebase.dataconnect.v1.FirebaseDataConnect.UpdateService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateService google.firebase.dataconnect.v1beta.FirebaseDataConnect.CreateConnector google.firebase.dataconnect.v1beta.FirebaseDataConnect.CreateSchema google.firebase.dataconnect.v1beta.FirebaseDataConnect.CreateService google.firebase.dataconnect.v1beta.FirebaseDataConnect.DeleteConnector google.firebase.dataconnect.v1beta.FirebaseDataConnect.DeleteSchema google.firebase.dataconnect.v1beta.FirebaseDataConnect.DeleteService google.firebase.dataconnect.v1beta.FirebaseDataConnect.UpdateConnector google.firebase.dataconnect.v1beta.FirebaseDataConnect.UpdateSchema google.firebase.dataconnect.v1beta.FirebaseDataConnect.UpdateService |
DATA_READ | google.firebase.dataconnect.v1.GraphqlService.ExecuteGraphqlRead google.firebase.dataconnect.v1alpha.GraphqlService.ExecuteGraphqlRead google.firebase.dataconnect.v1beta.GraphqlService.ExecuteGraphqlRead |
DATA_WRITE | google.firebase.dataconnect.v1.GraphqlService.ExecuteGraphql google.firebase.dataconnect.v1alpha.GraphqlService.ExecuteGraphql google.firebase.dataconnect.v1beta.GraphqlService.ExecuteGraphql |
Формат журнала аудита
Записи журнала аудита включают следующие объекты:
Сама запись журнала, представляющая собой объект типа
LogEntry
. Полезные поля включают в себя:-
logName
содержит идентификатор ресурса и тип журнала аудита. -
resource
содержит цель проверяемой операции. -
timestamp
содержит время проверяемой операции. -
protoPayload
содержит проверенную информацию.
-
Данные журнала аудита, представляющие собой объект
AuditLog
, хранящийся в полеprotoPayload
записи журнала.Необязательная информация аудита, относящаяся к сервису, которая представляет собой объект, относящийся к сервису. В старых интеграциях этот объект хранится в поле
serviceData
объектаAuditLog
; в новых интеграциях используется полеmetadata
.
Информацию о других полях этих объектов и о том, как их интерпретировать, см. в разделе Понимание журналов аудита .
Имя журнала
Имена ресурсов журналов аудита облака указывают на проект Firebase или другую сущность Google Cloud , которой принадлежат журналы аудита, а также на то, содержит ли журнал данные аудита действий администратора, доступа к данным, отказа в политике или системных событий. Например, ниже приведены имена журналов аудита действий администратора на уровне проекта и журналов аудита доступа к данным организации. Переменные обозначают идентификаторы проекта и организации Firebase.
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
Название услуги
Журналы аудита Firebase Data Connect используют имя службы firebasedataconnect.googleapis.com
.
Полный список всех названий служб Cloud Logging API и соответствующих им типов отслеживаемых ресурсов см. в разделе Сопоставление служб с ресурсами .
Типы ресурсов
Журналы аудита Firebase Data Connect используют тип ресурса audited_resource
для всех журналов аудита.
Список всех отслеживаемых типов ресурсов Cloud Logging и описательную информацию см. в разделе Типы отслеживаемых ресурсов .
Включить ведение журнала аудита
Журналы аудита действий администратора всегда включены; отключить их невозможно.
Журналы аудита доступа к данным по умолчанию отключены и не записываются, если они явно не включены (исключением являются журналы аудита доступа к данным для BigQuery, которые нельзя отключить).
Инструкции по включению некоторых или всех журналов аудита доступа к данным см. в разделе Настройка журналов доступа к данным .
Разрешения и роли
Разрешения и роли Cloud IAM определяют вашу возможность доступа к данным журналов аудита в ресурсах Google Cloud .
Принимая решение о том, какие разрешения и роли, связанные с ведением журнала , применимы к вашему варианту использования, примите во внимание следующее:
Роль «Просмотрщик журналов» (
roles/logging.viewer
) предоставляет доступ только для чтения к журналам аудита действий администратора, отказов в политике и системных событий. Обладая только этой ролью, вы не сможете просматривать журналы аудита доступа к данным в контейнере_Default
.Роль наблюдателя частных журналов
(roles/logging.privateLogViewer
) включает разрешения, содержащиеся вroles/logging.viewer
, а также возможность читать журналы аудита доступа к данным в контейнере_Default
.Обратите внимание, что если эти приватные журналы хранятся в пользовательских сегментах, то любой пользователь, имеющий разрешение на чтение журналов в этих сегментах, сможет их прочитать. Подробнее о сегментах журналов см. в разделе «Обзор маршрутизации и хранения» .
Дополнительные сведения о разрешениях и ролях Cloud IAM, применяемых к данным журналов аудита, см. в разделе Управление доступом .
Просмотреть журналы
Для поиска и просмотра журналов аудита вам необходимо знать идентификатор проекта, папки или организации Firebase, для которых вы хотите просмотреть информацию из журналов аудита. Вы можете указать другие индексируемые поля LogEntry
, например resource.type
; подробности см. в разделе Быстрый поиск записей журнала .
Ниже приведены имена журналов аудита; они включают переменные для идентификаторов проекта, папки или организации Firebase:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy
Вы можете просматривать журналы аудита в Cloud Logging с помощью консоли Google Cloud, инструмента командной строки gcloud
или API Logging.
Консоль
Вы можете использовать Logs Explorer в консоли Google Cloud для извлечения записей журнала аудита для вашего проекта, папки или организации Firebase:
В консоли Google Cloud перейдите на страницу Ведение журналов > Обозреватель журналов .
На странице Logs Explorer выберите существующий проект, папку или организацию Firebase.
На панели «Конструктор запросов» выполните следующие действия:
В поле Тип ресурса выберите ресурс Google Cloud журналы аудита которого вы хотите просмотреть.
В поле Имя журнала выберите тип журнала аудита, который вы хотите просмотреть:
- Для журналов аудита действий администратора выберите действие .
- Для журналов аудита доступа к данным выберите data_access .
- Для журналов аудита системных событий выберите system_event .
- Для журналов аудита «Политика отклонена» выберите политику .
Если вы не видите эти параметры, значит, в проекте, папке или организации Firebase нет журналов аудита этого типа.
Дополнительные сведения о запросах с использованием Logs Explorer см. в разделе Создание запросов журнала .
gcloud
Инструмент командной строки gcloud
предоставляет интерфейс командной строки для API облачного журналирования. Укажите допустимые значения PROJECT_ID
, FOLDER_ID
или ORGANIZATION_ID
для каждого имени журнала.
Чтобы прочитать записи журнала аудита на уровне проекта Firebase, выполните следующую команду:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID
Чтобы прочитать записи журнала аудита на уровне папок, выполните следующую команду:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID
Чтобы прочитать записи журнала аудита на уровне вашей организации, выполните следующую команду:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID
Дополнительную информацию об использовании инструмента gcloud
см. в разделе Чтение записей журнала .
API
При построении запросов заменяйте переменные допустимыми значениями, используя соответствующие имена или идентификаторы журнала аудита на уровне проекта, папки или организации, как указано в именах журналов аудита. Например, если ваш запрос содержит PROJECT_ID , то указанный вами идентификатор проекта должен относиться к текущему выбранному проекту Firebase.
Чтобы использовать API ведения журнала для просмотра записей журнала аудита, выполните следующие действия:
Перейдите в раздел «Попробуйте этот API» в документации по методу
entries.list
.Введите следующий текст в раздел «Тело запроса» формы «Попробовать этот API» . При нажатии на эту предварительно заполненную форму тело запроса заполняется автоматически, но вам необходимо указать действительный
PROJECT_ID
в каждом имени журнала.{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
Нажмите «Выполнить» .
Более подробную информацию о запросах см. в разделе Язык запросов на ведение журнала .
Пример записи в журнале аудита и информацию о том, как найти в ней наиболее важную информацию, см. в разделе Пример записи в журнале аудита .
Журналы аудита маршрутов
Вы можете направлять журналы аудита в поддерживаемые пункты назначения так же, как и другие типы журналов. Вот несколько причин, по которым вам может понадобиться направлять журналы аудита:
Чтобы хранить журналы аудита в течение более длительного периода времени или использовать более мощные возможности поиска, вы можете направить копии журналов аудита в Google Cloud Storage, BigQuery или Google Cloud Pub/Sub. Используя Cloud Pub/Sub, вы можете направлять данные в другие приложения, другие репозитории и третьим лицам.
Для управления журналами аудита по всей организации вы можете создать агрегированные приемники , которые могут маршрутизировать журналы из любого или всех проектов Firebase в организации.
- Если включенные журналы аудита доступа к данным вытесняют ваши проекты Firebase из выделенных вам журналов, вы можете создать приемники, которые исключают журналы аудита доступа к данным из журналирования.
Инструкции по маршрутизации журналов см. в разделе Настройка приемников .
Цены
Журналы аудита административной активности и журналы аудита системных событий предоставляются бесплатно.
Журналы аудита доступа к данным и журналы аудита отказа в политике являются платными.
Дополнительную информацию о ценах на Cloud Logging см. на странице цен на операционный пакет Google Cloud: Cloud Logging .