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

Обновление группы активов

Запрос

Тип Метод
PUT /service_asset_groups/update

Описание: при выполнении запроса будет обновлена информация о группе активов в соответствии с заданными параметрами.

Работает по принципу частичного обновления, т.е. будут обновлены только те поля, которые были переданы в запросе.

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

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

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

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

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

{
  "id": "uuid",
  ...
  "_relations": {
    "service_assets": [] // - очистит все связи с активами
    // "service_assets": ["uuid1", "uuid2"] // - создаст связь с 2 активами
    // "service_assets": ["uuid1"] // - оставит связь только с первым активом
  }
}
Пример запроса

PUT
http://127.0.0.1/cruddy/v2/service_asset_groups/update

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

Параметр Тип Обязательность Описание
id string Required Идентификатор группы активов
trace_id string Required Идентификатор трассировки действия пользователя для аудита
name string Required Название группы активов
network_ranges Array<string> Optional Список подсетей
domain string Optional Домен
itsm_synced boolean Optional Признак синхронизации с системой управления ИТ-услугами
regex string Optional Регулярное выражение
subject_id string Optional Идентификатор субъекта
object_id string Optional Идентификатор обьекта
is_kii boolean Optional Призкак принадлежности к обьктам критической инфраструктуры
is_fincert boolean Optional Признак вхождения в систему информационного обмена между участниками финансового рынка
responsible_person string Optional Имя отвественного пользователя
technical_specialist string Optional Технический специалист
system_id string Optional Идентификатор системы
responsible_group_id string Optional Идентификатор отвественной группы
edited_by string Optional Идентификатор пользователя, внесшего изменения
_relations object<relations> Optional Словарь идентификаторов связанных объектов
Модель данных _relations
Параметр Тип данных Обязательность Описание
groups Array<string> Optional Идентификаторы связанных групп пользователей
rule_sets Array<string> Optional Идентификаторы связанных наборов правил
service_assets Array<string> Optional Идентификаторы связанных активов
software_compliance_checks Array<string> Optional Идентификаторы связанных проверок соотвествия ПО
Пример тела запроса

{
  "trace_id": "uuid",
  "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": {
    "groups": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "rule_sets": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "service_assets": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "software_compliance_checks": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ]
  },
  "id": "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",
  "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_compliance_checks": [
    {
      "service_asset_group_id": "89c15508-7cc6-40d3-94c1-0f63c26cac7d",
      "compliant": true,
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created_at": "2023-12-20T00:00:01.652259Z",
      "updated_at": "2023-12-20T00:00:01.652259Z"
    }
  ],
  "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"
    ]
  },
  "groups": [
    {
      "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"
      ]
    }
  ],
  "service_assets": [
    {
      "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"
    }
  ],
  "rule_sets": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created_at": "2023-12-20T00:00:01.652259Z",
      "updated_at": "2023-12-20T00:00:01.652259Z",
      "name": "New rule set",
      "create_service_asset_findings": false
    }
  ],
  "_relations": {
    "groups": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "rule_sets": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "service_assets": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "software_compliance_checks": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ]
  },
  "service_asset_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "service_asset_ids_count": 0,
  "responsible_group_name": "string",
  "group_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "rule_set_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "user_groups": [
    {
      "id": "uuid",
      "name": "Test group"
    }
  ],
  "performed_at": "string"
}

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

Код Ответ Описание
400 Bad Request Неверный тип параметра запроса, либо отсутствует обязательный параметр
404 Not Foundd Редактируемый объект не найден
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
}