Перейти к содержанию

Создание актива

Запрос

Тип Метод
POST /service_assets_create

Описание: При выполнении запроса будет создан актив.

Позволяет также управлять связями многие ко многим с другими моделями через поле _relations.

Ключами в поле _relations могут быть названия полей моделей ссылающиеся на другие. Например если у модели связь с моделью правил корреляции и в нем хранится актив связанного правила то это поле можно использовать при управлении данной связью

Управление работает следующим образом:

  • Если поля в активе _relations отсутствуют зависимости не обновляются
  • Если поле зависимости указано и в значении не пустой список идентификаторов, то связи модели приводятся к описанному состоянию
  • Если поле зависимости указано и в значении пустой список то все связи удаляются

Например следующий запрос:

{
  "name": "Test",
  ...
  "_relations": {
    "service_asset_groups": [] // - очистит все связи с группами активов
    // "service_asset_groups": ["uuid1", "uuid2"] // - создаст связь с 2 группами активов
    // "service_asset_groups": ["uuid1"] // - оставит связь только с первой группой активов
  }
}
Пример запроса

POST
http://127.0.0.1/cruddy/v2/service_assets/create

Тело запроса:

Параметр Тип Обязательность Описание
trace_id string Required Идентификатор трассировки действия пользователя для аудита
type string Required Тип актива
name string Required Название актива
description string Optional Описание актива
coordinates string Optional Координаты актива (не используется)
active boolean Optional Флаг активности
scan_id string Optional ID сканера активов (не используется)
value integer Optional Значимость актива В платформе значимость актива может принимать следующие значения:
- 1 – ключевой;
- 2 – важный;
- 3 – некритичный;
- 4 – распределенный;
- 5 – тестовый.
client_note string Optional Клиентские заметки (не используется)
internal_note string Optional Внутренние заметки (не используется)
location string Required Расположение актива
network_exposure integer Optional Сетевая доступность актива. Тип сетевой видимости актива может принимать следующие значения:
- 1 – актив напрямую подключен к сети Интернет;
- 2 – актив располагается в демилитаризованной зоне (DMZ);
- 3 – актив подключен к сети Интернет через Proxy-сервер;
- 4 – актив имеет ограниченный доступ к сети Интернет и к ограниченному набору онлайн-сервисов. Например, тонкие клиенты, POS-терминалы, удаленные офисы;
- 5 – актив не подключен к сети.
responsible_person string Optional Ответственное лицо
technical_specialist string Optional Технический специалист
responsible_group_id string Optional ID группы ответственных
edited_by string Optional Кем изменён (не используется)
_relations object<relations> Optional Словарь идентификаторов связанных объектов
Модель данных _relations
Параметр Тип данных Обязательность Описание
hardware_informations Array<string> Optional Список связанных идентификаторов моделей информации об аппаратном обеспечении
logmule_go_results Array<string> Optional Список связанных идентификаторов моделей сработок
messages Array<string> Optional Список связанных идентификаторов моделей сообщений пользователей
network_interfaces Array<string> Optional Список связанных идентификаторов моделей сетевых интерфейсов
service_asset_findings Array<string> Optional Список связанных идентификаторов моделей инцидентов
service_asset_groups Array<string> Optional Список связанных идентификаторов моделей групп активов
software Array<string> Optional Список связанных идентификаторов моделей ПО
vulnerabilities Array<string> Optional Список связанных идентификаторов моделей уязвимостей
vulnerability_hosts Array<string> Optional Список связанных идентификаторов моделей хостов уязвимостей
Пример тела запроса

{
  "trace_id": "uuid",
  "type": "Host",
  "name": "Актив",
  "description": "Описание актива",
  "coordinates": "--- []",
  "active": true,
  "scan_id": "9a59f0f5-5572-476d-a7fc-c960ef43a5af",
  "value": 3,
  "client_note": "string",
  "internal_note": "string",
  "location": "string",
  "network_exposure": 3,
  "responsible_person": "string",
  "technical_specialist": "string",
  "responsible_group_id": "2d40d7ca-3218-4132-89ef-42e29379a567",
  "edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c",
  "_relations": {
    "hardware_informations": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "logmule_go_results": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "messages": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "network_interfaces": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "service_asset_findings": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "service_asset_groups": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "software": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "vulnerabilities": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "vulnerability_hosts": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ]
  }
}

Успешный ответ

Статус код: 201 - успешное создание актива.

Формат: JSON.

Тело ответа: модель созданного актива.

Пример ответа

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created_at": "2023-12-20T00:00:01.652259Z",
  "updated_at": "2023-12-20T00:00:01.652259Z",
  "type": "Host",
  "name": "Актив",
  "description": "Описание актива",
  "coordinates": "--- []",
  "active": true,
  "scan_id": "9a59f0f5-5572-476d-a7fc-c960ef43a5af",
  "value": 3,
  "client_note": "string",
  "internal_note": "string",
  "location": "string",
  "network_exposure": 3,
  "responsible_person": "string",
  "technical_specialist": "string",
  "responsible_group_id": "2d40d7ca-3218-4132-89ef-42e29379a567",
  "edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c",
  "hardware_informations": [
    {
      "hardware_type": "string",
      "name": "string",
      "manufacturer": "string",
      "serial_number": "string",
      "additional_info": "string",
      "is_old": false
    }
  ],
  "logmule_go_results": [
    {
      "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\"}"
    }
  ],
  "messages": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created_at": "2023-12-20T00:00:01.652259Z",
      "updated_at": "2023-12-20T00:00:01.652259Z",
      "subject": "string",
      "body": "string",
      "service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
      "service_asset_finding_id": "08a5c673-3c5c-48ab-bf6c-f2ee47d8df88",
      "service_asset_finding_status_change_id": "8d6bf02f-aab2-4fbc-ab53-ee5963306be7",
      "automated": true,
      "finding_id": "feebf65a-2eaa-4fae-aab2-772450efdffe",
      "itsm_sync_status": "not_synced",
      "itsm_last_synced_at": "string",
      "itsm_sync_error": "string",
      "sender_id": "3194e023-c19f-4a42-9172-9e18d68e3a3a"
    }
  ],
  "network_interfaces": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created_at": "2023-12-20T00:00:01.652259Z",
      "updated_at": "2023-12-20T00:00:01.652259Z",
      "name": "string",
      "ip": "string",
      "mac": "string",
      "fqdn": "string",
      "os": "string",
      "service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
      "edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c",
      "service_asset_name": "string",
      "service_asset_location": "string",
      "service_asset_value": 0,
      "service_asset_network_exposure": 0,
      "service_asset_group_names": [
        "string"
      ],
      "has_service_asset": true
    }
  ],
  "service_asset_findings": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created_at": "2023-12-20T00:00:01.652259Z",
      "updated_at": "2023-12-20T00:00:01.652259Z",
      "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
    }
  ],
  "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"
    }
  ],
  "software": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created_at": "2023-12-20T00:00:01.652259Z",
      "updated_at": "2023-12-20T00:00:01.652259Z",
      "name": "string",
      "raw_output_line": "string",
      "version": "string",
      "release": "string",
      "os": "string",
      "display_name": "",
      "description": "string",
      "software_group_id": "d7939ec9-4754-44e2-b522-27172eae4658",
      "tsvector": "'17':4,12 '17.5.2.1':8,16,17 'driver':3,11 'for':5,13 'microsoft':1,9 'odbc':2,10 'server':7,15 'sql':6,14"
    }
  ],
  "vulnerabilities": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created_at": "2023-12-20T00:00:01.652259Z",
      "updated_at": "2023-12-20T00:00:01.652259Z",
      "plugin_id": "8b176ba5-fa8e-458e-94ad-85d1ae8f3be0",
      "plugin_name": "string",
      "description": "string",
      "severity": 0,
      "additional_data": {},
      "protocol": "string",
      "port": 0,
      "occurrence_id": "8508ee33-23a1-4a06-ae02-1eb167405e7b",
      "synopsis": "string",
      "vulnerability_host_id": "f7091c30-f117-455e-9531-6af6bb5ece68",
      "exploitable": true,
      "plugin_output": "string",
      "solution": "string",
      "compare_port": -1,
      "compare_protocol": "",
      "service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
      "vulnerability_scan_id": "b72752e1-e814-4606-9275-f2ac9ca468b7",
      "external": false,
      "remote_exploitable": false,
      "cvss_vector": "string",
      "cvss_temporal_vector": "string",
      "cvss_base_score": 0,
      "cvss_temporal_score": 0,
      "risk_factor": "string",
      "plugin_modification_date": "string",
      "publication_date": "string"
    }
  ],
  "vulnerability_hosts": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created_at": "2023-12-20T00:00:01.652259Z",
      "updated_at": "2023-12-20T00:00:01.652259Z",
      "ip": "192.168.0.1",
      "mac": "string",
      "fqdn": "string",
      "properties": "string",
      "scan_begin": null,
      "scan_end": null,
      "service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
      "vulnerability_scan_id": "b72752e1-e814-4606-9275-f2ac9ca468b7",
      "os": "string",
      "authenticated": true,
      "scan_error": "string",
      "name": "string",
      "authentication_info": {
        "key1": {
          "nestedKey": "nestedValue"
        },
        "key2": [
          "listItem1",
          "listItem2"
        ],
        "key3": 42,
        "key4": null
      }
    }
  ],
  "responsible_group": {
    "id": "uuid",
    "name": "string",
    "parent_group": "string",
    "realm_id": "string",
    "email": "string",
    "phone_number": "string",
    "leader_id": "string",
    "accept_risk": true,
    "visible_scan_schedules": true,
    "stop_scans": true,
    "edited_by": "string",
    "user_ids": [
      "uuid"
    ]
  },
  "_relations": {
    "hardware_informations": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "logmule_go_results": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "messages": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "network_interfaces": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "service_asset_findings": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "service_asset_groups": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "software": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "vulnerabilities": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "vulnerability_hosts": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ]
  },
  "is_local": true,
  "risk": "low",
  "risklevel": 1.2,
  "mac_ip": {
    "ip": "127.0.0.1",
    "mac": "FF:FF:FF:FF:FF:FF",
    "service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e"
  },
  "os_list": [
    [
      "macOs",
      "windows"
    ]
  ],
  "responsible_group_name": "Admins",
  "closed_count": 5,
  "risk_accepted_count": 4,
  "all_open_count": 3,
  "last_scan": "2023-12-20T00:00:01.652259Z",
  "authenticated": false,
  "authentication_info": {},
  "network_interface_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

Другие возможные ответы

Код Ответ Описание
400 Bad Request Неверный тип параметра запроса, либо отсутствует обязательный параметр
409 name_already_used Попытка создать объект с существующим уникальным атрибутом
500 Internal Server Error Другие ошибки при создании объекта

Примечание: Текст ошибки не фиксированный, может изменяться в зависимости от фактического ответа получателя запроса.

Пример ответа

Код 400

{
  "error": "Bad Request",
  "error_code": 400
}

Код 409

{
  "error": "name_already_used",
  "error_code": 409,
  "extra": {
    "fields": [
      "name"
    ]
  }
}

Код 500

{
  "error": "Internal Server Error",
  "error_code": 500
}