Самый простой способ сопоставить группы безопасности с их экземплярами в Boto 3? - PullRequest
0 голосов
/ 29 января 2019

У меня есть список групп безопасности на python, и мне нужно выяснить, с каким экземпляром EC2 / RDS или ELB они связаны.Какой самый простой способ сделать это в Boto3?

Кроме того, насколько я понимаю, одна группа безопасности может быть присоединена к нескольким экземплярам, ​​а к одному экземпляру EC2 может быть подключено несколько групп безопасности, поэтому мне нужно найти способопределить эти отношения, чтобы лучше очистить его.То, что я имею право, это список объектов групп безопасности в python.

Это мой текущий код:

import boto3
import json

# regions = ["us-east-1","ap-southeast-1","ap-southeast-2","ap-northeast-1","eu-central-1","eu-west-1"]
regions = ["us-east-1"]

uncompliant_security_groups = []

for region in regions:
    ec2 = boto3.resource('ec2', region_name=region)

    sgs = list(ec2.security_groups.all())

    for sg in sgs:
        for rule in sg.ip_permissions:
            # Check if list of IpRanges is not empty, source ip meets conditions
            if len(rule.get('IpRanges')) > 0 and rule.get('IpRanges')[0]['CidrIp'] == '0.0.0.0/0':
                if rule.get('FromPort') == None:
                    uncompliant_security_groups.append(sg)

                if rule.get('FromPort') != None and rule.get('FromPort') < 1024 and rule.get('FromPort') != 80 and rule.get('FromPort') != 443:
                    uncompliant_security_groups.append(sg)


print(uncompliant_security_groups)
print(len(uncompliant_security_groups))

for sec_group in uncompliant_security_groups:

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