CloudFormationが使えなかったのでCloudShellから複数のIAMユーザーを作成してみる

CloudFormationやTerraformが使えない状態で複数のIAMユーザーを作る必要がありました。 また、ローカル環境でAWS CLIの環境構築ができていないため使えない。 そんな時にCloudShellを使ってIAMユーザーを作成する方法をまとめました。
2023.12.05

はじめに

今回はCloudShellを立ち上げて、AWS CLIで複数のユーザーをまとめて作成する方法を記事にしていきたいと思います。
今回作成するIAMユーザーは次のような想定をしています。

  • コンソールログインあり
  • パスワードは作成者が管理

CloudFormationが使用できない、でもIAMユーザーをたくさん作りたいからコンソール画面では面倒。
そんな時の選択肢の一つとして今回の方法を試してみてください。

ユーザー情報のファイル作成

まずは今回作成するIAMユーザーのユーザー名とパスワードが書かれたcsvファイルを準備します。
こちらはサンプルなので、そのまま使わないように注意しましょう。
ファイル名は「users.csv」です。

demo_user1,123456Aa!
demo_user2,123456Bb!
demo_user3,123456Cc!
demo_user4,123456Dd!
demo_user5,123456Ee!

CloudShellの起動

コンソール画面にログインして、画面左下のCloudShellをクリックします。

するとCloudShellが起動します。

次に、CloudShellに先程作成したusers.csvをアップロードします。
アクションボタンから「ファイルのアップロード」を選択します。

最初に作成したusers.csvを選択してアップロードします。

IAMユーザーの作成

ではAWS CLIを使ってIAMユーザーを作成していきます。
次のどちらかの方法で以下のシェルスクリプトを作成します。

  • CloudShell上で作成(vim等のテキストエディタ)
  • ローカル環境で作成

ローカル環境で作成した場合は、先程と同じようにCloudShellへアップロードしてください。
こちらのファイル名は「ima_user.sh」とします。

#!/bin/zsh
while IFS=, read -r username password
do
        echo "Creating user: $username"
        aws iam create-user --user-name "$username"
        aws iam create-login-profile --user-name "$username" --password "$password"
done < users.csv

ではシェルスクリプトの権限を変更します。

chmod +x ima_user.sh

シェルスクリプトを実行します。

./ima_user.sh

では、これでIAMユーザーが作成されたことを確認します。

問題なくIAMユーザーが作成されています。
それでは、作成したIAMユーザーでログインできることを確認します。

一度サインアウトして、ログイン画面に移ります。
自身のアカウントIDと、csvで設定したユーザー名、パスワードを入力します。

ログインできることを確認します。

所感

CloudFormationもローカル環境のAWS CLIも使えないという状況でしたが、そんな時の救世主がCloudShellでした。
元々AWS CLIがインストールされているということもあり、困った時にパッと使える非常に便利な機能です。
皆さんもパッとAWS CLIで検証したい際は是非使ってみてください。