Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python
- import sys, getopt, boto.iam
- def usage():
- print 'find_user_by_access_key.py -k <access_key>'
- sys.exit(1)
- def main(argv):
- target_access_key = None
- try:
- opts, args = getopt.getopt(argv, 'k:', 'access-key=')
- for opt, arg in opts:
- if opt in ('-k', '--access-key'):
- target_access_key = arg
- except getopt.GetoptError:
- usage()
- if target_access_key is None:
- usage()
- user = find_user_by_access_key(target_access_key)
- if user is None:
- print 'None found'
- else:
- print user.user_name
- def iam():
- return boto.connect_iam()
- def users():
- return iam().get_all_users('/')['list_users_response']['list_users_result']['users']
- def find_user_by_access_key(target_access_key):
- for user in users():
- for key_result in iam().get_all_access_keys(user['user_name'])['list_access_keys_response']['list_access_keys_result']['access_key_metadata']:
- user_access_key = key_result['access_key_id']
- if user_access_key == target_access_key:
- return user
- return None
- if __name__ == '__main__':
- main(sys.argv[1:])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement