Создать группу безопасности
Важно
Группы безопасности действуют по принципу «запрещено все, что не разрешено». Если назначить сетевому интерфейсу ВМ группу безопасности без правил, ВМ не сможет передавать и принимать трафик.
Чтобы создать новую группу безопасности:
- В консоли управления
перейдите в каталог, где требуется создать группу безопасности. - В списке сервисов выберите Virtual Private Cloud.
- На панели слева выберите
Группы безопасности. - Нажмите кнопку Создать группу безопасности.
- Введите имя группы безопасности.
- В поле Сеть выберите сеть, которой будет назначена группа безопасности.
- В блоке Правила создайте правила для управления трафиком:
- Выберите вкладку Исходящий трафик или Входящий трафик.
- Нажмите кнопку Добавить правило.
- В открывшемся окне в поле Диапазон портов укажите один порт или диапазон портов, куда или откуда будет поступать трафик.
- В поле Протокол укажите нужный протокол или оставьте
Любой
, чтобы разрешить передачу трафика по всем протоколам. - В поле Назначение или Источник выберите назначение правила:
CIDR
— правило будет применено к диапазону IP-адресов. В поле CIDR блоки укажите CIDR и маски подсетей, в которые или из которых будет поступать трафик. Чтобы добавить несколько CIDR, нажимайте кнопку Добавить CIDR.Группа безопасности
— альтернатива полюCIDR
. Выберите:Текущая
— чтобы разрешить сетевое взаимодействие между ресурсами, на которые применена текущая группа безопасности.Из списка
— чтобы разрешить сетевое взаимодействие с ресурсами, на которые применена выбранная группа.
Проверки состояния балансировщика
.
- Нажмите кнопку Сохранить. Если требуется, добавьте другие правила.
- Нажмите кнопку Сохранить.
Чтобы создать группу с правилом для IPv4 CIDR, выполните команду:
yc vpc security-group create \
--name test-sg-cli \
--rule "direction=ingress,port=443,protocol=tcp,v4-cidrs=[10.0.0.0/24]" \
--network-id c645mh47vscb********
Где:
name
— имя группы безопасности.rule
— описание правила:direction
— направление трафика.ingress
— входящий трафик,egress
— исходящий.port
— порт для получения или передачи трафика. Также можно указать диапазон портов с помощью параметровfrom-port
иto-port
.protocol
— протокол передачи данных. Возможные значения:tcp
,udp
,icmp
,esp
,ah
,any
.v4-cidrs
— список CIDR IPv4 и масок подсетей, откуда или куда будет поступать трафик.network-id
— идентификатор сети, к которой будет подключена группа безопасности.
Чтобы создать группу с правилом разрешающим трафик от всех ресурсов другой группы безопасности, выполните команду:
yc vpc security-group create \
--name allow-connection-from-app \
--rule "direction=ingress,port=5642,protocol=tcp,security-group-id=enp099cqehlfvabec36d" \
--network-name infra2
Где:
name
— имя группы безопасности.rule
— описание правила:direction
— направление трафика.ingress
— входящий трафик,egress
— исходящий.port
— порт для получения или передачи трафика. Также можно указать диапазон портов с помощью параметровfrom-port
иto-port
.protocol
— протокол передачи данных. Возможные значения:tcp
,udp
,icmp
,esp
,ah
,any
.security-group-id
— идентификатор группы безопасности, для которой разрешен трафик в сторону создаваемой группы безопасности по порту 443.
network-name
— имя сети, к которой будет подключена группа безопасности.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы создать группу безопасности с несколькими правилами:
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
name
– имя группы безопасности.description
– опциональное описание группы безопасности.network_id
– идентификатор сети, которой будет назначена группа безопасности.ingress
иegress
– параметры правил для входящего и исходящего трафика:protocol
– протокол передачи трафика. Возможные значения:tcp
,udp
,icmp
,esp
,ah
,any
.description
– опциональное описание правила.v4_cidr_blocks
— список CIDR и масок подсетей, откуда или куда будет поступать трафик.port
– порт для трафика.from-port
— первый порт из диапазона портов для трафика.to-port
— последний порт из диапазона портов для трафика.
Пример структуры конфигурационного файла:
provider "yandex" { token = "<OAuth_или_статический_ключ_сервисного_аккаунта>" folder_id = "<идентификатор_каталога>" zone = "ru-central1-a" } resource "yandex_vpc_security_group" "test-sg" { name = "Test security group" description = "Description for security group" network_id = "<идентификатор_сети>" ingress { protocol = "TCP" description = "Rule description 1" v4_cidr_blocks = ["10.0.1.0/24", "10.0.2.0/24"] port = 8080 } ingress { protocol = "ANY" description = "Разрешает взаимодействие между ресурсами текущей группы безопасности" predefined_target = "self_security_group" from_port = 0 to_port = 65535 } ingress { protocol = "TCP" description = "Разрешает подключение по порту 27017 со стороны ресурсов с группой безопасности sg-frontend" security_group_id = yandex_vpc_security_group.sg-frontend.id port = 27017 } egress { protocol = "ANY" description = "Rule description 2" v4_cidr_blocks = ["10.0.1.0/24", "10.0.2.0/24"] from_port = 8090 to_port = 8099 } }
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера
. -
Проверьте корректность конфигурационных файлов.
- В командной строке перейдите в папку, где вы создали конфигурационный файл.
- Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Разверните облачные ресурсы.
- Если в конфигурации нет ошибок, выполните команду:
terraform apply
- Подтвердите создание ресурсов.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
. - Если в конфигурации нет ошибок, выполните команду:
Воспользуйтесь методом REST API create для ресурса SecurityGroup или вызовом gRPC API SecurityGroupService/Create и передайте в запросе:
-
Идентификатор каталога, в котором будет размещена группа безопасности, в параметре
folderId
. -
Идентификатор сети, в которой будет размещена группа безопасности, в параметре
networkId
. -
Настройки правил группы безопасности в массиве
ruleSpecs[]
:-
Направление трафика, для которого задается правило, в параметре
ruleSpecs[].direction
. Возможные значения:ingress
— входящий трафик;egress
— исходящий трафик.
-
Имя протокола передачи трафика в параметре
ruleSpecs[].protocolName
. Возможные значения:tcp
,udp
,icmp
,esp
,ah
,any
. -
Список CIDR и масок подсетей, откуда или куда будет поступать трафик, в параметре
ruleSpecs[].cidrBlocks.v4CidrBlocks[]
. Если правило задается для передачи трафика в группу безопасности, то вместо этого передайте идентификатор группы безопасности в параметреruleSpecs[].securityGroupId
. -
Первый порт из диапазона портов для трафика в параметре
ruleSpecs[].ports.fromPort
. Возможные значения: от0
до65535
. -
Последний порт из диапазона портов для трафика в параметре
ruleSpecs[].ports.toPort
. Возможные значения: от0
до65535
.
-