def get_all_iam_users()

in Back-End/lambdas/receive_sqs_message.py [0:0]


def get_all_iam_users(account_number, cross_account_role):

    # Init
    var_list = []

    # Use boto3 on source account
    client_iam = create_boto_client(
        account_number, 'us-east-1', 'iam', cross_account_role)

    # Page users
    paginator = client_iam.get_paginator('list_users')

    for page in paginator.paginate():
        for i in page['Users']:

            username = i['UserName']

            # Get Tags for User
            try:
                print(f'Getting Tags for: {username}...')
                tags = client_iam.list_user_tags(UserName=username)['Tags']
            except ClientError as e:
                tags = 'No Tags Exist'

            var_list.append(
                {
                    'Id': str(i['Arn']),
                    'EntryType': 'iam-users',
                    'AccountNumber': str(account_number),
                    'Region': 'us-east-1',
                    'Link': str(f"https://console.aws.amazon.com/iam/home?region=us-east-1#/users/{username}"),
                    'UserName': str(username),
                    'Tags': str(tags),
                    'PasswordLastUsed': str(i.get('PasswordLastUsed', ' ')),
                    'CreateDate': str(i['CreateDate'])
                })

    return var_list