コマンドラインでre:dashアカウントを追加・削除してみる

2017.09.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

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のままとなりますので、後日権限付与を整理して記事にしたいと思います。