Создание набора правил соответствия ПО
Запрос
Тип | Метод |
---|---|
POST |
/rule_sets/create |
Описание: При выполнении запроса будет создан набор правил соответствия ПО с заданными параметрами.
Позволяет также управлять связями многие ко многим с другими моделями через поле _relations
.
Ключами в поле _relations
могут быть названия полей моделей ссылающиеся на другие. Например если у модели связь с моделью правил корреляции и в нем хранится актив связанного правила то это поле можно использовать при управлении данной связью
Управление работает следующим образом:
- Если поля в активе
_relations
отсутствуют зависимости не обновляются - Если поле зависимости указано и в значении не пустой список идентификаторов, то связи модели приводятся к описанному состоянию
- Если поле зависимости указано и в значении пустой список то все связи удаляются
Например следующий запрос:
{
"name": "Test",
...
"_relations": {
"rules": [] // - очистит все связи с правилами
// "rules": ["uuid1", "uuid2"] // - создаст связь с 2 правилами
// "rules": ["uuid1"] // - оставит связь только с первым правилом
}
}
Пример запроса
POST
http://127.0.0.1/cruddy/v2/rule_sets/create
Тело запроса:
Параметр | Тип данных | Обязательность | Описание |
---|---|---|---|
trace_id | string |
Required | Идентификатор трассировки действия пользователя для аудиа |
name | string |
Required | Уникальное название набора правил соответствия |
create_service_asset_findings | boolean |
Required | Флаг создания инцидентов |
_relations | object |
Optional | Словарь описывающий связанные модели через идентификаторы |
_relations{rules} | Array<string> |
Optional | Массив ID правил соответствия ПО |
_relations{service_asset_groups} | Array<string> |
Optional | Массив ID групп активов |
Пример тела запроса
{
"trace_id": "uuid",
"name": "New rule set",
"create_service_asset_findings": false,
"_relations": {
"rules": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"service_asset_groups": [
"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",
"name": "New rule set",
"create_service_asset_findings": false,
"rules": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"name": "test-rule",
"query": "(adobe & photoshop) | (gnu & gimp)",
"blacklist_entry": false
},
"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"
},
"_relations": {
"rules": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"service_asset_groups": [
"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
}