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