はじめに
AWSでユーザを一括作成したかったのですが、
画面ポチポチでなくてCLIで一括作成したかったので・・・
前提条件
・AWS CLIをインストールしていること。
・AWS CLIの初期設定をしていること。
・初期設定したロールにIAMの権限が付与されていること。
・アタッチするIAMグループが予め作成されていること。
説明
createUser.csvを基にIAMユーザを一括作成します。
一括作成時に予め作成したIAMグループをアタッチします。
作成したユーザーでログインすると初期パスワードの設定を求められます。
ブツ
シェル
for a in `cat $1`
do
USER_NAME=`echo ${a} | awk -F, '{print $1}'`
USER_PASS=`echo ${a} | awk -F, '{print $2}'`
GROUP_NAME=`echo ${a} | awk -F, '{print $3}'`
aws iam create-user --user-name ${USER_NAME} && \
aws iam create-login-profile --user-name ${USER_NAME} --password ${USER_PASS} --password-reset-required && \
aws iam add-user-to-group --user-name ${USER_NAME} --group-name ${GROUP_NAME}
done
リスト
[ ユーザ名,パスワード,IAMグループ ]の3カラム構成です。
Practice_user01,P@ssw0rd!!!,AWS_Practice_Group
Practice_user02,P@ssw0rd!!!,AWS_Practice_Group
Practice_user03,P@ssw0rd!!!,AWS_Practice_Group
Practice_user04,P@ssw0rd!!!,AWS_Practice_Group
Practice_user05,P@ssw0rd!!!,AWS_Practice_Group
使用方法
シェルとリストをカレントディレクトリに配置して叩くだけです。
例1の場合レスポンスを標準出力します。
例2の場合レスポンスをテキストに保存します。
例1:
\$ sudo bash createUser.sh createUser.csv
例2:
\$ sudo bash createUser.sh createUser.csv > createUserResult.txt
{
"User": {
"Path": "/",
"UserName": "Practice_user01",
"UserId": "XXXXXXXXXXXXXXXXXXX",
"Arn": "arn:aws:iam::043333398123:user/Practice_user01",
"CreateDate": "2019-05-25T07:31:35Z"
}
}
{
"LoginProfile": {
"UserName": "Practice_user01",
"CreateDate": "2019-05-25T07:31:36Z",
"PasswordResetRequired": true
}
}
AWSコンソールへのアクセス方法
ログインURLにログインしてユーザおよびパスワードを入力するだけ。
そうするとパスワードの変更を求められるので、変更する。
予め管理アカウントでパスワードポリシーの強化やMFA設定をしておくのをオススメします。
https://[response中のArnに記載されている数字].signin.aws.amazon.com/console
上記responceだとアクセスURLは下記になる。
https://043333398123.signin.aws.amazon.com/console
終わりに
自分への備忘録程度に残しておきます。
何かありましたらコメントや修正リクエストいただけると幸いです。