in src/securityhub_enabler.py [0:0]
def get_admin_members(admin_session, aws_region):
"""
Returns a list of current members of the SecurityHub admin account
:param admin_session: boto3 ct_session object for creating clients
:param aws_region: AWS Region of the SecurityHub admin account
:return: dict of AwsAccountId:MemberStatus
"""
member_dict = dict()
sh_client = admin_session.client(
'securityhub',
endpoint_url=f"https://securityhub.{aws_region}.amazonaws.com",
region_name=aws_region
)
# Need to paginate and iterate over results
paginator = sh_client.get_paginator('list_members')
operation_parameters = {
'OnlyAssociated': False
}
page_iterator = paginator.paginate(**operation_parameters)
for page in page_iterator:
if page['Members']:
for member in page['Members']:
member_dict.update(
{
member['AccountId']: member['MemberStatus']
}
)
LOGGER.info(f"Members of SecurityHub Admin Account: {member_dict}")
return member_dict