Подготовка спецификации трейла
Вы можете создавать и обновлять трейлы с помощью YAML-спецификации через CLI. Для создания нового трейла сформируйте спецификацию из вывода команды get похожего трейла. Для обновления существующего — возьмите за основу вывод команды get этого же трейла.
Совет
Для создания и управления несколькими трейлами рекомендуем использовать Terraform
Подготовить спецификацию для трейла
-
Получите информацию о трейле, который будете изменять, либо использовать как основу для нового:
yc audit-trails trail get <имя_или_идентификатор_трейла>Результат:
id: cnpmhbf7gsq3******** folder_id: b1g681qpemb4******** created_at: "2026-02-13T20:32:52.357Z" updated_at: "2026-02-13T20:32:52.357Z" name: create-me destination: object_storage: bucket_id: recreate-trails service_account_id: ajelprpohp7r******** status: ACTIVE cloud_id: b1gia87mbaom******** filtering_policy: management_events_filter: resource_scopes: - id: b1g681qpemb4******** type: resource-manager.folder data_events_filters: - service: compute resource_scopes: - id: b1g681qpemb4******** type: resource-manager.folder -
Сохраните полученную информацию в файл, например
my-trail-spec.yaml. -
При изменении трейла переименуйте поле
idвtrail_id. -
Удалите поля:
folder_id(только при изменении трейла)created_atupdated_atstatuscloud_id
-
(Опционально) Удалите устаревшие блоки, если они есть:
filterpath_filterevent_filter
-
Обновите нужные параметры трейла.
Описание параметров трейла
name: <имя_трейла> folder_id: <идентификатор_каталога> destination: object_storage: bucket_id: <имя_бакета> object_prefix: <префикс_для_объектов> service_account_id: <идентификатор_сервисного_аккаунта> filtering_policy: management_events_filter: resource_scopes: - id: <идентификатор_организации_облака_или_каталога> type: <тип> data_events_filters: - service: <имя_сервиса> resource_scopes: - id: <идентификатор_организации_облака_или_каталога> type: <тип> included_events: event_types: - <полное_имя_события>Где:
name— имя трейла. Оно должно быть уникальным в рамках каталога.folder_id— идентификатор каталога, в котором будет размещен трейл.
-
destination— настройки выбранного места назначения, куда будут загружаться аудитные логи.Важно
Настройки мест назначения взаимоисключающие. Использование одних настроек делает невозможным использование других.
-
object_storage— загружать логи в бакет Yandex Object Storage:-
bucket_id— имя бакета.Имя бакета можно запросить со списком бакетов в каталоге (используется каталог по умолчанию):
yc storage bucket list -
object_prefix— префикс, который будет присвоен объектам с аудитными логами в бакете. Необязательный параметр, участвует в полном имени файла аудитного лога.Примечание
Используйте префикс, если вы храните аудитные логи и сторонние данные в одном и том же бакете. Не используйте одинаковый префикс для логов и других объектов в бакете, так как в этом случае логи и сторонние объекты могут перезаписать друг друга.
-
-
cloud_logging— загружать логи в лог-группу Yandex Cloud Logging.В параметре
log_group_idукажите идентификатор лог-группы. Идентификатор можно запросить со списком лог-групп в каталоге. -
data_stream— загружать логи в поток данных Yandex Data Streams:stream_name— имя потока данных. Имя можно запросить со списком потоков данных в каталоге.database_id— идентификатор базы данных YDB, которая используется потоком данных Data Streams. Идентификатор можно запросить со списком баз данных YDB в каталоге.
-
-
service_account_id— идентификатор сервисного аккаунта.
-
filtering_policy— настройки политики фильтрации, которая определяет, какие события будут собираться и попадут в аудитные логи. Политика состоит из набора фильтров, которые относятся к разным уровням событий.Важно
Для политики обязательно должен быть настроен хотя бы один фильтр, иначе не получится создать трейл.
Доступные фильтры:
-
management_events_filter— фильтр событий уровня конфигурации.Укажите область сбора логов в параметре
resource_scopes:-
id— идентификатор организации, облака или каталога. -
type— тип области согласно указанному идентификатору:organization-manager.organization— организация;resource-manager.cloud— облако;resource-manager.folder— каталог.
Можно комбинировать в одном параметре
resource_scopesнесколько областей, которые принадлежат одной организации. Например, собирать логи из одного облака целиком, а из другого — только из определенных каталогов:resource_scopes: # Сбор логов из облака 1 целиком - id: <идентификатор_облака_1> type: resource-manager.cloud # Сбор логов из каталога 1 облака 2 - id: <идентификатор_каталога_1> type: resource-manager.folder # Сбор логов из каталога 2 облака 2 - id: <идентификатор_каталога_2> type: resource-manager.folderПрава сервисного аккаунта должны позволять сбор логов из указанных областей.
-
-
data_events_filters— фильтры событий уровня сервисов. Можно настроить несколько фильтров такого типа — по одному для каждого сервиса.Фильтр для одного сервиса имеет следующую структуру:
-
service— имя сервиса. Его можно получить в справочнике событий уровня сервисов. -
resource_scopes— места, откуда собирать события уровня сервисов. Этот параметр настраивается аналогично фильтру событий уровня конфигурации. -
*_events— полные имена событий для сбора или исключения:included_events.event_types— собирать только указанные события.excluded_events.event_types— собирать все события, кроме указанных.
Для исключения событий замените блок
included_eventsв шаблоне:excluded_events: event_types: - <полное_имя_события>Используйте полное имя из поля
event_typeаудитного лога. Например, событиюCreateIamTokenиз справочника соответствуетyandex.cloud.audit.iam.CreateIamToken.
Важно
Для фильтров по именам событий блоки
included_eventsиexcluded_eventsвзаимоисключающие. Если они не заполнены, записываются все события. В том же фильтре можно дополнительно задать условия по значениям полей. -
-
-
Сохраните изменения в файле.