Actions API
В результате выполнения поискового запроса могут быть настроены активные действия. Активные действия создаются в контексте создания задачи.
Отправка E-mail
Отправляет сообщение по указанному адресу. Название элемента в массиве активных действий: email.
| Название | Синтаксис | Описание |
|---|---|---|
| to | <string> | Адрес получателя. |
| recipient_group_id | <string> | ID группы получателей. (Подробнее Recipient Groups). |
| smtp_id | <string> | ID настроек smtp_id (Подробнее SMTP). |
| subject | <string> | Тема письма. |
| body | <string> | Тело письма. |
| html | <bool> | Записано тело в формате html или нет. |
| sign | <string> | Подпись письма. |
| enable_time | <bool> | Добавление времени отправки письма. |
| enable_table | <bool> | Добавление таблицы с результатом поиска в тело письма. |
| send_file | <bool> | Добавление файла с результатом поиска в тело письма. |
| file_name | <string> | Название файла, которое прикрепляется к письму. |
| file_type | <string> | Тип файла. Может принимать значения такие значения: json, csv, xls. |
| is_once | <bool> | Запуск активного действия для результатов всего запроса или для каждого результата отдельно. |
В случае если в Mail Action не указан smtp_id, то настройки отправителя будут браться из индекса .sm_settings.
В случае если Mail Action не указан в параметр recipient_group_id, то получатель будет выступать пользователь,
указанный в параметре
to.
В случае если письмо не отправляется, необходимо проверить разрешения записи SMTP, Recipient Groups и Recipient, входящих в группу. Если, у какой-то записи отсутствует роль "all_access" в правах на чтении, то необходимо ее добавить
POST {index_name}/_update/{record_id}
{
"doc": {
"_permissions": {
"read": {
"roles": [
"all_access"
],
"users": []
},
"write": {
"roles": [],
"users": []
},
"owner": "admin"
}
}
}
Incident Action
Создание инцидента в модуле Менеджер инцидентов. Название элемента в массиве активных действий: incident.
| Название | Синтаксис | Описание |
|---|---|---|
| drilldown_type | <string> | Тип детализации. Принимает значение link и search |
| drilldown_context | <string> | Контекст детализации. |
| incident_title | <string> | Заголовок инцидента. |
| incident_description | <string> | Описание инцидента. |
| incident_type | <string> | Тип инцидента. Принимает значение default, metric, scoring. |
| severity | <int> | Критичность. |
| line | <string> | Линия. |
| status | <string> | Статус. |
| log | <string> | Лог. |
| fields | <object> | Объект, где ключ - старое название из результата поиска, значение - новое название для поля из результата поиска. |
| custom_fields | <object> | Пользовательские поля в формате ключ - значение. |
| custom_fields_s | <string> | Пользовательские поля в формате ключ - значение, но представлен в виде строки. |
| workflow_id | <string> | ID workflow. |
Index Event Action
Позволяет записывать результат выполнения запроса в индекс. Название элемента в массиве активных
действий: index_events.
| Название | Синтаксис | Описание |
|---|---|---|
| index_name | <string> | Индекс, в который происходит запись результатов поиска. |
| update_doc | <bool> | Обновление документа при каждом выполнении запроса вместо создания нового. |
| is_once | <bool> | Запуск активного действия для результатов всего запроса или для каждого результата отдельно. |
Запись в БД
Позволяет записывать результаты выполнения запроса во внешние базы данных. Название элемента в массиве активных
действий: jdbc_output.
| Название | Синтаксис | Описание |
|---|---|---|
| user_id | <string> | ID пользователя базы данных (Подробнее JDBC User). |
| connection_id | <string> | ID соединения (Подробнее Connection). |
| table_name | <string> | Название таблицы. |
Job Action
Осуществляет запуск задачи. Название элемента в массиве активных действий: job.
| Название | Синтаксис | Описание |
|---|---|---|
| running_job_id | <string> | ID задачи. |
Создание задачи, которая содержит Job Action, активирующий текущую задачу, не будет произведено.
Логирование событий
Записывает результаты поискового запроса в файл job_scheduler.log компонента Планировщик задач. Название элемента в
массиве активных действий: log_event.
Дополнительные поля отсутствуют.
Metric Action
Расчет метрик в РСМ. Название элемента в массиве активных действий: metric.
| Название | Синтаксис | Описание |
|---|---|---|
| metric_name | <string> | Название метрики. |
| object | <string> | Объект, по которому осуществляется разбиение. |
| is_once | <bool> | Запуск активного действия для результатов всего запроса или для каждого результата отдельно. |
MITRE ATT&CK Action
Позволяет тегировать события как срабатывания техник и подтехник базы MITRE ATT&CK® с последующей записью событий в
индекс. Название элемента в массиве активных действий: mitre.
| Название | Синтаксис | Описание |
|---|---|---|
| name | <string> | Название активного действия. |
| rule | <string> | Правило. |
| layers | <array> | Список слоев. Каждый слой представляет собой строку. |
| techniqueId | <array> | Список ID техник. Каждая техника представляет собой строку. |
| severity | <string> | Критичность. |
| custom_fields | <object> | Пользовательские поля в формате ключ - значение. |
MITRE ATT&CK RISK Action
Позволяет фиксировать риск-балл в сработке. Название элемента в массиве активных действий: risk.
| Название | Синтаксис | Описание |
|---|---|---|
| name | <string> | Название активной задачи. |
| index_fields | <object> | поля индекса. |
Index Fields
| Название | Синтаксис | Описание |
|---|---|---|
| fidelity | <string> | Точность. может принимать значения high(1), medium(0.75), low(0.5). |
| score | <string> | Балл. |
Кроме того, пользователь может создавать свои поля внутри Index Fields.
Scoring Action
Позволяет фиксировать риск-балл в сработке. Название элемента в массиве активных действий: scoring.
| Название | Синтаксис | Описание |
|---|---|---|
| type_id | <string> | ID типа из индекса .sm_scoring_types |
| type_name | <string> | Название типа скоринга. |
| index_name | <string> | Название индекса, в которое будет осуществляться сохранение результат Scoring Action |
| type_fields | <object> | Поля, связанные с выбранным типом. |
| uba_fields | <object> | Поля связанные с UBA. |
| custom_fields | <object> | Пользовательские поля в формате ключ - значение. |
| local_params | <object> | Локальные параметры в формате ключ - значение. |
| score | <int> | Балл. |
UBA Fields
| Название | Синтаксис | Описание |
|---|---|---|
| object | <string> | Объект UBA. |
| type | <string> | ID типа объекта UBA из индекса .sm_uba_types_configs. |
| validity_period | <string> | Срок жизни. Например, 5h. |
Script Action
Позволяет запускать имеющийся на сервере скрипт. Название элемента в массиве активных действий: script.
| Название | Синтаксис | Описание |
|---|---|---|
| context | <string> | Утилита, что выполняет скрипт и абсолютный путь до файла со скриптом. |
Пример context
/app/opensearch/utils/python/bin/python3 /app/opensearch/utils/scripts/example.py
Вебхук
Позволяет выполнять HTTP-запросы к удаленному серверу. Название элемента в массиве активных действий: Вебхук.
| Название | Синтаксис | Описание |
|---|---|---|
| host | <string> | Хост получателя. |
| port | <int> | Порт получателя. |
| scheme | <string> | Протокол передачи. Может быть http, https. |
| request_action | <string> | Http-метод. Принимает значения POST, GET, PUT и DELETE. |
| request | <string> | путь. |
| body_type | <string> | Тип тела. Может принимать значения none, custom, result. |
| custom_body | <string> | Пользовательское тело. Отправляется в случае, если body_type = custom. |
| user | <string> | Имя пользователя. Необходимо для авторизации. |
| password_id | <string> | Ключ в keystore с префиксом jobscheduler.webhook.password., в котором хранится пароль для Basic Auth |
| headers | <object> | Http-заголовки. Ключ - название заголовка, значение - значение заголовка. |
| params | <object> | Query параметры. Ключ - название параметра, значение - значение заголовка. |
| trust_store_password | <string> | Ключ в keystore с префиксом jobscheduler.truststore.password., в котором хранится пароль, необходимый для получения информации о сертификата из файла. |
| trust_store_path | <string> | Путь до файла .jks файла, в котором хранится информация о сертификате. |
| trust_store_verifier | <string> | Проверка соответствия имени хоста URL имени сервера во время установки SSL-соединения. |
| trust_self_signed_strategy | <bool> | Доверие к самоподписанным сертификатам. |
| trust_store_protocol | <string> | Протокол подключения. Например, SSL или TLS. |
trust_store_verifier на данный момент принимает только одно значение: default_hostname_verifier. Если не указывать
значение trust_store_verifier, то проверка не будет осуществляться