この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
- t_o_dと申します。
- ローカル上に構築するS3互換ストレージとしてMinIOを利用しています。
- MinIOではストレージ機能の他にユーザーやグループ作成機能があり、またそれをmcというクライアントツールでCLIで操作することも可能です。
- そこで今回はmcを利用してユーザー一覧ファイルから複数ユーザーを一括で作成する方法を記録いたします。
環境
- mac OS Monterey 13.0
- Docker 20.10.17
- Docker Compose 2.11.1
準備
対象ストレージの用意
- 操作対象となるMinIOを用意してください。
- ※用意していない場合、こちらの記事の「準備→対象ストレージ」欄をご参考にDocker Composeで用意してください。
- 用意できたら対象MinIOサーバーにアクセス(例ではlocalhost:9000)して、以下のようにユーザーがまだいないことを確認します。
mcのインストール及び接続設定
- MinIOクライアントツールのmcを用意してください。
- ※用意していない場合、こちらの記事の「準備→mcのインストール」欄をご参考にDockerで用意してください。
- 用意できたら以下のコマンドでmc接続設定を確認してください。
- ※今回の例ではエイリアス名を「myminio」で設定したMinIOサーバーを利用します。
# 確認
mc alias list
myminio
URL : http://host.docker.internal:9000
***************************
- 適切に設定できたら準備は以上です。
手順
ユーザー一覧ファイル作成
- 今回は10人分のユーザーを作成することにします。
- そのため以下のコマンドで10人分の「ユーザー名・パスワード」の情報を持ったダミーユーザーファイルを作成します。
- ファイル名 : 「users」
# ダミーユーザーファイル作成
cat /dev/urandom | base64 | fold -w 20 | head -n10 | awk '{print "user_" NR,$1}' > users
# 中身確認
cat users
user_1 xxxxxx
user_2 xxxxxx
user_3 xxxxxx
********
mcでのユーザー作成
- ファイル作成後、そのファイルを元にmcで複数ユーザーを作成します。
- まずmcでユーザーを新規作成する場合は以下の形式です。
- ※デフォルトではアクセスのみでポリシーは何も設定されていません。
# 引数形式
mc admin user add エイリアス名 ユーザー名 パスワード
# 対話式
mc admin user add エイリアス名
# 標準入力
echo -e "ユーザー名\nパスワード" | mc admin user add エイリアス名
- なので以下のコマンドをうち、ループで逐次mcでのユーザー作成処理を行います。
cat users | while read -r line; do mc admin user add myminio $line; done
Added user `user_1` successfully.
Added user `user_2` successfully.
*****
- 実行後、管理者でMinIOにアクセスしてユーザーが作成されているか確認します。
- 確認できたらサインアウトして、作成されたユーザー情報でログインができるか確認します。
- ※以下では例として「users」ファイルに記載の「user_10」の情報でログインしています。
- 正常にログインできれば完了です。
まとめ
- MinIOでは様々な機能が存在しており、またmcでも操作できるのが利点です。
- 今後も他の機能を調査して活用していきたいと思います。
参考
アノテーション株式会社について
アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。