[英]Python Boto AWS Remove VPC Security Group Rules
我目前正在自動執行AWS VPC的構建,但希望刪除添加到使用VPC創建的安全組中的默認規則。 我可以這樣查看安全組規則:
for security_group in vpc_connection.get_all_security_groups(): for rule in vpc_security_group.rules: print dir(rule)
如果有人可以告訴我或給我一個如何從VPC刪除默認規則的示例,我將不勝感激。
從API文檔中,我可以看到一些方法,例如:
boto.ec2.connection.revoke_security_group()
但是,如果這確實是正確的方法,我不清楚需要作為參數傳遞什么。
非常感謝
H
我最終弄清楚了:
for rule in vpc_security_group.rules:
for grant in rule.grants:
ec2_connection.revoke_security_group(group_id=vpc_security_group.id, ip_protocol=rule.ip_protocol, from_port=rule.from_port, to_port=rule.to_port, src_security_group_group_id=grant.group_id, cidr_ip=grant.cidr_ip)
for rule in vpc_security_group.rules_egress:
for grant in rule.grants:
ec2_connection.revoke_security_group_egress(vpc_security_group.id, rule.ip_protocol, rule.from_port, rule.to_port, grant.group_id, grant.cidr_ip)
我使用了上面的一些邏輯來編寫了一些python腳本,這些腳本將刪除一個安全組,無論它是ec2-classic還是VPC(僅假定入口規則)。 有幾種特殊情況,例如要刪除的SG在另一個SG的入口規則中被引用。 另一個特殊情況是在EC2-classic中引用用於ELB的AWS默認SG。 兩者都得到了很好的處理,腳本可以在這里找到: https : //gist.github.com/arpcefxl/2acd7d873b95dbebcd42
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.