コマンドラインでre:dashアカウントを追加・削除してみる
re:dashに触れる中でアカウント情報を追加する際にメール環境が必要であり、用意に手間がかかるため
他の手段でアカウントの制御を行えないか調べてみました。
結果として、re:dashにはCLIが用意されていたのでCLIを使ってアカウントを追加してみました。
対象インスタンスへsshログイン
ssh -i <キーペア名> -u ubuntu <接続インスタンスIP or DNS名>
コマンドを実行する(ユーザー一覧を表示する)
$ cd /opt/redash/current ; pwd /opt/redash/current $ sudo -u redash bin/run ./manage.py users list Id: 1 Name: yoshie Email: xxxx_yyyy@gmail.com Organization: classmethod, Inc -------------------- Id: 3 Name: test-user Email: xxxx_yyyy@gmail.com Organization: classmethod, Inc -------------------- Id: 5 Name: test-2 Email: xxxx_yyyy@gmail.com Organization: classmethod, Inc -------------------- Id: 6 Name: private Email: xxxx_yyyy@gmail.com Organization: classmethod, Inc
ユーザーを追加する
redashではメールアドレスをユーザーIDとして利用します。
そのため、ユーザーを追加する際にはユニークなメールアドレスである必要があります。
sudo -u redash bin/run ./manage.py users create <Emailアドレス> "<ユーザー名>"
$ cd /opt/redash/current ; pwd /opt/redash/current $ sudo -u redash bin/run ./manage.py users create yoshiemon@xxxxx.com "yoshiemon" Creating user (yoshiemon@xxxxx.com, yoshiemon) in organization default... Admin: False Login with Google Auth: False Password: <パスワードを入力> Repeat for confirmation: <パスワードを入力> ubuntu@ip-xxx-xxx-xxx-xxx:/opt/redash/current$ ☆ユーザーを確認 $ sudo -u redash bin/run ./manage.py users list Id: 1 Name: yoshie Email: xxxx_yyyy@gmail.com Organization: classmethod, Inc -------------------- Id: 3 Name: test-user Email: xxxx_yyyy@gmail.com Organization: classmethod, Inc -------------------- Id: 5 Name: test-2 Email: xxxx_yyyy@gmail.com Organization: classmethod, Inc -------------------- Id: 6 Name: private Email: xxxx_yyyy@gmail.com Organization: classmethod, Inc -------------------- Id: 11 Name: yoshiemon Email: yoshiemon@xxxxx.com Organization: classmethod, Inc
ユーザーを削除する
ユーザー追加と同様にdeleteオプションを指定することでユーザーを削除することが出来ます。
sudo -u redash bin/run ./manage.py users delete <Emailアドレス>
$ sudo -u redash bin/run ./manage.py users list -------------------- ☆☆☆ 削除対象ユーザー ☆☆☆ Id: 11 Name: yoshiemon Email: yoshiemon@xxxxx.com Organization: classmethod, Inc -------------------- $ sudo -u redash bin/run ./manage.py users delete yoshiemon@xxxxx.com Deleted 1 users. $ sudo -u redash bin/run ./manage.py users list Id: 1 Name: yoshie Email: xxxx_yyyy@gmail.com Organization: classmethod, Inc -------------------- Id: 3 Name: test-user Email: xxxx_yyyy@gmail.com Organization: classmethod, Inc -------------------- Id: 5 Name: test-2 Email: xxxx_yyyy@gmail.com Organization: classmethod, Inc -------------------- Id: 6 Name: private Email: xxxx_yyyy@gmail.com Organization: classmethod, Inc
最後に
今回のようにコマンドラインによって、ユーザー追加を行うことが出来ました。
但し、今回の作業ではユーザーを追加したのみであり、権限の設定が行われておりません。
権限設定をしなければdefaultのままとなりますので、後日権限付与を整理して記事にしたいと思います。