def create_key_pairs(): """Create key pairs for all users""" conn = _connect() with open(USER_FILE) as users: for user in users: user = user.split(',')[0].strip() # directory to store keys on host if not os.path.exists('/host/{0}/users/{1}'.format(VPC, user)): os.makedirs('/host/{0}/users/{1}'.format(VPC, user)) if check_key_pair(user + '-{0}'.format(VPC)): if util.yn_prompt( 'Key pair exists. Delete and create a new one?'): delete_key_pair(user) else: continue print "Creating key pair: {0} ...".format(user + '-{0}'.format(VPC)) key = conn.create_key_pair(user + '-{0}'.format(VPC)) key.save('/host/{0}/users/{1}'.format(VPC, user)) # Generate ppk for Windows/PuTTY users os.system( "puttygen /host/{1}/users/{0}/{0}-{1}.pem -o /host/{1}/users/{0}/{0}-{1}.ppk -O private" .format(user, VPC)) with open('/host/{0}/key-pairs.txt'.format(VPC), 'a') as f: f.write(user + '-' + VPC + '\n') print "Key '{0}' created and saved ...".format(user + '-{0}'.format(VPC))
def create_key_pairs(): """Create key pairs for all users""" conn = _connect() with open(USER_FILE) as users: for user in users: user = user.split(",")[0].strip() # directory to store keys on host if not os.path.exists("/host/{0}/users/{1}".format(VPC, user)): os.makedirs("/host/{0}/users/{1}".format(VPC, user)) if check_key_pair(user + "-{0}".format(VPC)): if util.yn_prompt("Key pair exists. Delete and create a new one?"): delete_key_pair(user) else: continue print "Creating key pair: {0} ...".format(user + "-{0}".format(VPC)) key = conn.create_key_pair(user + "-{0}".format(VPC)) key.save("/host/{0}/users/{1}".format(VPC, user)) # Generate ppk for Windows/PuTTY users os.system( "puttygen /host/{1}/users/{0}/{0}-{1}.pem -o /host/{1}/users/{0}/{0}-{1}.ppk -O private".format( user, VPC ) ) with open("/host/{0}/key-pairs.txt".format(VPC), "a") as f: f.write(user + "-" + VPC + "\n") print "Key '{0}' created and saved ...".format(user + "-{0}".format(VPC))
def delete_user(conn, user): if util.yn_prompt( "Are you sure you want to delete user: '******'?".format(user)): all = conn.get_all_user_policies(user) policies = all.list_user_policies_response.list_user_policies_result.policy_names for policy in policies: conn.delete_user_policy(user, policy) all = conn.get_all_access_keys(user) keys = all.list_access_keys_response.list_access_keys_result.access_key_metadata for key in keys: conn.delete_access_key(key.access_key_id, user) try: profile = conn.get_login_profiles(user) except: profile = None if profile: conn.delete_login_profile(user) conn.delete_user(user) print "'{0}' AWS user deleted ...".format(user) else: print "Delete cancelled ..."
def delete_user(conn, user): if util.yn_prompt("Are you sure you want to delete user: '******'?".format(user)): all = conn.get_all_user_policies(user) policies = all.list_user_policies_response.list_user_policies_result.policy_names for policy in policies: conn.delete_user_policy(user, policy) all = conn.get_all_access_keys(user) keys = all.list_access_keys_response.list_access_keys_result.access_key_metadata for key in keys: conn.delete_access_key(key.access_key_id, user) try: profile = conn.get_login_profiles(user) except: profile = None if profile: conn.delete_login_profile(user) conn.delete_user(user) print "'{0}' AWS user deleted ...".format(user) else: print "Delete cancelled ..."
def create_user(conn, user): conn.create_user(user) conn.put_user_policy(user, 'train', POLICY) info = conn.create_access_key(user) pword = None if util.yn_prompt('Allow user to log into the AWS Console?'): pword = generate_password() conn.create_login_profile(user, pword) print "\n'{0}' user created succesfully ...\n".format(user) print "Username: {0}".format(info.user_name) if pword: print "Password: {0}".format(pword) print "Access Key ID: {0}".format(info.access_key_id) print "Secret Access Key: {0}\n".format(info.secret_access_key)
def create_key_pairs(): """Create key pairs for all users""" conn = _connect() with open(USER_FILE) as users: for user in users: user = user.strip() # directory to store keys on host if not os.path.exists('/host/share/{0}'.format(user)): os.makedirs('/host/share/{0}'.format(user)) if check_key_pair(user): if util.yn_prompt('Key pair exists. Delete and create a new one?'): delete_key_pair(user) else: continue print "Creating key pair: {0} ...".format(user + '-{0}'.format(TRAIN_TAG)) key = conn.create_key_pair(user + '-{0}'.format(TRAIN_TAG)) key.save('/host/share/{0}'.format(user)) print "Key '{0}' created and saved ...".format(user + '-{0}'.format(TRAIN_TAG))