Обновление инцидента
Запрос
Тип | Метод |
---|---|
PUT |
/service_asset_findings/update |
Описание: при выполнении запроса будет обновлена информация об инциденте в соответствии с заданными параметрами.
Работает по принципу частичного обновления, т.е. будут обновлены только те поля модели которые были переданы в запросе.
Позволяет также управлять связями многие ко многим с другими моделями через поле _relations
.
Ключами в поле _relations
могут быть названия полей моделей ссылающиеся на другие. Например если у модели связь с моделью правил корреляции и в нем хранится объект связанного правила то это поле можно использовать при управлении данной связью
Управление работает следующим образом:
- Если поля в объекте
_relations
отсутствуют зависимости не обновляются; - Если поле зависимости указано и в значении не пустой список идентификаторов, то связи модели приводятся к описанному состоянию;
- Если поле зависимости указано и в значении пустой список то все связи удаляются;
- Зависимости игнорируются в теле запроса;
- Зависимости в ответе всегда
null
.
Пример запроса
PUT
http://127.0.0.1/cruddy/v2/service_asset_findings/update
Тело запроса
Параметр | Тип данных | Обязательность | Описание |
---|---|---|---|
id | string |
Required | Идентификатор инцидента |
created_at | string time |
Required | Дата создания в формате: date-time |
updated_at | string time |
Required | Дата изменения в формате: date-time |
trace_id | string |
Required | Идентификатор трассировки действия пользователя для аудита |
description | string |
Required | Подробное описание инцидента |
risk_impact | string |
Required | Описание последствий, которые могут возникнуть, если угроза была реализована |
solution | string |
Required | Рекомендации по устранению инцидента |
mitigation | integer |
Required | Описание профилактики данного типа инцидента |
status | string |
Required | Cостояние инцидента в зависимости от того какая с ним работа была проведена оператором. Допустимые значения: - assigned_customer - назначен; - closed - закрыт; - feedback_required - запрошена информация; - invalid - недействительный; - new - новый; - risk_accepted - риск принят - verify_close - ожидает проверки; - working_customer - в работе. Подробнее см. раздел Инциденты |
risklevel | number |
Required | Уровень риска. Допустимые значения от "0" до "10" |
service_asset_id | string |
Required | Идентификатор актива, на котором обнаружен инцидент |
finding_id | string |
Required | Идентификатор типа инцидента |
analysis_output | string |
Required | Результат анализа. Заполняемое поле в правиле корреляции. Например: на активе {{ .event.IP}} произошло… |
synopsis | string |
Required | Краткое описание сути инцидентов данного типа |
title | string |
Required | Название инцидента |
risk | string |
Required | Описание уровня риска инцидента. Допустимые значения: - none; - low; - medium; - high. |
acknowledged_at | string |
Required | Дата выявления / обнаружения инцидента |
alert_type | string |
Required | Политика поведения платформы над инцидентом при "сработке" правила корреляции |
client_note | string |
Required | Заметки клиента |
internal_note | string |
Required | Внутреннее примечание |
external | boolean |
Required | Эксплуатируема ли удаленно уязвимость, на основе которой создан инцидент |
immediate_action_score | number |
Required | Cрочность инцидента. Результат перемножения уровня риска, которое было присвоено по результату сработки правила корреляции и “значимости актива”. при этом значимость актива из 2х параметров. Значимость и сетевая видимость. |
throughput_period | string |
Required | Cтатус инцидент в логике оповещений операторов о задержке в обработке. Допустимые значения: - grace; - delay; - unacceptable. |
throughput_period_change | string format: date-time |
Required | Время изменения поля throughput_period |
customer_created | boolean |
Required | Флаг, что создан пользователем, а не автоматически |
c_visible_since | string |
Required | Дата и время с которой инцидент виден пользователям |
c_visible_since_in_days | integer |
Required | Количество дней, в течение которых инцидент виден пользователям |
c_reopened_count | integer |
Required | Количество повторных открытий инцидента |
c_last_customer_status_change | string |
Required | Дата и время последнего изменения статуса инцидента пользователем |
logmule_identifier | string |
Required | Идентификатор, который можно задать в правиле (текстовое), а потом использовать для фильтрации. |
c_remote_exploitable | boolean |
Required | Возможность удаленного использования |
c_occurrence_count | integer |
Required | Количество происшествий в инциденте |
с_customer_retention_time | integer |
Required | Количество времени удержания клиента |
last_occurrence_id | string |
Required | Идентификатор последнего происшествия |
itsm_last_synced_at | string format: date-time |
Required | Время последнего изменения статуса происшествия, который был отправлен в стороннюю систему |
itsm_sync_status | string |
Required | Статус происшествия, отправленного в стороннюю систему. Допустимые значения: - scheduled; - aborted; - synced; - not_synced; - waiting_confirmation |
external_id | string |
Required | Идентификатор инцидента во внешней клиентской системе |
itsm_sync_error | string |
Required | Ошибка синхронизации с внешней клиентской системой |
user_id | string |
Required | Идентификатор пользователя назначенного на инцидент |
updated_by | string |
Required | Идентификатор пользователя, который последний обновил инцидент |
group_id | string |
Required | Группа пользователей назначенных на инцидент |
acknowledged_by | string |
Required | Идентификатор пользователя, который подтвердил инцидент |
created_by_customer | string |
Required | Идентификатор пользователя, который вручную создал инцидент |
edited_by | string |
Required | Идентификатор пользователя, который последний отредактировал инцидент, созданный вручную |
incident_group_id | string |
Required | Идентификатор группы инцидентов, в которую входит инцидент |
reopened_at | string |
Required | Время когда данный инцидент был открыт заново |
display_id | integer |
Required | Идентификатор инцидента, созданный по алгоритму, который регулирует последовательность присвоения идентификаторов |
_relations | object <relations> |
Required | Словарь описывающий связанные модели через идентификаторы |
Relations
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
occurrences | Array<string> |
Optional | Идентификаторы происшествий |
custom_field_values | Array<string> |
Optional | Идентификаторы значений дополнительных полей |
comments | Array<string> |
Optional | Идентификаторы комментариев |
documents | Array<string> |
Optional | Связанные документы |
messages | Array<string> |
Optional | Связанные сообщения пользователей |
service_asset_finding_status_changes | Array<string> |
Optional | Связанные операции по изменению статуса инцидента |
service_asset_groups | Array<string> |
Optional | Идентификаторы групп инцидентов |
Пример тела запроса
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"trace_id": "uuid",
"description": "string",
"risk_impact": "string",
"solution": "string",
"mitigation": "string",
"status": "assigned_customer",
"risklevel": 0,
"service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
"finding_id": "feebf65a-2eaa-4fae-aab2-772450efdffe",
"analysis_output": "string",
"synopsis": "string",
"title": "string",
"risk": "none",
"acknowledged_at": "2023-12-20T00:00:01.652259Z",
"alert_type": "automatic",
"client_note": "string",
"internal_note": "string",
"external": false,
"immediate_action_score": 0,
"throughput_period": "grace",
"throughput_period_change": "2023-12-20T00:00:01.652259Z",
"customer_created": false,
"c_visible_since": "2023-12-20T00:00:01.652259Z",
"c_visible_since_in_days": 0,
"c_reopened_count": 0,
"c_last_customer_status_change": "2023-12-20T00:00:01.652259Z",
"logmule_identifier": "string",
"c_remote_exploitable": true,
"c_occurrence_count": 0,
"с_customer_retention_time": 0,
"last_occurrence_id": "92c2542a-a9bb-4370-b835-20b1c9ac1fe9",
"itsm_last_synced_at": "2023-12-20T00:00:01.652259Z",
"itsm_sync_status": "scheduled",
"external_id": "string",
"itsm_sync_error": "string",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe",
"group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
"acknowledged_by": "57e93f65-9db5-4b3c-8761-f3edd8ac8276",
"created_by_customer": "d299b51b-03f1-4b72-b793-1fb027d05389",
"edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c",
"incident_group_id": "5ce55b8d-2342-4286-bf58-bfe807f8c05c",
"reopened_at": "2023-12-20T00:00:01.652259Z",
"display_id": 0,
"_relations": {
"occurrences": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"custom_field_values": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"comments": [
"string"
],
"documents": [
"string"
],
"messages": [
"string"
],
"service_asset_finding_status_changes": [
"string"
],
"service_asset_groups": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"trace_id": "uuid",
"description": "string",
"risk_impact": "string",
"solution": "string",
"mitigation": "string",
"status": "assigned_customer",
"risklevel": 0,
"service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
"finding_id": "feebf65a-2eaa-4fae-aab2-772450efdffe",
"analysis_output": "string",
"synopsis": "string",
"title": "string",
"risk": "none",
"acknowledged_at": "2023-12-20T00:00:01.652259Z",
"alert_type": "automatic",
"client_note": "string",
"internal_note": "string",
"external": false,
"immediate_action_score": 0,
"throughput_period": "grace",
"throughput_period_change": "2023-12-20T00:00:01.652259Z",
"customer_created": false,
"c_visible_since": "2023-12-20T00:00:01.652259Z",
"c_visible_since_in_days": 0,
"c_reopened_count": 0,
"c_last_customer_status_change": "2023-12-20T00:00:01.652259Z",
"logmule_identifier": "string",
"c_remote_exploitable": true,
"c_occurrence_count": 0,
"с_customer_retention_time": 0,
"last_occurrence_id": "92c2542a-a9bb-4370-b835-20b1c9ac1fe9",
"itsm_last_synced_at": "2023-12-20T00:00:01.652259Z",
"itsm_sync_status": "scheduled",
"external_id": "string",
"itsm_sync_error": "string",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe",
"group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
"acknowledged_by": "57e93f65-9db5-4b3c-8761-f3edd8ac8276",
"created_by_customer": "d299b51b-03f1-4b72-b793-1fb027d05389",
"edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c",
"incident_group_id": "5ce55b8d-2342-4286-bf58-bfe807f8c05c",
"reopened_at": "2023-12-20T00:00:01.652259Z",
"display_id": 0,
"_relations": {
"occurrences": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"custom_field_values": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"comments": [
"string"
],
"documents": [
"string"
],
"messages": [
"string"
],
"service_asset_finding_status_changes": [
"string"
],
"service_asset_groups": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
Успешный ответ
Статус код: 200
– успешное обновление информации об инциденте.
Формат: JSON
.
Тело ответа: модель обновленного инцидента.
Пример ответа
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"trace_id": "uuid",
"description": "string",
"risk_impact": "string",
"solution": "string",
"mitigation": "string",
"status": "assigned_customer",
"risklevel": 0,
"service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
"finding_id": "feebf65a-2eaa-4fae-aab2-772450efdffe",
"analysis_output": "string",
"synopsis": "string",
"title": "string",
"risk": "none",
"acknowledged_at": "2023-12-20T00:00:01.652259Z",
"alert_type": "automatic",
"client_note": "string",
"internal_note": "string",
"external": false,
"immediate_action_score": 0,
"throughput_period": "grace",
"throughput_period_change": "2023-12-20T00:00:01.652259Z",
"customer_created": false,
"c_visible_since": "2023-12-20T00:00:01.652259Z",
"c_visible_since_in_days": 0,
"c_reopened_count": 0,
"c_last_customer_status_change": "2023-12-20T00:00:01.652259Z",
"logmule_identifier": "string",
"c_remote_exploitable": true,
"c_occurrence_count": 0,
"с_customer_retention_time": 0,
"last_occurrence_id": "92c2542a-a9bb-4370-b835-20b1c9ac1fe9",
"itsm_last_synced_at": "2023-12-20T00:00:01.652259Z",
"itsm_sync_status": "scheduled",
"external_id": "string",
"itsm_sync_error": "string",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe",
"group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
"acknowledged_by": "57e93f65-9db5-4b3c-8761-f3edd8ac8276",
"created_by_customer": "d299b51b-03f1-4b72-b793-1fb027d05389",
"edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c",
"incident_group_id": "5ce55b8d-2342-4286-bf58-bfe807f8c05c",
"reopened_at": "2023-12-20T00:00:01.652259Z",
"display_id": 0,
"_relations": {
"occurrences": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"custom_field_values": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"comments": [
"string"
],
"documents": [
"string"
],
"messages": [
"string"
],
"service_asset_finding_status_changes": [
"string"
],
"service_asset_groups": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
Другие возможные ответы
Код | Ответ | Описание |
---|---|---|
400 |
Bad Request |
Неверный тип параметра запроса, либо отсутствует обязательный параметр |
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 }