Обновление группы активов
Запрос
Тип | Метод |
---|---|
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
}