Управление трейлом
Вы можете изменять объект назначения, уровни собираемых событий, области сбора аудитных логов и другие настройки трейла, а также удалять его.
Изменить трейл
В фильтры событий уровня сервисов можно добавить условия по значениям полей через CLI, Terraform или API. При изменении политики фильтрации передавайте ее целиком, сохраняя остальные нужные фильтры.
Чтобы изменить трейл:
- В консоли управления
выберите каталог, в котором находится трейл. - Перейдите
в сервис 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-спецификацию на основе текущих настроек трейла и измените нужные параметры.
-
(Опционально) Дополните фильтр условиями по значениям полей для нужного сервиса. Для этого в элементе списка
filtering_policy.data_events_filtersзадайте правилаinclude_rules,exclude_rules. Примеры настройки фильтрации приведены в инструкции Создание трейла. -
Чтобы изменить трейл, выполните команду:
yc audit-trails trail update --file <путь_к_файлу>
В параметрах команды
Используйте этот способ, если конфигурация трейла простая и содержит небольшое количество параметров.
Примечание
Настроить регистрацию событий уровня сервисов можно только с помощью YAML-спецификации.
Укажите в команде только те параметры, которые хотите изменить. Например, чтобы изменить имя трейла, выполните команду:
yc audit-trails trail update \
--name <имя_трейла> \
--new-name <новое_имя_трейла>
Параметры команды:
--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-bucket-object-prefix— префикс, который будет присвоен объектам с аудитными логами в бакете. Необязательный параметр, участвует в полном имени файла аудитного лога.Примечание
Используйте префикс, если вы храните аудитные логи и сторонние данные в одном и том же бакете. Не используйте одинаковый префикс для логов и других объектов в бакете, так как в этом случае логи и сторонние объекты могут перезаписать друг друга.
-
--destination-log-group-id— идентификатор лог-группы Yandex Cloud Logging, в которую будут загружаться аудитные логи.С этим параметром нельзя использовать параметры
--destination-bucketи--destination-yds-stream. -
--destination-yds-stream— имя потока данных Yandex Data Streams, в который будут загружаться аудитные логи.С этим параметром нельзя использовать параметры
--destination-bucketи--destination-log-group-id. -
--destination-yds-database-id— идентификатор базы данных YDB, которая используется потоком данных Data Streams. -
--destination-yds-codec— метод сжатия событий при записи в поток данных Data Streams. Возможные значения:RAW(без сжатия, по умолчанию),GZIP,ZSTD. Включайте сжатие, если ожидается поток событий более 1 МБ/с. -
--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-cloud-ids.Параметр используется только в паре с параметром
--filter-some-cloud-ids.
Terraform
Terraform распространяется под лицензией Business Source License
Подробная информация о ресурсах провайдера в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
Чтобы изменить трейл, созданный с помощью Terraform, откройте файл конфигурации Terraform и измените фрагмент с описанием трейла:
resource "yandex_audit_trails_trail" "basic_trail" { name = "<имя_трейла>" folder_id = "<идентификатор_каталога>" description = "<описание_трейла>" labels = { key = "value" } service_account_id = "<идентификатор_сервисного_аккаунта>" storage_destination { bucket_name = "<имя_бакета>" object_prefix = "<префикс>" } filtering_policy { management_events_filter { resource_scope { resource_id = "<идентификатор_организации_облака_или_каталога>" resource_type = "<тип>" } } data_events_filter { service = "<имя_сервиса>" included_events = ["<полное_имя_события>"] resource_scope { resource_id = "<идентификатор_организации_облака_или_каталога>" resource_type = "<тип>" } } } }Где:
-
name— имя создаваемого трейла. Требования к формату имени:- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
folder_id— идентификатор каталога, в котором создается трейл. -
description— описание трейла. Необязательный параметр. -
labels— список меток в форматеключ=значение. Необязательный параметр. -
service_account_id— идентификатор сервисного аккаунта, от имени которого трейл собирает и загружает аудитные логи.В зависимости от области сбора аудитных логов сервисному аккаунту должна быть назначена роль
audit-trails.viewerна организацию, облако или каталог, в которых трейл будет собирать аудитные логи.
Укажите только один объект назначения:
storage_destination,logging_destinationилиdata_stream_destination.-
logging_destination— загружать логи в лог-группу Yandex Cloud Logging.Замените блок
storage_destinationв шаблоне:logging_destination { log_group_id = "<идентификатор_лог_группы>" }log_group_id— идентификатор лог-группы, в которую трейл будет сохранять аудитные логи.
-
storage_destination— загружать логи в бакет Yandex Object Storage:-
bucket_name— имя бакета, куда трейл будет сохранять аудитные логи. -
object_prefix— префикс, который будет присвоен объектам с аудитными логами в бакете. Необязательный параметр, участвует в полном имени файла аудитного лога.Примечание
Используйте префикс, если вы храните аудитные логи и сторонние данные в одном и том же бакете. Не используйте одинаковый префикс для логов и других объектов в бакете, так как в этом случае логи и сторонние объекты могут перезаписать друг друга.
-
-
data_stream_destination— загружать логи в поток данных Yandex Data Streams:Замените блок
storage_destinationв шаблоне:data_stream_destination { database_id = "<идентификатор_базы_данных>" stream_name = "<имя_потока_данных>" codec = "RAW" }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_filter.-
management_events_filter— фильтр событий уровня конфигурации.-
resource_scope— область сбора логов. Можно указать несколько блоковresource_scopeдля областей, которые принадлежат одной организации. Например, собирать логи из одного облака целиком, а из другого — только из определенных каталогов. Права сервисного аккаунта должны позволять сбор логов из указанных областей.-
resource_id— идентификатор области сбора: организации, облака или каталога. -
resource_type— тип области согласно указанному идентификатору:organization-manager.organization— организация;resource-manager.cloud— облако;resource-manager.folder— каталог.
-
-
-
data_events_filter— фильтр событий уровня сервисов. Можно настроить несколько фильтров такого типа — по одному для каждого сервиса. Фильтр для одного сервиса имеет следующую структуру:-
service— имя сервиса, в котором трейл будет обрабатывать события. Его можно получить в справочнике событий уровня сервисов. -
resource_scope— места, откуда собирать события уровня сервисов. Этот блок настраивается аналогично фильтру событий уровня конфигурации. -
included_events— полные имена событий для сбора. Вместо него можно указатьexcluded_events— полные имена событий для исключения. Эти параметры взаимоисключающие. Если оба не заданы, отбор не ограничивается именами событий.Используйте полное имя из поля
event_typeаудитного лога. Например, событиюCreateIamTokenиз справочника соответствуетyandex.cloud.audit.iam.CreateIamToken. -
include_ruleиexclude_rule— необязательные правила с условиями по значениям полей. Действуют вместе с выбором событий по именам.
-
-
Подробнее о параметрах ресурса
yandex_audit_trails_trailв документации провайдера. -
-
(Опционально) Дополните фильтр условиями по значениям полей для нужного сервиса. Для этого в блоке
filtering_policy.data_events_filterзадайте правилаinclude_rule,exclude_rule. Используйте провайдер Yandex Cloud версии 0.225.0 или выше. Примеры настройки фильтрации приведены в инструкции Создание трейла. -
Примените изменения:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Проверьте настройки трейла в консоли управления
или с помощью команды CLI:yc audit-trails trail get <имя_трейла> -
-
Аутентифицируйтесь в API и получите настройки трейла методом REST API get или вызовом gRPC API TrailService/Get.
-
Измените нужные параметры трейла.
-
(Опционально) Дополните фильтр условиями по значениям полей для нужного сервиса. Для этого в запросе REST API в элементе списка
filteringPolicy.dataEventsFiltersзадайте правилаincludeRules,excludeRules. В gRPC API используйтеfiltering_policy.data_events_filters,include_rulesиexclude_rules. Пример настройки фильтрации приведен в инструкции Создание трейла. -
Обновите трейл методом REST API update для ресурса Trail или вызовом gRPC API TrailService/Update. Передайте идентификатор трейла, обновленные параметры и маску изменений.
Если меняете политику фильтрации, включите
filteringPolicyвupdateMaskдля REST API илиfiltering_policyвupdate_mask.pathsдля gRPC API.
Примеры фильтров из инструкции по созданию трейла подходят и для изменения трейла.
Удалить трейл
Чтобы удалить трейл:
- В консоли управления
выберите каталог, в котором находится трейл. - Перейдите
в сервис 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 { bucket_name = "<имя_бакета>" object_prefix = "<префикс>" } filtering_policy { management_events_filter { resource_scope { resource_id = "<идентификатор_организации_облака_или_каталога>" resource_type = "<тип>" } } data_events_filter { service = "<имя_сервиса>" included_events = ["<полное_имя_события>"] resource_scope { resource_id = "<идентификатор_организации_облака_или_каталога>" resource_type = "<тип>" } } } } -
В командной строке перейдите в папку, где расположен файл конфигурации Terraform.
-
Проверьте конфигурацию командой:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминал слово
yesи нажмите Enter. -
Чтобы убедиться в том, что трейл был удален, воспользуйтесь инструкцией.
Чтобы удалить трейл, воспользуйтесь методом REST API delete для ресурса Trail или вызовом gRPC API TrailService/Delete.