1. Qiita
  2. 投稿
  3. redash

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

  • 15
    いいね
  • 1
    コメント

re:dashにはver0.9.0から、ユーザーグループごとの権限管理が追加されています。
どのように権限が管理できるのか、
実運用でどう使えばいいのかを紹介します。

re:dash の権限管理モデル

参考: Permissions Model — Re:dash documentation

re:dashはグループ単位の権限モデルを採用しています。
ユーザーの所属するグループにデータソースを "Full Access""View Only" のどちらかで紐付けることで、データソースにアクセスできます。
選んだオプションで、対象データソースに関連するクエリとダッシュボードに対する権限が決まります。

re:dash権限選択

オプションによる権限の違いは以下の通り。

既存クエリ結果の閲覧 新規クエリの発行 ダッシュボードのウィジェット閲覧
Full Access
View Only ×
紐付けなし × × ×

Full Access と View Only の違いは 新規クエリが発行できるかどうか

データソースに対する書き込み権限の制御はre:dash側ではできないので
データソース側で権限管理しましょう。

View Only はいつ使うのか

View Only は「新規クエリは発行できないがクエリの結果は見られる」という権限です。
例えば以下のような場面で必要になります。

  • ダッシュボード閲覧のみができればいい
  • センシティブな情報が格納されているデータソースに対する集計結果のみ見たい

ダッシュボードに閲覧の制限はかけられるか

できません。
対象ダッシュボード内の一つでも自分がアクセスできるデータソース関連のウィジェットがあれば一覧に表示され、閲覧も可能です。
(閲覧権限がない他ウィジェットの内容は見られない)

事例: 営業メンバーがSQLを使うチームの re:dash 権限管理

何をしたかったか

自分の所属しているチームでは、 re:dash をメンバー全員が閲覧できるようにしています
営業など開発以外のメンバーも例外ではありません。

チーム内の情報共有の効率化と、分析できる人を増やすことが目的です。

誰もがデータに直接アクセスできることで、
SQLが書けるメンバーは自分でRDBにクエリを投げ、たとえ書けなくても
「こんなデータ出せる?」「出してみました(re:dash のクエリURLで共有)」
というコミュニケーションを取れるようになります。

どうやって実現したか

もちろんデータの中には、全員に見せられないセンシティブな情報もあります。
セキュリティは担保した上でメンバーに自由にデータを扱ってもらうために、
メンバーの権限は以下のような構成にしています。

re:dashデータソース構成
(かなり簡略化した図です。)

  • センシティブなデータをマスク済のデータソースには Full Access で関連付け
  • マスク前のデータソースは View Only で関連付け

こうすることで、どのデータソースであってもダッシュボードやクエリでメンバーに情報共有でき、
メンバーが自由にクエリを投げられるのはマスクされた安全なデータソースのみ になります。

おわりに

re:dash は開発が活発に行われているため、権限周りの仕様も今後変わるかもしれませんが、
この記事が何かの参考になれば幸いです。
上手く使ってチーム内のデータ活用を促進していきましょう!