POST /v1/sync
- Networks
- Security Groups
- Rules
Ресурс Networks
представляет собой введенную нами абстракцию, которая позволяет определять группы IP-адресов или
подсетей, доступных для управления Host Based NGFW. Эти подсети затем могут быть связаны с конкретными группами
безопасности для логического разделения и использоваться в правилах для разрешения или блокирования доступа к
определенным ресурсам в вашей сети.
Более подробно по о рганизации БД можно посмотреть здесь.
Входные параметры
networks[]
- Массив/Список подсетей типа IP.networks[].name
- название подсети.networks[].network
- объект содержащий CIDR подсетиnetworks[].network.CIDR
- Подсеть типа IP.syncOp
- Поле определяющее действие с данными из запроса.
название | обязательность | тип данных | значение по умолчанию |
---|---|---|---|
networks[] | да | Object[] | |
networks[].name | да | String | |
networks[].network | да | Object | |
networks[].network.CIDR | да | String | |
syncOp | да | Enum("Delete", "Upsert", "FullSync") |
Ограничения
networks.networks[].name
:- Длина значения поля не должна превышать 256 символов.
- Значение поля должно начинаться и заканчиваться символами без пробелов.
- Значение до лжно быть уникальным в рамках типа ресурса.
networks.networks[].network.CIDR
:- Значение поля должно начинаться и заканчиваться символами без пробелов.
- В пределах одной Security Group и направления трафика (I/E), необходимо обеспечить, непересекаемость диапазонов адресов подсетей.
- Подсеть должна соответствовать формату записи, определенному в RFC 4632.
Пример использования
curl '127.0.0.1:9007/v1/sync' \
--header 'Content-Type: application/json' \
--data '{
"networks": {
"networks": [{
"name": "nw-1",
"network": {
"CIDR": "10.0.0.0/24"
}
}]
},
"syncOp": "Upsert"
}'
Выходные параметры
название | тип данных | описание |
---|---|---|
- | Object | в случае успеха возвращается пустое тело |
Возможные ошибки API
Пользователь указал некорректные значения агрументов
- HTTP code: 400
- gRPC code: INVALID_ARGUMENT
- gRPC number: 3
Не найден метод
- HTTP code: 404
- gRPC code: NOT_FOUND
- gRPC number: 5
Диаграмма последовательности
Ресурс Groups
представляет собой введенную нами абстракцию, которая позволят объединить подсети в логические группы
и применять к ним единые правила сетевого взаимодействия.
Входные параметры
groups.grous[]
- Структура, содержащая описание создаваемых Security Groupgroups.groups[].defaultAction
- представляет действие по умолчанию в конце цепочек для SGgroups.groups[].logs
- Включить/отключить логирование.groups.groups[].name
- Security Group относительно которой рассматриваются правила.groups.groups[].networks
- Имена подсетейgroups.groups[].trace
- Включить/отключить трассировку.sgIcmpRules.rules[]
- Структура, содержащая описание создаваемых правил.sgIcmpRules.rules[].ICMP
- Структура, содержащая описание создаваемых правил типа ICMP.sgIcmpRules.rules[].ICMP.IPv
- Версия IP для ICMP (IPv4 или IPv6).sgIcmpRules.rules[].ICMP.Types
- Список, определяющий допустимые типы ICMP запросов.sgIcmpRules.rules[].SG
- Security Group относительно которой рассматриваются правила.sgIcmpRules.rules[].logs
- Включить/отключить логирование.sgIcmpRules.rules[].trace
- Включить/отключить трассировку.sgIcmpRules.rules[].action
- Действие для пакетов в сформированных правил в цепочке.syncOp
- Поле определяющее действие с данными из запроса.
название | обязательность | тип данных | Значение по умолчанию | API request | |
---|---|---|---|---|---|
groups | sgIcmpRules | ||||
groups.groups[] | да | Object[] | ✔ | ||
groups.groups[].defaultAction | да | ✔ | |||
groups.groups[].logs | нет | Boolean | false | ✔ | |
groups.groups[].name | да | String | ✔ | ||
groups.groups[].networks | нет | String[] | [] | ✔ | |
groups.groups[].trace | нет | Boolean | false | ✔ | |
sgIcmpRules.rules[] | да | Object[] | ✔ | ||
sgIcmpRules.rules[].ICMP | да | Object | ✔ | ||
sgIcmpRules.rules[].ICMP.IPv | да | Enum("IPv4", "IPv6") | ✔ | ||
sgIcmpRules.rules[].ICMP.Types | нет | String[] | [] | ✔ | |
sgIcmpRules.rules[].SG | да | String | ✔ | ||
sgIcmpRules.rules[].logs | нет | Boolean | false | ✔ | |
sgIcmpRules.rules[].trace | нет | Boolean | false | ✔ | |
sgIcmpRules.rules[].action | да | ✔ | |||
syncOp | да | ✔ | ✔ |
Ограничения
groups.groups[].name
:- Длина значения поля не должна превышать 256 символов.
- Значение поля должно начинаться и заканчиваться символами без пробелов.
- Значение должно быть уникальным в рамках типа ресурса.
groups.groups[].networks[]
:- Значение элемента должно начинаться и заканчиваться символами без пробелов.
- Повторения значений в списке не допускаются.
- Необходимо указать минимум одно значение.
- В пределах одной Security Group и направления трафика (I/E), необходимо обеспечить, непересекаемость диапазонов адресов подсетей.
- Подсеть должна соответствовать формату записи, определенному в RFC 4632.
sgIcmpRules.rules[].SG
:- Длина значения поля не должна превышать 256 символов.
- Значение поля должно начинаться и заканчиваться символами без пробелов.
- Значение должно быть уникальным в рамках типа ресурса.
$node.rules[].type[]
:- Значение должно быть числом в диапазоне от 0 до 255.
- Повторения значений в списке не допускаются.