1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSLにインストールしたAWS CLI v2 の認証にIAM Identity Center を設定してみた

Last updated at Posted at 2025-05-07

1.はじめに

Amazon Q Developer for CLI でAWS環境を操作できるようにしたく、WSL(Windows Subsystem for Linux)にAWS CLI v2 をインストールしました。

この一連の作業を記事に書きます。まずは、WSLのセットアップとAWS CLIのインストールまでを書きます。

本記事の内容は、2025年5月6日現在のAWS環境で試したものです。また、個人のAWSアカウントで検証した結果であり、個人の見解です。参考程度にとどめていただき、試す場合は自己責任でお願いいたします。

2.各種サービスについて

①WSL

Wikipediaの記事を簡単にまとめると、「Windowsマシン上でLinux仮想マシンを実行する仕組み」です。

②AWS CLI

コマンドラインでAWSを管理するツールで、v1(バージョン1)とv2(バージョン2)があります。

今回試そうとする、AWS CLIからAWS Identity Center を使ってシングルサインオン接続するためには、AWS CLI v2 が必要です。他にもv1とv2の違いは以下がありますが、今回は割愛します。

3.WSLのセットアップ

今回はUbuntuを実行できるようにします。

①PowerShellを管理者として実行します。

②WSLをインストールします。

wsl --install

インストールが完了したら以下の通り表示されますので、PCを再起動します。

image.png

③再起動後、再びPowerShellを実行します。

ここからは管理者権限でなくても問題ありません。

④Ubuntuをインストールします。

wsl --install -d Ubuntu

⑤Ubuntuがインストールされたことを確認します。

wsl -l -v

image.png

STATEが[STOP]と表示されていますので、起動する必要があります。

⑥Ubuntuを実行します。

wsl -d Ubuntu

以下のように表示されたら完了です。

image.png

4.AWS CLI v2のインストール及び認証設定

前提条件

  • WSLのセットアップが終わっていること
  • WSLを起動していること
  • AWS IAM Identity Centerを利用中であること
  • IAM Identity Center のユーザアカウントにMFA認証設定していること

PCにアクセスキー、シークレットアクセスキーを保存するのではなく、IAM Identity Centerでシングルサインオン(SSO)認証するよう設定します。
なお、本稿ではIAM Identity Centerの導入説明、MFA認証設定の説明は割愛します。

4-1.AWS CLI v2 のインストール

①インストーラーをダウンロードします

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

以下のような表示になったら、ダウンロード完了です。

image.png

②ダウンロードしたファイルを解凍します

unzip awscliv2.zip

③インストールスクリプトを実行します

sudo ./aws/install

少し時間がかかります。インストール完了したら、コマンドが打てるようになりますので、終わるまで待ちます。

④WSLを再起動します

sudo reboot

再起動せずに⑤を実行したところ、バージョンが表示されませんでした。一度再起動してから実行した方が良いと思います。

⑤インストールの確認をするために、AWS CLIのバージョンを確認します。

aws --version

以下のようにバージョンが表示されたら完了です。

aws-cli/2.27.8 Python/3.13.2 Linux/5.15.167.4-microsoft-standard-WSL2 exe/x86_64.ubuntu.22

4-2.シングルサインオン(SSO)設定

①SSO設定をするため、以下のコマンドを入力します。

aws configure sso

②以下の通り入力します。

項目名 入力内容 入力値例 備考
SSO session name (Recommended) SSOセッション名 任意の文字列
SSO Start URL IAM Identity CenterのトップURL https[:]//XXXXXX.awsapps.com/start リンクにならないよう : を[]で囲いました。実際にURLを入力する時には不要です。
SSO region IAM Identity Centerで使っているリージョン ap-northeast-1
SSO registration scopes スコープ sso:account:access 特に指定が無い場合は空欄で入力すれば、左記の値で設定されます。

image.png

SSO registration scopes の意味が、AWS公式ドキュメントを読んでも見当たりませんでした。今のところ、上記表の値(空欄)でも問題なさそうですが、この項目の意味と必要なシーンをご存じの方いらっしゃいましたら、教えていただけますと幸いです。

③コマンドラインに表示されるURLをブラウザで開きます。

④アクセス許可可否画面が表示されたら、「アクセスを許可」をクリックします。

image.png

⑤以下のような画面が表示されたらOKです。コマンドラインに戻ります。

スクリーンショット 2025-05-06 145903.png

⑥シングルサインしたいアカウントを選択します。

image.png

⑦SSOのプロファイルを入力します。

項目名 入力内容 具体的な値の例 備考
default client Region [None] 普段使っているリージョン ap-northeast-1 など
CLI default output format アウトプットフォーマット JSON 何も指定しなければ、JSON
Profile name SSOプロファイル名 任意の文字列

⑧以下の通り表示されたら設定完了です。

image.png

⑨プロファイル設定されたことを確認します。

cat ~/.aws/config

以下のように表示されます。

image.png

4-3.IAM Identity Center ログイン

①以下のコマンドを実行し、SSOログインします(以下のXXXXXXXにはプロファイル名を入れます)。

aws sso login --profile XXXXXX 

②コマンドラインに表示されるURLをブラウザで開きます。

③サインイン画面が表示されたら、IAM Identity Centerのユーザアカウントでサインインします。

image.png

④サインイン完了したら、コマンドラインに以下のように表示されます。

Successfully logged into Start URL: https://XXXXXXXX.awsapps.com/start

以上が、AWS CLI v2インストール~SSO設定~ログイン の手順です。

5.試しにAmazon S3 の一覧を取得してみた

今回、私がSSO設定したIAM Identity Centerの権限セットは、Amazon S3(以下、S3)へのアクセスが可能なポリシを付与しています。試しに、S3のバケットの一覧を取得してみました。

まず、以下のようにS3バケットを準備します(S3バケットの作り方は割愛します)。

image.png

以下のコマンドを実行します(以下のXXXXXXXにはプロファイル名を入れます)。

aws s3 ls --profile XXXXXX

以下のようにS3バケットの一覧が表示されます。

image.png

これで、WSLからAWS CLI v2 にてAWS環境を管理することができるようになりました。

6.まとめ

WSLにAWS CLIをインストールし、IAM Identity Centerで認証するまでの手順を書きました。

AWS CLIをPCで実行するためとはいえ、アクセスキーとシークレットアクセスキーを作ってPCに保存するのは、今のIAMのベストプラクティスに反してセキュアではないので、やるのは躊躇していました。IAM Identity Centerでも認証情報の扱いには注意しなければなりませんが、アクセスキーを作るよりは安全だと思いました。

次回の記事では、Amazon Q Developer CLI をインストールする手順をまとめます。

最後まで読んでいただき、ありがとうございました!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?