タイトルの通りですが、Pythonでseleniumを使ってAWSコンソールのログイン処理を自動化したので投稿します。
最近、AWSアカウントを複数利用する(個人用/会社用/顧客用などなど)ケースが増えてきており、さらにパスワードポリシーが様々で大混乱中のため自動化しました(^^;)
いわゆるPythonにseleniumをインストールしてWebスクレイピングする編です。
想定読者
- AWSコンソールのログインが面倒に感じている人
- Pythonが気になっている人
- Webの自動化に取り組みたい人
作業時間
約15分
参考ページ
こちらのページのseleniumの基本操作で実現出来ました(^^)
作業手順
- ブラウザのドライバダウンロード
- Pythonにseleniumをインストール
- 実装
それでは1つ1つ手順を説明します。
1.ブラウザのドライバダウンロード
seleniumはブラウザのドライバを使ってWebサイトの操作を自動化します。
ということで事前にドライバをダウンロードします。
今回はChromeのドライバを用意することにします。
Chromeは以下のURLからダウンロードできます。
stableバージョンの最新ドライバをダウンロードしましょう。
自身の環境に合ったものをクリックします。(私はWindowsユーザなので。。。)
ダウンロードしたzipファイルを解凍して「chromedriver.exe」を任意のフォルダにコピーします。
以上です。この手順は終了です。
2.Pythonにseleniumをインストール
これはpipを使えばすぐですね。以下を実行してください。
pip install selenium
3.実装
いよいよ実装です。
と、言ってもこちらも一瞬です。
以下のソースコードをコピーして
- CHROME_DRIVER
- AWS_ACCOUNT_ID
- AWS_IAM_ID
- AWS_IAM_PASSS
の4か所を自身のChromeドライバを格納したフォルダ、AWSアカウント/IAM ID/パスワードに変えましょう。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
CHROME_DRIVER = "C:\\Python\\drive\\chromedriver"
OPEN_AWS_URL = "https://console.aws.amazon.com"
AWS_ACCOUNT_ID = "111111111111"
AWS_IAM_ID = "XXXXXX"
AWS_IAM_PASSS = "xxxxxxxx"
driver = webdriver.Chrome(CHROME_DRIVER,options=Options())
print("OPNE:" + OPEN_AWS_URL)
driver.get(OPEN_AWS_URL)
driver.find_element_by_id("iam_user_radio_button").click()
print("ACCOUT ID 入力")
driver.find_element_by_id("resolving_input").send_keys(AWS_ACCOUNT_ID)
driver.find_element_by_id("next_button").click()
print("USER NAME 入力")
driver.find_element_by_id("username").send_keys(AWS_IAM_ID)
print("PASSWORD 入力")
driver.find_element_by_id("password").send_keys(AWS_IAM_PASSS)
driver.find_element_by_id("signin_button").click()
では、実行。
お、
おお、
成功です!なんだか画面が勝手に動いているのを見ているとワクワクします(^^)
お疲れ様でした!!
補足
IAMユーザがMFA認証の場合(ほとんどの方がセキュリティ的にこっちだと思いますが)、最後が以下の画面表示になります。
MFAはパスワードが毎回変わるので、ここでMFAのパスワードを手動入力してログインします。(私はこっちで運用してます)
これでもAWSコンソールのAWSアカウント、IAM ID、パスワード入力が自動的にされるのでだいぶ楽になりました(^^)
まとめ
今回は、Python seleniumを使ってAWSコンソールのログイン処理を自動化しました。
実は、seleniumを使うのが初めてで何か楽したいな思ってAWSコンソール自動化にチャレンジしました。
AWSコンソールのログインに煩わしさを感じている方はぜひ試してみてください。以上です。
ここまで読んで頂き、ありがとうございました!