Перейти к основному содержимому

Sgroup to Sgroup (Ingress/Egress) ICMP

Ресурс Security Group to Security Group представляет собой введенную нами абстракцию, которая обеспечивает гибкое управление и контроль сетевого трафика между разными группами безопасности, используя протокол ICMP. Этот ресурс позволяет точно настраивать, какой трафик может передаваться между группами, обеспечивая таким образом высокий уровень защиты и контроля в сетевой инфраструктуре.

Более подробную документацию по API можно посмотреть здесь.
Более подробно по организации БД можно посмотреть здесь

Входные параметры

  • ieSgSgIcmpRules.rules[] - Структура, содержащая описание создаваемых правил.
  • ieSgSgIcmpRules.rules[].SG - Имя Security Group
  • ieSgSgIcmpRules.rules[].sgLocal - Security Group относительно которой рассматриваются правила.
  • ieSgSgIcmpRules.rules[].logs - Включить/отключить логирование.
  • ieSgSgIcmpRules.rules[].trace - Включить/отключить трассировку.
  • ieSgSgIcmpRules.rules[].ICMP - Объект, определяющий параметры настройки ICMP.
  • ieSgSgIcmpRules.rules[].ICMP.IPv - Версия IP для ICMP (IPv4 или IPv6).
  • ieSgSgIcmpRules.rules[].ICMP.Types - Список, определяющий допустимые типы ICMP запросов.
  • ieSgSgIcmpRules.rules[].traffic - Поле описывающий направление трафика.
  • ieSgSgIcmpRules.rules[].action - Действие для пакетов в сформированных правил в цепочке.
  • ieSgSgIcmpRules.rules[].priority - Структура, содержащая описание порядка применения правил в цепочке.
  • ieSgSgIcmpRules.rules[].priority.some - Поле, определяющее порядок применения правил в цепочке.
  • syncOp - Поле определяющее действие с данными из запроса.
названиеобязательностьтип данныхзначение по умолчанию
ieSgSgIcmpRules.rules[]даObject[]
ieSgSgIcmpRules.rules[].SGдаString
ieSgSgIcmpRules.rules[].sgLocalдаString
ieSgSgIcmpRules.rules[].logsнетBooleanfalse
ieSgSgIcmpRules.rules[].traceнетBooleanfalse
ieSgSgIcmpRules.rules[].ICMPдаObject
ieSgSgIcmpRules.rules[].ICMP.IPvдаEnum("IPv4", "IPv6")
ieSgSgIcmpRules.rules[].ICMP.TypesнетInteger[][]
ieSgSgIcmpRules.rules[].trafficдаEnum("Ingress", "Egress")
ieSgSgIcmpRules.rules[].actionдаEnum("ACCEPT", "DROP")
ieSgSgIcmpRules.rules[].priorityнетObject
ieSgSgIcmpRules.rules[].priority.someнетInteger
syncOpдаEnum("Delete", "Upsert", "FullSync")

Ограничения

  • ieSgSgIcmpRules.rules[].SG:

    • Длина значения не должна превышать 256 символов.
    • Значение должно начинаться и заканчиваться символами без пробелов.
    • Возможно указать только существующий Security Group.
  • ieSgSgIcmpRules.rules[].sgLocal:

    • Длина значения не должна превышать 256 символов.
    • Значение должно начинаться и заканчиваться символами без пробелов.
    • Возможно указать только существующий Security Group.
  • ieSgSgRules.rules[].ICMP.Types:

    • Значение должно быть числом в диапазоне от 0 до 255.
    • Повторения значений в списке не допускаются.

Пример использования

Ingress

curl '127.0.0.1:9007/v2/sync' \
--header 'Content-Type: application/json' \
--data '{
"ieSgSgIcmpRules": {
"rules": [
{
"SG": "sg-1",
"sgLocal": "sg-2",
"logs": true,
"trace": true,
"traffic": "Ingress",
"ICMP": {
"IPv": "IPv4",
"Types": [
10, 20, 40
]
},
"action": "ACCEPT",
"priority": {
"some": 300
}
}
]
},
"syncOp": "Upsert"
}'

Egress

curl '127.0.0.1:9007/v2/sync' \
--header 'Content-Type: application/json' \
--data '{
"ieSgSgIcmpRules": {
"rules": [
{
"SG": "sg-1",
"sgLocal": "sg-2",
"logs": true,
"trace": true,
"traffic": "Egress",
"ICMP": {
"IPv": "IPv4",
"Types": [
10, 20, 15, 18
]
},
"action": "ACCEPT",
"priority": {
"some": 300
}
}
]
},
"syncOp": "Upsert"
}'

Выходные параметры

названиетип данныхописание
-Objectв случае успеха возвращается пустое тело

Возможные ошибки API

Пользователь указал некорректные значения агрументов
  • HTTP code: 400
  • gRPC code: INVALID_ARGUMENT
  • gRPC number: 3
Ошибка в указанных данных
  • HTTP code: 500
  • gRPC code: INTERNAL
  • gRPC number: 13
Не найден метод
  • HTTP code: 404
  • gRPC code: NOT_FOUND
  • gRPC number: 5

Диаграмма последовательности