PUT /xdr/api/v1/aggregator/<tenantID>/rules/
Заменяет правила агрегации на новые для указанного тенанта.
Чтобы отредактировать правила агрегации для тенанта:
Параметры запроса
Имя |
Тип данных |
Обязательное ли поле |
Описание |
Пример значения |
tenantID |
Строка |
Да |
Идентификатор тенанта. Если указано несколько значений, формируется список, к которому применяется логический оператор ИЛИ. Если у пользователя нет права Чтение для указанного тенанта, запрос не выполняется. |
00000000-0000-0000-0000-000000000000 |
Тело запроса
Формат: JSON
Массив правил.
[ {"TenantID":"{tenantID}", "ID":"2", "Name": "changedName", "Priority": 1, ...}, {"TenantID":"{tenantID}", "ID":"3", "Name": "name3", "Priority": 2, ...} ] |
Имя |
Тип данных |
Обязательное ли поле |
Описание |
Пример значения |
id |
Строка |
Нет |
Идентификатор правила (UUID). Идентификатор правила по умолчанию 8e5405a7-6740-471f-a15d-9f9414974060 |
00000000-0000-0000-0000-000000000000 |
name |
Строка |
Да |
Название правила. |
Rule1 |
description |
Строка |
Нет |
Описание правила. |
Агрегировать по pentest user name |
tenantID |
Строка |
Да |
Идентификатор тенанта (UUID). |
00000000-0000-0000-0000-000000000000 |
enabled |
Логическое значение |
Да |
Включено ли правило. |
Да |
trigger |
Строка |
Да |
Триггер правила. Выражение jq, возвращает логическое значение. |
any(.Observables[]? | select(.Type == "username") | .Value; . == "Alice" or . == "Bob") |
aggregationID |
Строка |
Да |
Идентификатор правила, по которому алерты будут объединяться. Выражение jq, возвращает строковое значение. |
PentestByUserName |
alertName |
Строка |
Да |
Название алерта. Выражение jq, возвращает строковое значение. В приведенном примере имя правила взято из первого созданного события. Название алерта не зависит от событий, которые создаются после первого. |
"[PentestByUserName] " + ([.Rules[]?.Name] | join(",")) |
aggregationInterval |
Объект:
|
Нет |
Интервал поиска (по умолчанию 30 секунд). |
45 |
maxAlertsInAggregate |
Целое число |
Нет |
Максимальное число алертов для агрегации. Минимум ‑ 1. Максимум 100. |
10 |
priority |
Целое число |
Нет |
Приоритет правила. Чем меньше число, которое вы укажете, тем выше приоритет правила |
2 |
Если вы хотите получать алерты без ожидания 30 секунд, вы можете установить параметр aggregationInterval в значение меньше 30 либо установить параметр maxAlertsInAggregate в минимальное значение 1.
Возможные ошибки
HTTP-код |
Описание |
Значение поля |
Значение поля |
204 |
Указан пустой JSON-файл. |
Переменная. |
Переменная. |
400 |
Нкорректный запрос. |
Переменная. |
Переменная. |
409 |
Указанный JSON-файл содержит правила с правила с дублирующимися именами. |
Переменная. |
Переменная. |
Чтобы события, содержащие объекты КИИ, образовывали один алерт, вам нужно указать в правиле агрегации следующие обязательные условия:
"trigger": ".IsCII == true""aggregationID": "\"CII-Asset/\" + ([.Assets[]?.ID] | sort | join(\";\")) + \"/\" + ([.Rules[]?.ID] | sort | join(\";\"))"Пример правила агрегации для алерта, содержащего объект КИИ:
[ { "tenantID": "укажите ваш tenantID", "enabled": true, "name": "КИИ", "aggregationID": "\"CII-Asset/\" + ([.Assets[]?.ID] | sort | join(\";\")) + \"/\" + ([.Rules[]?.ID] | sort | join(\";\"))", "trigger": ".IsCII == true", "alertName": "\"[КИИ] \" + ([.Assets[]?.Name] | sort | join(\";\")) + \"/\" + ([.Rules[]?.Name] | sort | join(\";\"))", "maxAlertsInAggregate": 100, "aggregationInterval": { "unit": "seconds", "value": 30 }, "description": "Агрегация событий с КИИ активами, с разделением событий в алерты по Asset ID/IDs + Rule ID", "priority": 0 }, { "tenantID": "укажите ваш tenantID", "id": "8e5405a7-6740-471f-a15d-9f9414974060", "enabled": true, "name": "Правило, которое объединяет алерты в соответствии с правилами корреляции.", "aggregationID": "([.Rules[].ID // empty] | sort | join(\";\"))", "trigger": ".Rules | length > 0", "alertName": "([.Rules[]?.Name // empty] | sort | join(\",\")) + \" \" + (.SourceCreatedAt)", "maxAlertsInAggregate": 100, "aggregationInterval": { "unit": "seconds", "value": 30 }, "description": "Правило агрегации, которое объединяет алерты в соответствии со сработавшим правилом корреляции.", "priority": 1 } ] |