На этой странице описаны журналы аудита, создаваемые Firebase в рамках Cloud Audit Logs .
Обзор
Сервисы Firebase записывают журналы аудита, которые помогут вам ответить на вопросы: «Кто что сделал, где и когда?». Это облачные журналы аудита, предоставляемые в рамках проекта Google Cloud подключенного к вашему проекту Firebase .
В каждом из ваших проектов Firebase содержатся только журналы аудита для ресурсов, которые находятся непосредственно внутри проекта.
Общий обзор журналов аудита в облаке см. в разделе «Обзор журналов аудита в облаке ». Для более подробного понимания формата журналов аудита см. раздел «Понимание журналов аудита» .
Доступные журналы аудита
Для Firebase App Hosting доступны следующие типы журналов аудита:
Журналы аудита активности администратора
Включает операции "административной записи", которые записывают метаданные или информацию о конфигурации.
Отключить журналы аудита активности администратора невозможно.
Журналы аудита доступа к данным
Включает операции «чтение администратором», которые считывают метаданные или информацию о конфигурации. Также включает операции «чтение данных» и «запись данных», которые считывают или записывают предоставленные пользователем данные.
Для получения журналов аудита доступа к данным необходимо явно включить эту функцию.
Более подробное описание типов журналов аудита см. в разделе «Типы журналов аудита» .
Проверенные операции
Ниже приведено краткое описание того, какие операции API соответствуют каждому типу журнала аудита в Firebase App Hosting:
| Тип разрешения | Методы |
|---|---|
ADMIN_READ | google.firebase.apphosting.v1alpha.AppHosting.GetBackendgoogle.firebase.apphosting.v1alpha.AppHosting.GetBuildgoogle.firebase.apphosting.v1alpha.AppHosting.GetRolloutgoogle.firebase.apphosting.v1alpha.AppHosting.GetTrafficgoogle.firebase.apphosting.v1alpha.AppHosting.ListBackendsgoogle.firebase.apphosting.v1alpha.AppHosting.ListBuildsgoogle.firebase.apphosting.v1alpha.AppHosting.ListDomainsgoogle.firebase.apphosting.v1alpha.AppHosting.ListRolloutsgoogle.firebase.apphosting.v1beta.AppHosting.GetBackendgoogle.firebase.apphosting.v1beta.AppHosting.GetBuildgoogle.firebase.apphosting.v1beta.AppHosting.GetDomaingoogle.firebase.apphosting.v1beta.AppHosting.GetTrafficgoogle.firebase.apphosting.v1beta.AppHosting.ListBackendsgoogle.firebase.apphosting.v1beta.AppHosting.ListBuildsgoogle.firebase.apphosting.v1beta.AppHosting.ListDomainsgoogle.firebase.apphosting.v1beta.AppHosting.ListRollouts |
ADMIN_WRITE | google.firebase.apphosting.v1alpha.AppHosting.CreateBackendgoogle.firebase.apphosting.v1alpha.AppHosting.CreateBuildgoogle.firebase.apphosting.v1alpha.AppHosting.CreateDomaingoogle.firebase.apphosting.v1alpha.AppHosting.CreateRolloutgoogle.firebase.apphosting.v1alpha.AppHosting.DeleteBackendgoogle.firebase.apphosting.v1alpha.AppHosting.DeleteBuildgoogle.firebase.apphosting.v1alpha.AppHosting.DeleteDomaingoogle.firebase.apphosting.v1alpha.AppHosting.UpdateBuildgoogle.firebase.apphosting.v1alpha.AppHosting.UpdateTrafficgoogle.firebase.apphosting.v1beta.AppHosting.CreateBackendgoogle.firebase.apphosting.v1beta.AppHosting.CreateBuildgoogle.firebase.apphosting.v1beta.AppHosting.CreateDomaingoogle.firebase.apphosting.v1beta.AppHosting.CreateRolloutgoogle.firebase.apphosting.v1beta.AppHosting.DeleteBackendgoogle.firebase.apphosting.v1beta.AppHosting.DeleteBuildgoogle.firebase.apphosting.v1beta.AppHosting.DeleteDomaingoogle.firebase.apphosting.v1beta.AppHosting.UpdateBackendgoogle.firebase.apphosting.v1beta.AppHosting.UpdateDomaingoogle.firebase.apphosting.v1beta.AppHosting.UpdateTraffic |
формат журнала аудита
В записи журнала аудита включены следующие объекты:
Сама запись в журнале представляет собой объект типа
LogEntry. Полезные поля включают следующее:-
logNameсодержит идентификатор ресурса и тип журнала аудита. - Данный
resourceсодержит информацию о цели проверяемой операции. -
timestampсодержит время проведения проверяемой операции. - В
protoPayloadсодержится проверенная информация.
-
Данные аудита, представляющие собой объект
AuditLog, хранящийся в полеprotoPayloadзаписи журнала.Дополнительная информация для аудита, специфичная для конкретной службы, представляет собой объект, специфичный для данной службы. В более старых интеграциях этот объект хранится в поле
serviceDataобъектаAuditLog; в более новых интеграциях используется полеmetadata.
Для получения информации о других полях этих объектов и способах их интерпретации см. раздел «Понимание журналов аудита» .
Имя журнала
Названия ресурсов Cloud Audit Logs указывают на проект Firebase или другую сущность Google Cloud , которой принадлежат журналы аудита, а также на то, содержит ли журнал данные аудита об активности администратора, доступе к данным, отказе в применении политики или системных событиях. Например, ниже показаны названия журналов аудита активности администратора на уровне проекта и журналов аудита доступа к данным организации. Переменные обозначают идентификаторы проекта Firebase и организации.
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
Название услуги
В журналах аудита Firebase App Hosting используется имя службы firebaseapphosting.googleapis.com .
Полный список всех названий служб Cloud Logging API и соответствующих им типов отслеживаемых ресурсов см. в разделе «Сопоставление служб с ресурсами» .
Типы ресурсов
В журналах аудита Firebase App Hosting используется тип ресурса 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.
Консоль
С помощью инструмента «Обозреватель журналов» в консоли Google Cloud вы можете получить доступ к записям аудита для вашего проекта, папки или организации Firebase:
В консоли Google Cloud перейдите на страницу «Ведение журналов» > «Проводник журналов» .
На странице «Проводник журналов» выберите существующий проект Firebase, папку или организацию.
В панели построителя запросов выполните следующие действия:
В поле «Тип ресурса» выберите ресурс Google Cloud , журналы аудита которого вы хотите просмотреть.
В поле «Имя журнала» выберите тип журнала аудита, который вы хотите просмотреть:
- Для просмотра журналов аудита действий администратора выберите пункт «Действия» .
- Для просмотра журналов аудита доступа к данным выберите data_access .
- Для просмотра журналов аудита системных событий выберите system_event .
- Для просмотра журналов аудита отказов в применении политики выберите раздел «Политика» .
Если вы не видите эти параметры, значит, в проекте, папке или организации Firebase отсутствуют журналы аудита такого типа.
Для получения более подробной информации о выполнении запросов с помощью Logs Explorer см. раздел «Создание запросов к журналам» .
gcloud
Инструмент командной строки gcloud предоставляет интерфейс командной строки для доступа к API Cloud Logging. В каждом из имен файлов журналов укажите действительный 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» .