Redash 有分成 Users 和 Groups 的權限控管機制,
一個 Users 可以加好幾個 Groups,
而靠 Groups 去控管該 Users 對每個 Data Sources 的權限,
權限有分成三種:
Full Access
:可以對該 Data Sources 做任何 Query 及執行View Only
:只能看人家用該 Data Sources 建好的 Query 及定期更新或上次的執行結果,不能使用 Execute、Refresh、Parameter,但能使用 Filter完全沒有該 Data Sources
Redash 預設有兩個 Groups:
default
:所有新的 Users 都會預設加入此 Groups;而如果增加新的 Data Sources,該權限會設為 Full Accessadmin
:新的 Data Sources 並不會自動加入,要記得設定,有最高的編輯權限!不過對於權限與不同 Groups的運作邏輯,尚不完全了解,所以實測了不少項目:
Dashboard 中只要任一個 Widget ( Visualization ) 的 Data Sources 是使用者至少有 View Only 的權限 ( admin不限),就可以在列表看到並進入,而沒有權限的部分會被隱藏。而 Text Box 是沒有權限設定的,換句話說就是只要該 Dashboard 有任一 Text Box,就可以讓所有人看到。
在 Redash v5 的版本中,
針對每個 Users 還可以使用 Enable / Disable 功能 (v4 只能靠改密碼來處理),
Disable 功能是禁止該帳號登入,若該 Users 在線,點選 Redash 所有連結會無權限瀏覽,而重整網頁則是會強制登出;但就算該 User 被 Disable,他之前建立的 Queries / Dashboards 仍是存在的,可以繼續被他人使用!
這次體驗中也發現一些小細節:
我在公司的做法是維持 Default 設定,也就是所有 Users 都會加入,
其所有的 Data Sources 都為 Full Access,
這樣大家都能很輕易的操作任何 Query,同時也能操作我們很高頻使用的 Parameter,
而最底層也就是會被當成 Query Result 的 Query,
則是由有 admin 權限的人建立,確保一般使用不會輕易被改到而影響到其他人,
也保有萬一有錯誤,有其他夠熟悉 Data Sources 的人有相同 admin 修改權限!
ps. 文章同步發表於 Medium