Pyboto:从安全组中删除基于 ip 的规则

Pyboto: remove an ip based rule from a security group

我一直在通读 Pyboto documentation,虽然我知道如何向安全组添加 基于 ip 的规则,但我无法做到查找方法删除基于 ip 的规则。安全组对象上的方法 remove_rule 不会更新 ec2 实例上的安全组 - 所以我不确定这是否对我有帮助。

有没有人完成过这个?

boto中的一个SecurityGroup对象有两个重要的方法; authorizerevoke。向组添加和删除规则的最简单方法是使用这些方法。因此,要添加基于 IP 的规则:

import boto.ec2
conn = boto.ec2.connect_to_region('us-west-2')  # or whatever region you want
sg = conn.get_all_security_groups('my_security_group')[0]
sg.authorize('tcp', 22, 22, cidr_ip='0.0.0.0/0')

这将为所有主机授权端口 22。要撤销该规则(你应该这样做!):

sg.revoke('tcp', 22, 22, cidr_ip='0.0.0.0/0')

相同的参数。