re:dashにはver0.9.0から、ユーザーグループごとの権限管理が追加されています。
どのように権限が管理できるのか、
実運用でどう使えばいいのかを紹介します。
re:dash の権限管理モデル
参考: Permissions Model — Re:dash documentation
re:dashはグループ単位の権限モデルを採用しています。
ユーザーの所属するグループにデータソースを "Full Access" か "View Only" のどちらかで紐付けることで、データソースにアクセスできます。
選んだオプションで、対象データソースに関連するクエリとダッシュボードに対する権限が決まります。
オプションによる権限の違いは以下の通り。
既存クエリ結果の閲覧 | 新規クエリの発行 | ダッシュボードのウィジェット閲覧 | |
---|---|---|---|
Full Access | ◯ | ◯ | ◯ |
View Only | ◯ | × | ◯ |
紐付けなし | × | × | × |
Full Access と View Only の違いは 新規クエリが発行できるかどうか 。
データソースに対する書き込み権限の制御はre:dash側ではできないので
データソース側で権限管理しましょう。
View Only はいつ使うのか
View Only は「新規クエリは発行できないがクエリの結果は見られる」という権限です。
例えば以下のような場面で必要になります。
- ダッシュボード閲覧のみができればいい
- センシティブな情報が格納されているデータソースに対する集計結果のみ見たい
ダッシュボードに閲覧の制限はかけられるか
できません。
対象ダッシュボード内の一つでも自分がアクセスできるデータソース関連のウィジェットがあれば一覧に表示され、閲覧も可能です。
(閲覧権限がない他ウィジェットの内容は見られない)
事例: 営業メンバーがSQLを使うチームの re:dash 権限管理
何をしたかったか
自分の所属しているチームでは、 re:dash をメンバー全員が閲覧できるようにしています 。
営業など開発以外のメンバーも例外ではありません。
チーム内の情報共有の効率化と、分析できる人を増やすことが目的です。
誰もがデータに直接アクセスできることで、
SQLが書けるメンバーは自分でRDBにクエリを投げ、たとえ書けなくても
「こんなデータ出せる?」 → 「出してみました(re:dash のクエリURLで共有)」
というコミュニケーションを取れるようになります。
どうやって実現したか
もちろんデータの中には、全員に見せられないセンシティブな情報もあります。
セキュリティは担保した上でメンバーに自由にデータを扱ってもらうために、
メンバーの権限は以下のような構成にしています。
- センシティブなデータをマスク済のデータソースには Full Access で関連付け
- マスク前のデータソースは View Only で関連付け
こうすることで、どのデータソースであってもダッシュボードやクエリでメンバーに情報共有でき、
メンバーが自由にクエリを投げられるのはマスクされた安全なデータソースのみ になります。
おわりに
re:dash は開発が活発に行われているため、権限周りの仕様も今後変わるかもしれませんが、
この記事が何かの参考になれば幸いです。
上手く使ってチーム内のデータ活用を促進していきましょう!