Advertisement
Guest User

Untitled

a guest
Jan 29th, 2015
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. #! /usr/bin/env python
  2. import sys, getopt, boto.iam
  3.  
  4. def usage():
  5. print 'find_user_by_access_key.py -k <access_key>'
  6. sys.exit(1)
  7.  
  8. def main(argv):
  9. target_access_key = None
  10. try:
  11. opts, args = getopt.getopt(argv, 'k:', 'access-key=')
  12. for opt, arg in opts:
  13. if opt in ('-k', '--access-key'):
  14. target_access_key = arg
  15. except getopt.GetoptError:
  16. usage()
  17.  
  18. if target_access_key is None:
  19. usage()
  20.  
  21. user = find_user_by_access_key(target_access_key)
  22. if user is None:
  23. print 'None found'
  24. else:
  25. print user.user_name
  26.  
  27. def iam():
  28. return boto.connect_iam()
  29.  
  30. def users():
  31. return iam().get_all_users('/')['list_users_response']['list_users_result']['users']
  32.  
  33. def find_user_by_access_key(target_access_key):
  34. for user in users():
  35. for key_result in iam().get_all_access_keys(user['user_name'])['list_access_keys_response']['list_access_keys_result']['access_key_metadata']:
  36. user_access_key = key_result['access_key_id']
  37. if user_access_key == target_access_key:
  38. return user
  39. return None
  40.  
  41. if __name__ == '__main__':
  42. main(sys.argv[1:])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement