Управление трейлом
Вы можете изменять объект назначения, типы собираемых событий, области сбора аудитных логов и другие настройки трейла, а также удалять его.
Изменить трейл
Чтобы изменить трейл:
- В консоли управления
выберите каталог, в котором находится трейл. - Перейдите в сервис Audit Trails.
- В строке с нужным трейлом нажмите значок
и выберите Редактировать. - Измените параметры трейла. Список настроек трейла, которые можно изменить, см. в разделе Настройки трейла.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Посмотрите описание команды CLI для изменения трейла, чтобы получить подробную информацию о доступных аргументах:
yc audit-trails trail update --help
Трейл можно изменить, указав его параметры одним из двух способов:
В YAML-спецификации:
Создайте YAML-спецификацию, содержащую обновленные параметры трейла, и укажите этот файл в команде для создания трейла.
Этот способ упрощает работу с параметрами трейла и снижает вероятность ошибки. Кроме того, настроить регистрацию событий уровня сервисов можно только с помощью YAML-спецификации.
-
Создайте YAML-спецификацию с обновленной конфигурацией трейла.
-
Чтобы изменить трейл, выполните команду:
yc audit-trails trail update --file <путь_к_файлу>
В аргументах команды:
Используйте этот способ, если конфигурация трейла простая и содержит небольшое количество параметров.
Примечание
Настроить регистрацию событий уровня сервисов можно только с помощью YAML-спецификации.
Чтобы изменить трейл, выполните команду:
yc audit-trails trail update \
--name <имя_трейла> \
--new-name <новое_имя_трейла> \
--description <описание_трейла> \
--labels <список_меток> \
--service-account-id <идентификатор_сервисного_аккаунта> \
--destination-bucket <имя_бакета> \
--destination-bucket-object-prefix <префикс_для_объектов> \
--destination-log-group-id <идентификатор_лог_группы> \
--destination-yds-stream <имя_потока_данных_YDS> \
--destination-yds-database-id <идентификатор_базы_данных_YDS> \
--destination-yds-codec <метод_сжатия_событий> \
--filter-all-folder-id <идентификатор_каталога> \
--filter-all-cloud-id <идентификатор_облака> \
--filter-all-organisation-id <идентификатор_организации> \
--filter-some-folder-ids <список_каталогов_в_облаке> \
--filter-from-cloud-id <идентификатор_облака_с_выбранными_каталогами> \
--filter-some-cloud-ids <список_облаков_в_организации> \
--filter-from-organisation-id <идентификатор_организации_с_выбранными_облаками>
Где:
--name— имя трейла, который требуется изменить. Вместо имени можно передать идентификатор трейла в параметре--id.--new-name— новое имя трейла. Имя должно быть уникальным в рамках каталога. Необязательный параметр.
-
--description— описание трейла. Необязательный параметр. -
--labels— список меток. Необязательный параметр. Можно указать одну или несколько меток через запятую в формате<ключ1>=<значение1>,<ключ2>=<значение2>. -
--service-account-id— идентификатор сервисного аккаунта. -
--destination-bucket— имя бакета Yandex Object Storage, в который будут загружаться аудитные логи.С этим параметром нельзя использовать параметры
--destination-log-group-id,--destination-yds-streamи--destination-eventrouter-connector-id. -
--destination-bucket-object-prefix— префикс, который будет присвоен объектам с аудитными логами в бакете. Необязательный параметр, участвует в полном имени файла аудитного лога.Примечание
Используйте префикс, если вы храните аудитные логи и сторонние данные в одном и том же бакете. Не используйте одинаковый префикс для логов и других объектов в бакете, так как в этом случае логи и сторонние объекты могут перезаписать друг друга.
-
--destination-log-group-id— идентификатор лог-группы Yandex Cloud Logging, в которую будут загружаться аудитные логи.С этим параметром нельзя использовать параметры
--destination-bucket,--destination-yds-streamи--destination-eventrouter-connector-id. -
--destination-yds-stream— имя потока данных Yandex Data Streams, в который будут загружаться аудитные логи.С этим параметром нельзя использовать параметры
--destination-bucket,--destination-log-group-idи--destination-eventrouter-connector-id. -
--destination-yds-database-id— идентификатор базы данных YDB, которая используется потоком данных Data Streams. -
--destination-yds-codec— метод сжатия событий при записи в поток данных Data Streams. Возможные значения:RAW(без сжатия, по умолчанию),GZIP,ZSTD. Включайте сжатие, если ожидается поток событий более 1 МБ/с. -
--destination-eventrouter-connector-id— идентификатор коннектора шины EventRouter с типом источникаAudit Trails, в которую будут загружаться аудитные логи.С этим параметром нельзя использовать параметры
--destination-bucket,--destination-log-group-idи--destination-yds-stream. -
--filter-all-folder-id— идентификатор каталога, для всех ресурсов которого будут регистрироваться события уровня конфигурации. -
--filter-all-cloud-id— идентификатор облака, для всех ресурсов которого будут регистрироваться события уровня конфигурации. -
--filter-all-organisation-id— идентификатор организации, для всех ресурсов которой будут регистрироваться события уровня конфигурации. -
--filter-some-folder-ids— список идентификаторов каталогов, для всех ресурсов которых будут регистрироваться события уровня конфигурации в облаке, заданном в поле--filter-from-cloud-id.Параметр используется только в паре с параметром
--filter-from-cloud-id. -
--filter-from-cloud-id— идентификатор облака, в котором находятся каталоги, заданные в параметре--filter-some-folder-ids.Параметр используется только в паре с параметром
--filter-some-folder-ids. -
--filter-some-cloud-ids— список идентификаторов облаков, для всех ресурсов которых будут регистрироваться события уровня конфигурации в организации, заданной в поле--filter-from-organisation-id.Параметр используется только в паре с параметром
--filter-from-organisation-id. -
--filter-from-organisation-id— идентификатор организации, в которой находятся облака, заданные в параметре--filter-some-folder-ids.Параметр используется только в паре с параметром
--filter-some-cloud-ids.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Чтобы изменить трейл, созданный с помощью Terraform, откройте файл конфигурации Terraform и измените фрагмент с описанием трейла:
resource "yandex_audit_trails_trail" "basic_trail" { name = "<имя_трейла>" folder_id = "<идентификатор_каталога>" description = "<описание_трейла>" labels = { key = "value" } service_account_id = "<идентификатор_сервисного_аккаунта>" # Должно быть указано только одно место назначения: # storage_destination , logging_destination, data_stream_destination # Настройки для всех мест назначения приведены для иллюстрации logging_destination { log_group_id = "<идентификатор_лог-группы>" } storage_destination { bucket_name = "<идентификатор_бакета>" object_prefix = "<префикс>" } data_stream_destination { database_id = "<идентификатор_базы_данных_YDS>" stream_name = "<имя_потока_данных_YDS>" codec = "<метод_сжатия_событий>" } # Настройки политики фильтрации filtering_policy { management_events_filter { resource_scope { resource_id = "<идентификатор_организации>" resource_type = "organization-manager.organization" } } data_events_filter { service = "<сервис>" included_events = ["<тип_событий_сервиса>","<тип_событий_сервиса_2>"] resource_scope { resource_id = "<идентификатор_облака>" resource_type = "resource-manager.cloud" } resource_scope { resource_id = "<идентификатор_каталога>" resource_type = "resource-manager.folder" } } data_events_filter { service = "<сервис_2>" resource_scope { resource_id = "<идентификатор_облака_2>" resource_type = "resource-manager.cloud" } resource_scope { resource_id = "<идентификатор_облака_3>" resource_type = "resource-manager.cloud" } } data_events_filter { service = "<сервис_3>" resource_scope { resource_id = "<идентификатор_каталога_2>" resource_type = "resource-manager.folder" } resource_scope { resource_id = "<идентификатор_каталога_3>" resource_type = "resource-manager.folder" } } } }Где:
-
name— имя создаваемого трейла. Требования к формату имени:- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
folder_id— идентификатор каталога, в котором создается трейл. -
description— описание трейла, которое позволит отличать его от других трейлов. НапримерMy very first trail. Необязательный параметр. -
labels— список меток в форматеключ=значение. Необязательный параметр. -
service_account_id— идентификатор сервисного аккаунта, от имени которого трейл будет загружать файлы аудитного лога в бакет.В зависимости от области сбора аудитных логов, сервисному аккаунту должна быть назначена роль
audit-trails.viewerна организацию, облако или каталог, в которых трейл будет собирать аудитные логи.
Важно
Должно быть указано только одно место назначения:
storage_destination,logging_destinationилиdata_stream_destination.-
logging_destination— загружать логи в лог-группу Yandex Cloud Logging.log_group_id— идентификатор лог-группы, в которую трейл будет сохранять аудитные логи.
-
storage_destination— загружать логи в бакет Yandex Object Storage:-
bucket_name— имя бакета, куда трейл будет сохранять аудитные логи. -
object_prefix— префикс, который будет присвоен объектам с аудитными логами в бакете. Необязательный параметр, участвует в полном имени файла аудитного лога.Примечание
Используйте префикс, если вы храните аудитные логи и сторонние данные в одном и том же бакете. Не используйте одинаковый префикс для логов и других объектов в бакете, так как в этом случае логи и сторонние объекты могут перезаписать друг друга.
-
-
data_stream_destination— загружать логи в поток данных Yandex Data Streams:stream_name— имя потока данных, в который трейл будет сохранять аудитные логи.database_id— идентификатор базы данных Yandex Managed Service for YDB, которая используется потоком данных Data Streams.codec— метод сжатия событий при записи в поток данных Data Streams. Возможные значения:RAW(без сжатия, по умолчанию),GZIP,ZSTD. Включайте сжатие, если ожидается поток событий более 1 МБ/с.
-
filtering_policy— настройки политики фильтрации, которая определяет, какие события будут собираться и попадут в аудитные логи. Политика состоит из набора фильтров, которые относятся к разным уровням событий. Содержит объектыmanagement_events_filterиdata_events_filters.-
management_events_filter— фильтр событий уровня конфигурации. -
resource_scopes— область сбора логов. Можно комбинировать в одном параметреresource_scopesнесколько областей, которые принадлежат одной организации. Например, собирать логи из одного облака целиком, а из другого — только из определенных каталогов. Права сервисного аккаунта должны позволять сбор логов из указанных областей.-
resource_id— идентификатор ресурса, для ресурсов которого будут собираться аудитные логи. В зависимости от области сбора аудитных логов укажите в этом параметре идентификатор организации или идентификатор облака. -
resource_type— тип области согласно указанному идентификатору:organization-manager.organization— организация;resource-manager.cloud— облако;resource-manager.folder— каталог.
-
-
data_events_filters— фильтры событий уровня сервисов. Можно настроить несколько фильтров такого типа — по одному для каждого сервиса. Фильтр для одного сервиса имеет следующую структуру:service— имя сервиса, в котором трейл будет обрабатывать события. Его можно получить в справочнике событий уровня сервисов).resource_scopes— места, откуда собирать события уровня сервисов. Этот параметр настраивается аналогично фильтру событий уровня конфигурации.included_events— собирать только указанные события. Необязательный параметр. Если не указать, то будут собираться все события. Вместоincluded_eventsможно указатьexcluded_events— собирать все события, кроме указанных. Эти параметры — взаимоисключающие.
Полный перечень событий можно получить в справочнике событий уровня сервисов.
-
Более подробную информацию о параметрах ресурса
yandex_audit_trails_trailв Terraform см. в документации провайдера. -
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
или с помощью команды CLI:yc audit-trails trail get <имя_трейла> -
Чтобы изменить трейл, воспользуйтесь методом REST API update для ресурса Trail или вызовом gRPC API TrailService/Update.
Чтобы упростить создание спецификации трейла, вы можете получить параметры трейла с помощью метода REST API get для ресурса Trail или вызова gRPC API TrailService/Get.
Удалить трейл
Чтобы удалить трейл:
- В консоли управления
выберите каталог, в котором находится трейл. - Перейдите в сервис Audit Trails.
- В строке с нужным трейлом нажмите значок
и выберите Удалить. - В открывшемся окне подтвердите удаление.
Чтобы удалить трейл, выполните команду:
yc audit-trails trail delete <имя_или_идентификатор_трейла>
Чтобы узнать имена и идентификаторы доступных трейлов, воспользуйтесь инструкцией.
Чтобы удалить трейл, созданный с помощью Terraform:
-
Откройте файл конфигурации Terraform и удалите секцию с описанием трейла.
Пример описания трейла в конфигурации Terraform:
resource "yandex_audit_trails_trail" "basic_trail" { name = "<имя_трейла>" folder_id = "<идентификатор_каталога>" description = "<описание_трейла>" labels = { key = "value" } service_account_id = "<идентификатор_сервисного_аккаунта>" # Должно быть указано только одно место назначения: # storage_destination , logging_destination, data_stream_destination # Настройки для всех мест назначения приведены для иллюстрации logging_destination { log_group_id = "<идентификатор_лог-группы>" } storage_destination { bucket_name = "<идентификатор_бакета>" object_prefix = "<префикс>" } data_stream_destination { database_id = "<идентификатор_базы_данных_YDS>" stream_name = "<имя_потока_данных_YDS>" codec = "<метод_сжатия_событий>" } # Настройки политики фильтрации filtering_policy { management_events_filter { resource_scope { resource_id = "<идентификатор_организации>" resource_type = "organization-manager.organization" } } data_events_filter { service = "<сервис>" included_events = ["<тип_событий_сервиса>","<тип_событий_сервиса_2>"] resource_scope { resource_id = "<идентификатор_облака>" resource_type = "resource-manager.cloud" } resource_scope { resource_id = "<идентификатор_каталога>" resource_type = "resource-manager.folder" } } data_events_filter { service = "<сервис_2>" resource_scope { resource_id = "<идентификатор_облака_2>" resource_type = "resource-manager.cloud" } resource_scope { resource_id = "<идентификатор_облака_3>" resource_type = "resource-manager.cloud" } } data_events_filter { service = "<сервис_3>" resource_scope { resource_id = "<идентификатор_каталога_2>" resource_type = "resource-manager.folder" } resource_scope { resource_id = "<идентификатор_каталога_3>" resource_type = "resource-manager.folder" } } } } -
В командной строке перейдите в папку, где расположен файл конфигурации Terraform.
-
Проверьте конфигурацию командой:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминал слово
yesи нажмите Enter. -
Чтобы убедиться в том, что трейл был удален, воспользуйтесь инструкцией.
Чтобы удалить трейл, воспользуйтесь методом REST API delete для ресурса Trail или вызовом gRPC API TrailService/Delete.