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

Поиск активов

Запрос

Тип Метод
POST /service_assets/search

Описание: При выполнении запроса будут возвращены найденные объекты с учётом заданных фильтров.

По умолчанию в объекты не загружаются связанные модели по типам связи many2many и has-many, для включения загрузки их нужно указывать в поле relations объекта запроса.

Связи _relations загружаются всегда и отражают текущее состояние связей модели.

Пример запроса

POST
http://127.0.0.1/cruddy/v2/rule_sets/search

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

Параметр Тип данных Обязательность Описание
include_fields Array<string> Required Список полей для выборки.
Если модель содержит поля, не указанные в запросе, они будут отсутствовать в ответе
exclude_fields Array<string> Required Список полей для удаления из выборки.
Если модель содержит поля, указанные в запросе, они будут отсутствовать в ответе
filters Array<filters> Required Список фильтров по полям модели
ordering Array<ordering> Required Настройки сортировки
virtual_search object<virtual_search> Required Поле для поиска по подстроке по всем строковым полям модели и настройка строгого поиска
relations Array<string> Required Список связей для выборки. Список доступных связей отображается в ответе запроса на получение метаданных - “/_meta”
limit integer Required Лимит выдачи найденных объектов
offset integer Required Отступ от начала результата поиска в базе
_relations Array<string> Optional Перечисление связанных сущностей идентификаторы которых нужно вернуть в ответе в поле _relations
Array of filters
Параметр Тип данных Обязательность Описание
field string Required Название поля модели
value object Required Значение для фильтрации
filter_type string Required В зависимости от этого значения определяется допустимые значения в поле value. Допустимые значения:
- equal -> строка|число, проверяет равенство значений
- substr -> строка, проверяет вхождение подстроки
- intersection -> массив (тип элемента зависит от типа поля), проверяет вхождение значения поля в переданный массив
- range -> массив (тип элемента зависит от типа поля), проверяет вхождение значения поля в переданный диапазон
- related -> строка или массив строк (uuid), проверят связанность с моделью по идентификатору
если value: [], проверяет наличие или отсутствие связанных сущностей
- exists -> значение отсутствует, проверяется равенство колонки с null
negation boolean Optional Флаг использования отрицания при проверке фильтра
Array of ordering
Параметр Тип Обязательность Описание / Допустимые значения
field string Required Поле модели выбранное для сортировки
direction string Required Направление сортировки. Допустимые значения:
- asc
- desc
Параметр Тип Обязательность Описание / Допустимые значения
value string Required Значение выбранное для поиска
strict boolean Required Опция, включающая строгий поиск. Возможные значения:
- true - строгий поиск включена;
- false - строгий поиск выключен.
Пример тела запроса

{
  "include_fields": [
    "string"
  ],
  "exclude_fields": [
    "string"
  ],
  "filters": [
    {
      "field": "string",
      "value": [
        "name",
        [
          "value1",
          "value2"
        ]
      ],
      "filter_type": "equal",
      "negation": false
    }
  ],
  "ordering": [
    {
      "field": "string",
      "direction": "asc"
    }
  ],
  "virtual_search": {
    "value": "string",
    "strict": false
  },
  "relations": [
    "service_asset_findings",
    "logmule_go_rules",
    "user"
  ],
  "limit": 20,
  "offset": 0,
  "_relations": [
    "string"
  ]
}

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

Статус код: 200 – успешный ответ.

Формат: JSON.

Параметры ответа:

Параметр Тип данных Описание
items Array<ServiceAsset> Список найденных активов
total integer Количество найденных активов
Пример ответа

{
  "items": [
    {
      "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"
      ]
    }
  ],
  "total": 1
}

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

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

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

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

Код 400

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

Код 500

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