Отменить все правила входа группы безопасности (с исходными группами безопасности) - PullRequest
1 голос
/ 28 мая 2020

У меня есть группа ec2.SecurityGroup, из которой я хотел бы удалить все правила. У меня возникли проблемы с удалением правила входа по умолчанию для группы, где источником является идентификатор группы безопасности:

example ingress rule with security group source

Я делаю это таким образом, используя Go SDK:

for _, perm := sg.IpPermissions {
  for _, pair := range perm.UserIdGroupPairs {
    service.RevokeSecurityGroupIngress(&ec2.RevokeSecurityGroupIngressInput{
    SourceSecurityGroupName: pair.GroupId,
    IpProtocol: perm.IpProtocol,
    SourceSecurityGroupOwnerId: pair.UserId,
        GroupId: sg.GroupId,
    });
  }
}

Однако это приводит к ошибке: «VPCIdNotSpecified: Нет VP по умолчанию C для этого пользователя».
Как мне отменить это правило и ВСЕ другие? Go является предпочтительным в ответах, но будет оценен способ sh этого на любом языке.

1 Ответ

0 голосов
/ 28 мая 2020

Я не человек Go, но вот эквивалентный Python код:

import boto3

ec2_client = boto3.client('ec2')

response = ec2_client.describe_security_groups(GroupIds=['sg-xxx'])

for group in response['SecurityGroups']:
    ec2_client.revoke_security_group_ingress(GroupId=group['GroupId'], IpPermissions = group['IpPermissions'])

Обратите внимание, что объект IpPermissions, возвращенный из describe_security_groups(), может быть передан непосредственно в revoke_security_group_ingress(). Надеюсь, вы сможете сделать то же самое в Go.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...