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

redash

re:dashに触れる中でアカウント情報を追加する際にメール環境が必要であり、用意に手間がかかるため
他の手段でアカウントの制御を行えないか調べてみました。
結果として、re:dashにはCLIが用意されていたのでCLIを使ってアカウントを追加してみました。

対象インスタンスへsshログイン

1
ssh -i <キーペア名> -u ubuntu <接続インスタンスIP or DNS名>

コマンドを実行する(ユーザー一覧を表示する)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ 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アドレス> "<ユーザー名>"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
$ 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アドレス>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$ 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のままとなりますので、後日権限付与を整理して記事にしたいと思います。