【AWS】sso-loginの半自動化(Windowsバッチ)

IT
  • AWS SSO(AWS Single Sign-On)を毎日使用する
  • 複数アカウントのリソースを触るため、毎回コマンドを入力するのが面倒
    • コマンド入力で、複数アカウントのprofile名も覚えて毎回入力するのが大変
  • なので、configファイルのprofile名を一覧として出力して、一覧の数字を入力すると、数字と紐づいたprofile名でsso-loginするツールを作成した
  • Windows環境のため、Windowsバッチで作成
  • 注意:
    • 私の環境のconfigファイルでは動作を確認していますが、環境によっては動かない可能性があります
    • 必要に応じて、適宜改修してご利用ください

コード

  • Windowsバッチで記述
@echo off
setlocal

set "【configファイルのパス】"

if not exist "%configFile%" (
    echo AWS config file not found.
    exit /b 1
)

echo Available profiles:
setlocal enabledelayedexpansion
set count=1
for /f "tokens=2 delims=[] " %%a in ('findstr /r /c:"^\[profile.*\]$" "%configFile%"') do (
    echo !count!. %%a
    set Arr[!count!]=%%a
    set /a count+=1
)

setlocal enabledelayedexpansion
set /p "selectedNumber=Enter the profile number: "

echo !selectedNumber!
echo !Arr[%selectedNumber%]!
aws sso login --profile !Arr[%selectedNumber%]!

rem PAUSE
endlocal

memo

全体の流れ

  • 設定ファイルの存在を確認
  • 設定ファイルから利用可能なプロファイル一覧を出力
  • プロファイルに対応した数字を入力→aws sso loginコマンドが該当プロファイルで走る

コメント

タイトルとURLをコピーしました