Edited at
SpeeeDay 11

re:dashの権限管理とその活用事例

More than 1 year has passed since last update.

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 は開発が活発に行われているため、権限周りの仕様も今後変わるかもしれませんが、

この記事が何かの参考になれば幸いです。

上手く使ってチーム内のデータ活用を促進していきましょう!