Создание правила соответствия ПО
Запрос
Тип | Метод |
---|---|
POST |
/rules/create |
Описание: При выполнении запроса будет создано правило соответствия ПО с заданными параметрами.
Пример запроса
POST
http://127.0.0.1/cruddy/v2/rules/create
Тело запроса:
Параметр | Тип данных | Обязательность | Описание |
---|---|---|---|
trace_id | string |
Required | Идентификатор трассировки действия пользователя для аудиа |
name | string |
Required | Уникальное название правила соответствия (<= 250 знаков) |
query | string |
Required | Регулярное выражение, описывающее правило соответствия ПО. Должно соответствовать требованиям postgres tsquery |
blacklist_entry | boolean |
Optional | Флаг, проверки ПО в черном списке. Если флаг включен, то для соответствия данному правилу программное обеспечение не должно быть установлено |
_relations | object |
Optional | Словарь описывающий связанные модели через идентификаторы |
_relations{rule_sets} | Array<string> |
Optional | Массив ID наборов правил соответствия ПО |
Пример тела запроса
{
"trace_id": "uuid",
"name": "test-rule",
"query": "(adobe & photoshop) | (gnu & gimp)",
"blacklist_entry": false,
"_relations": {
"rule_sets": [
"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": "test-rule",
"query": "(adobe & photoshop) | (gnu & gimp)",
"blacklist_entry": false,
"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": {
"rule_sets": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
Другие возможные ответы
Код | Ответ | Описание |
---|---|---|
400 |
1. Bad Request 2. invalid query 3. name should not be empty 4. incorrect relation identifiers for ‘rule_sets’ 5. exceeded maximum length for a value |
1. Неверный тип параметра запроса, либо отсутствует обязательный параметр 2. Поле query не прошло валидацию3. Поле name не может быть пустым4. Ошибка при создании связи: набор правил не найден или ID имеет недопустимый формат 5. Превышена максимальная длина поля name |
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
}