Advertisement
Guest User

Untitled

a guest
Feb 24th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. import boto3, csv, sys
  2.  
  3. iam = boto3.client('iam', aws_access_key_id="XXXXXX",aws_secret_access_key="XXXXX")
  4.  
  5. user_list = []
  6. max_items = 100
  7.  
  8. users = iam.list_users(MaxItems=max_items)
  9.  
  10. while users:
  11. for user in users['Users']:
  12. # Get user permissions
  13. policies = iam.list_attached_user_policies(UserName=user['UserName'])['AttachedPolicies']
  14. policy_list = list(item['PolicyName'] for item in policies)
  15.  
  16. # Get user groups
  17. groups = iam.list_groups_for_user(UserName=user['UserName'])
  18. groups_list = list(item['GroupName'] for item in groups['Groups'])
  19.  
  20. # Construct user dict
  21. user_details ={
  22. 'user': user['UserName'],
  23. 'groups': ", ".join(groups_list) if groups_list else "N/A",
  24. 'policies': ", ".join(policy_list) if policy_list else "None",
  25. 'last_login': user.get('PasswordLastUsed'),
  26. 'created': user['CreateDate'],
  27. }
  28. user_list.append(user_details)
  29. # Print progress marker because it may take awhile to complete
  30. sys.stdout.write("\r"+str(len(user_list)))
  31. sys.stdout.flush()
  32.  
  33. marker = users.get('Marker')
  34. users = iam.list_users(MaxItems=max_items, Marker=marker) if marker else False
  35.  
  36.  
  37.  
  38. keys = user_list[0].keys()
  39. with open('aws_users.csv', 'wb') as output_file:
  40. dict_writer = csv.DictWriter(output_file, keys)
  41. dict_writer.writeheader()
  42. dict_writer.writerows(user_list)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement