Обновление результата
Запрос
Тип | Метод |
---|---|
PUT |
/logmule_go_results/update |
Описание: при выполнении запроса будет обновлена информация о результате "сработки" правила в соответствии с заданными параметрами.
Работает по принципу частичного обновления, т.е. будут обновлены только те поля модели которые были переданы в запросе.
Позволяет также управлять связями многие ко многим с другими моделями через поле _relations
.
Ключами в поле _relations
могут быть названия полей моделей ссылающиеся на другие. Например если у модели связь с моделью правил корреляции и в нем хранится объект связанного правила то это поле можно использовать при управлении данной связью
Управление работает следующим образом:
- Если поля в объекте
_relations
отсутствуют зависимости не обновляются. - Если поле зависимости указано и в значении не пустой список идентификаторов, то связи модели приводятся к описанному состоянию.
- Если поле зависимости указано и в значении пустой список то все связи удаляются.
- Зависимости игнорируются в теле запроса.
- Зависимости в ответе всегда
null
.
Например следующий запрос:
{
"id": "uuid",
...
"_relations": {
"logmule_go_rules": [] // - очистит все связи с правилами
// "logmule_go_rules": ["uuid1", "uuid2"] // - создаст связь с 2 правилами
// "logmule_go_rules": ["uuid1"] // - оставит связь только с первым правилом
}
}
Пример запроса
PUT
http://127.0.0.1/cruddy/v2/logmule_go_results/update
Тело запроса:
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
id | string |
Required | Идентификатор результата сработки парвила |
rule_id | string |
Required | Идентификатор правила |
analysis_output | string |
Required | Результат анализа |
event | object |
Required | Событие строкой |
compressed_event | string |
Required | Событие одной строкой в формате byte array |
risklevel | number |
Required | Уровень риска в формате float |
occurred_at | string |
Required | Дата и время происшествия в формате: date-time |
occurrence_id | string |
Required | Идентификатор происшествия |
error | string |
Required | Ошибка |
service_asset_id | string |
Required | Идентификатор актива |
asset_info | object <asset> |
Required | Данные актива |
incident_identifier | string |
Required | Идентификатор инцидента |
metadata | object |
Required | Метаданные в формате map |
mitre | object |
Optional | Техники mitre в формате map |
LogmuleGoResultsAsset
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
ip | string |
Required | IP-адрес актива |
hostname | string |
Required | Хостнейм актива |
fqdn | string |
Required | FQDN актива |
mac | string |
Required | MAC-адрес актива |
Пример тела запроса
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"rule_id": "uuid",
"analysis_output": "string",
"event": [
{
"uuid": "94a5ee25-435a-4943-b88b-9a108057d5fd"
},
{
"uuid": "045f14f9-83c0-4075-bd9b-b690f9258149"
}
],
"compressed_event": "string",
"risklevel": 5.35,
"occurred_at": "2023-12-20T00:00:01.652259Z",
"occurrence_id": "uuid",
"error": "string",
"service_asset_id": "uuid",
"asset_info": {
"ip": "string",
"hostname": "string",
"fqdn": "string",
"mac": "string"
},
"incident_identifier": "string",
"metadata": {
"key": "value"
},
"mitre": {
"key": "value"
}
}
Успешный ответ
Статус код: 200
– успешное обновление информации о результате "сработки" правила.
Формат: JSON
.
Тело ответа: модель обновленного результата "сработки" правила.
Пример ответа
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"rule_id": "uuid",
"analysis_output": "string",
"event": {},
"compressed_event": "string",
"risklevel": 5.35,
"occurred_at": "2023-12-20T00:00:01.652259Z",
"occurrence_id": "uuid",
"error": "string",
"service_asset_id": "uuid",
"asset_info": {
"ip": "string",
"hostname": "string",
"fqdn": "string",
"mac": "string"
},
"incident_identifier": "string",
"metadata": "{\"key\": \"value\"}",
"logmule_go_rule": null,
"occurrence": null,
"service_asset": null,
"service_asset_groups": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"name": "string",
"network_ranges": [],
"domain": "string",
"itsm_synced": false,
"regex": "string",
"subject_id": "string",
"object_id": "string",
"is_kii": false,
"is_fincert": false,
"responsible_person": "string",
"technical_specialist": "string",
"system_id": "string",
"responsible_group_id": "2d40d7ca-3218-4132-89ef-42e29379a567",
"edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c"
}
],
"_relations": {}
}
Другие возможные ответы
Код | Ответ | Описание |
---|---|---|
400 |
Bad Request name_already_used |
Неверный тип параметра запроса, либо отсутствует обязательный параметр Попытка присвоить объекту существующее уникальное значение атрибута |
404 |
Not Found |
Редактируемый объект не найден в БД |
500 |
Internal Server Error |
Другие ошибки при редактировании объекта |
Примечание: Текст ошибки не фиксированный, может изменяться в зависимости от фактического ответа получателя запроса.
Пример ответа
Код 400
{
"error": "Bad Request",
"error_code": 400
}
Код 404
{
"error": "Not Found",
"error_code": 404
}
Код 500
{
"error": "Internal Server Error",
"error_code": 500
}