[PYTHON] Connectez-vous facilement à AWS avec plusieurs comptes

Connectez-vous facilement à AWS avec plusieurs comptes

La commutation est problématique lors de l'utilisation de plusieurs comptes sur AWS. Dans Chrome, il semble que vous puissiez y faire face en passant en mode secret ou en basculant le compte Chrome lui-même, mais cela est également gênant.

C'est pourquoi j'ai décidé d'utiliser Selenium et Webdriver pour lancer le navigateur, puis me connecter.

Tout d'abord, enregistrez la source suivante sous login.py. Veuillez réécrire votre e-mail et votre mot de passe.

#! /usr/bin/env python
#-*- coding: utf-8 -*-

from selenium import webdriver

email = 'EMAIL'
password = 'PASSWORD'

d = webdriver.Chrome("./chromedriver")
d.get('https://www.amazon.com/ap/signin?openid.assoc_handle=aws&openid.return_to=https%3A%2F%2Fsignin.aws.amazon.com%2Foauth%3Fresponse_type%3Dcode%26client_id%3Darn%253Aaws%253Aiam%253A%253A015428540659%253Auser%252Fhomepage%26redirect_uri%3Dhttps%253A%252F%252Fconsole.aws.amazon.com%252Fconsole%252Fhome%253Fstate%253DhashArgs%252523%2526isauthcode%253Dtrue%26noAuthCookie%3Dtrue&openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&action=&disableCorpSignUp=&clientContext=&marketPlaceId=&poolName=&authCookies=&pageId=aws.ssop&siteState=pre-register%2Cja&accountStatusPolicy=P1&sso=&openid.pape.preferred_auth_policies=MultifactorPhysical&openid.pape.max_auth_age=120&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&server=%2Fap%2Fsignin%3Fie%3DUTF8&accountPoolAlias=&forceMobileApp=0&language=ja&forceMobileLayout=0')

inputEmail = d.find_element_by_id('ap_email')
inputEmail.send_keys(email)
inputPassword = d.find_element_by_id('ap_password')
inputPassword.send_keys(password)
signInBtn = d.find_element_by_id('signInSubmit-input')
signInBtn.click()

d.maximize_window()

Donc, si c'est mac, créez un batch dans la même hiérarchie comme login.command.

cd `dirname $0`
./login.py
exit

Ensuite, appelez Spotlight avec ⌘ + Espace, et appelez login.command pour ouvrir le navigateur et vous connecter. C'est comme préparer les fichiers ci-dessus pour chaque compte.

C'est assez difficile, mais dites-moi s'il existe un autre bon moyen.

Recommended Posts

Connectez-vous facilement à AWS avec plusieurs comptes
Connectez-vous à un serveur distant avec SSH
Connectez-vous à Yahoo Business avec Selenium Python
Premiers pas avec AWS IoT facilement en Python
Créez Amazon Linux avec AWS EC2 et connectez-vous
[AWS] Comment gérer l'erreur "Point de code non valide" dans CloudSearch
Je n'arrive pas à me connecter à la page d'administration avec Django 3
Je voulais supprimer plusieurs objets en s3 avec boto3
Comment se connecter à AtCoder avec Python et soumettre automatiquement
Connectez-vous à plusieurs bases de données avec SQL Alchemy
Publiez facilement sur Twitter avec Python 3
Comment se connecter à Docker + NGINX
Connectez-vous à Raspberry PI avec ssh sans mot de passe (authentification par clé)
Deux façons d'afficher plusieurs graphiques dans une seule image avec matplotlib
J'ai essayé de me connecter automatiquement à Twitter avec du sélénium (RPA, scraping)
Comment titrer plusieurs figures avec matplotlib
Envoyer des e-mails à plusieurs destinataires avec Python (Python3)
Sortie du journal Python vers la console avec GAE
Comment utiliser BigQuery en Python
Connectez-vous à Slack à l'aide de requêtes en Python
Je veux jouer avec aws avec python
Traiter plusieurs listes avec for en Python
Si vous souhaitez obtenir plusieurs statistiques avec groupby of pandas v1
Connectez-vous à s3 avec AWS Lambda Python
Écraser les données dans RDS avec AWS Glue
Pour faire fonctionner la station d'horodatage en Python
Téléchargez ce que vous avez dans la demande vers S3 avec AWS Lambda Python
Script pour utiliser correctement plusieurs comptes github dans le même référentiel sur la même machine
Comment gérer les fuites de mémoire dans matplotlib.pyplot
[REAPER] Comment jouer à Reascript avec Python
Comment supprimer le journal avec Docker, ne pas collecter le journal
Enregistrez plusieurs modèles sous un seul formulaire avec Django
Convertissez des PDF en images en masse avec Python
J'ai essayé d'intégrer Keras dans TFv1.1
Je souhaite afficher plusieurs images avec matplotlib.
Convertissez facilement les notebooks Jupyter en blogs avec Fastpages
Comment gérer les erreurs d'exécution dans subprocess.call
Comment utiliser tkinter avec python dans pyenv
AWS Step Functions pour apprendre avec un exemple
Connectez facilement Xillybus et la logique utilisateur avec cReComp
[Python] Traitement de plusieurs erreurs d'appel dans ray.init
Configurer un module avec plusieurs fichiers dans Django
Connectez-vous avec json en utilisant pygogo.
[Python] Mention à plusieurs personnes avec l'API de Slack
Comment renvoyer plusieurs index avec la méthode d'index
Décrivez la destination ssh en plusieurs étapes dans la configuration, connectez-vous facilement et copiez le fichier avec scp
Comment convertir / restaurer une chaîne avec [] en python
Je veux facilement implémenter le délai d'expiration en python
Créez facilement du HPC sur AWS avec un cluster AWS Cfn authentique
Comment obtenir plusieurs objets de modèle au hasard dans Django
Comment écrire une concaténation de chaînes sur plusieurs lignes en Python
Je veux faire la transition avec un bouton sur le ballon
Comment faire un calcul de hachage avec Salt en Python
Attribuer à n'importe quelle colonne de chaque ligne avec np.array
Mettez les données AWS dans Google Spreadsheet avec boto + gspread
Comment gérer l'échec de l'initialisation pyenv dans Fish 3.1.0
Comment faire du zéro-padding sur une ligne avec OpenCV
Comment exécuter des tests avec Python unittest
Comment charger des fichiers dans Google Drive avec Google Colaboratory
Convertissez l'image au format .zip en PDF avec Python