Как использовать метод revoke_ingress в boto3 для удаления определенной группы безопасности из входящих правил - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу удалить определенную группу безопасности sg-yy из входящих правил другой группы безопасности sg-ZZ, используя revoke_ingress метод boto3

source: sg-ZZ target: sg-yy

Я пытался:

    response = security_group_source.revoke_ingress(
        FromPort=FromPort,
        GroupName=groupName_source,
        IpPermissions=[
            {'ToPort': ToPort,
             'UserIdGroupPairs': [
                 {
                     'Description': description_target,
                     'GroupId': group_id_target,
                     'GroupName': groupName_target,
                     'VpcId': VpcId_target,

                 },
             ]
             },
        ],
        SourceSecurityGroupName=groupName_source,
        SourceSecurityGroupOwnerId=owner_id_source,
        ToPort=ToPort,
        DryRun=True
    )
    print( response )

Но я получаю ошибку: Произошла ошибка (InvalidGroup.NotFound) при вызове операции RevokeSecurityGroupIngress: Группа безопасности 'sg_group_name' не существует в VP по умолчанию C 'vp c -1111'

Я не могу использовать:

security_group.revoke_ingress(
    IpPermissions = IpPermissions,
)

, так как мне нужно удалить определенную c группу безопасности

Может кто-нибудь, пожалуйста, помогите мне здесь?

1 Ответ

0 голосов
/ 17 апреля 2020

Эту проблему можно решить, сохранив правильные параметры. В документе Boto3 четко не указано, какие параметры использовать для VPC не по умолчанию, но решение с помощью ошибок сработало для меня. Рабочий код для нестандартного VP C:

       response = security_group_source.revoke_ingress(
            GroupId=group_id_source,
            IpPermissions=[
                {'FromPort': FromPort,
                 'IpProtocol': IpProtocol,
                 'ToPort': ToPort,
                 'UserIdGroupPairs': [
                     {
                         'GroupId': group_id_target,
                         'VpcId': VpcId_target,
                     },
                 ]
                 },
            ],
            DryRun=False
        )
...