概要
AWS SSOで
CLIを使うときに
ブラウザを指定して、ログインする
そんなスクリプトを作りたかった話です。
ログインスクリプト全自動ではないです。
練習がてら書きます。
そもそものAWS SSOでログイン
複数のAWSアカウントを設定する場合が増えてきました。
AWS SSOのURLでログインした後、各自利用するアカウントに遷移して利用しています。
CLIで使う場合は、CLIで設定して、各自利用するアカウントのプロファイルを作成します。
たたし、CLIの場合、認証切れるたびにブラウザログインが必要です。
面倒なのですが、どうやらそれを簡単に克服する機能はないようでした。
その辺のこと、忘れないようにメモしておきます。
SSOのAWSCLI設定
下記にて、設定を作成する。
aws configure sso
必要なのはSSOログインするURLとアカウント
プロファイル名がデフォルトだと不思議な文字列(アカウントIDとかいろいろ)になるので
わかりやすいものに変えた方がいいです。
CLIのログイン
だいたい1日一回程度は必要です。
aws sso login --profile ${設定したプロファイル名}
コマンド実行するとブラウザが開くので、ログインします。
ここまで公式通り。
AWSCLI ログインスクリプト
普通に書くだけなのですが、ブラウザを指定して開きたかったので
下記をcli-login.shとして作成して使ってます。
※GitBash入れただけの普通のWindows環境です
#! /bin/bash
export BROWSER='/c/Program Files/Google/Chrome/Application/chrome.exe'
aws sso login --profile ${設定したプロファイル名}
一応PowerShellの場合
$Env:BROWSER="C:/Program Files/Google/Chrome/Application/chrome.exe"
aws sso login --profile ${設定したプロファイル名}
参考
AWSの公式