PowerBI 企業級全動態許可權控制解決方案模板

  • 2019 年 10 月 6 日
  • 筆記

如果你也遇到 PowerBI 許可權控制的企業級難題,那本文模板正是你需要的。

一段時間前,我們發布了 PowerBI 全動態許可權控制方案,該方案基本完善地介紹了在 PowerBI 如何進行動態化的許可權控制。而作為企業級的方案,還可能面臨更多苛刻的要求,如:按角色設置許可權;可測試;可快速移植;可容錯。

本次發布的解決方案可以解決上述所有問題,是企業級全動態的完整解決方案。

介紹

本方案通過Excel作為配置文件實現PowerBI的全動態許可權控制,其優點在於:

  • 【模式1】可以直接為用戶設置許可權。
  • 【模式2】可以先為用戶設置角色,再為角色設置許可權。
  • 可以根據實際情況使用【模式1】或【模式2】其中一種,或同時使用。
  • 用戶對Excel配置文件的配置是任意靈活的,隨意擴展列。
  • Excel配置文件做了「防呆」處理,可以兼容用戶輸入的錯誤。
  • 模式複製非常簡單:一鍵複製PQ;一鍵複製度量值修改2處參數即可。
  • 超越PowerBI內置RLS許可權控制的能力。
  • 發布報告後,修改許可權控制僅需修改Excel配置文件,通過數據網關刷新即可。
  • 另外,解決方案提供的模板文件還附有測試部分,讓用戶使用更加放心完整。

流程圖解

步驟如下:

  1. 用戶在 Excel配置文件 中進行許可權配置
  2. 在本地編輯PowerBI報告文件
  3. 發布到雲端
  4. 通過數據網關讀取 Excel許可權配置文件 來動態設置許可權

許可權配置

有三種模式可以設置許可權:

【模式1】直接為用戶設置許可權

【用戶名稱】及【用戶帳號】是必須的,而後面的列是可以任意擴展的,自由度非常大;填寫內容標籤時有防呆融錯處理,防止用戶隨手的錄入錯誤。

適用場景推薦:企業人員不多,且都可以單獨設置。

【模式2】為角色設置許可權後為用戶賦予角色

首先,為角色設置許可權:

其次,為用戶賦予角色:

適用場景推薦:企業人員較多,但比較規整,可以通過角色分類,隨後為角色設置許可權。

【模式3】是綜合【模式1】與【模式2】

可以同時(且這是默認的)使用【模式1】與【模式2】。

如何使用

第一步,將PQ查詢一起複制進入目標PBI文件:

PQ中使用參數化路徑,可以靈活調節配置文件位置。

第二步,將許可權控制度量值複製:

複製並修改模板度量值即可:

只需要修改2處即可:

  • 「地區-省份」與Excel配置文件中的列名對應。
  • 『地區』[省/自治區]與上條設置文本欲控制的列對應。

RLS 最簡化的設置

與常見RLS不同,這裡只需要一個作為殼:

而且表達式千篇一律,皆為:[xxxx]=TRUE()。記憶和使用起來非常簡單。

自帶綜合許可權預覽

方案配備一個預覽,可以理解查閱某用戶最終綜合許可權:

  1. 選擇一個用戶
  2. 查看其直接擁有的許可權
  3. 查看其作為角色而擁有的許可權
  4. 綜合所有許可權效果

自帶測試驅動報表開發

通過上述自帶預覽部分,可以用測試驅動的理念來核對某用戶的許可權,讓預期設置與實際效果相匹配:

得到:

這樣就得到了一致而正確的結果。

在雲端配置

將本地報告發布到雲端後,要確保雲端滿足三點:

  • 被控制許可權的人必須是成員。(而不能是管理員)
  • 被控制許可權的人必須只能查看。(而不能編輯)

再有就是:

必須在雲端設置行級別安全性。即將用戶裝入,否則無法生效。

用模擬身份查看效果

用模擬身份查看就不需要用真實用戶再登陸一次,往往也沒有對方的帳號可以登陸測試,所以需要模擬:

用數據網關實現全動態刷新許可權

由於是企業範圍,所以企業應該早有配置數據網關,然後:

  • 修改 Excel許可權配置 表;
  • 刷新數據網關 即可。

也就是說:改變各種許可權,無需重新編輯並發布PBI文件

如下:

  1. 當前許可權可以查看:北京,上海,浙江。
  2. 修改 Excel許可權配置文件,加入:江蘇。
  3. 刷新數據後可以看到:北京,上海,浙江,江蘇。

這種變化動態完成,因此稱為:全動態的解決方案。

總結

本文說明了企業級全動態許可權的實現方案,如果您需要在企業實現類似方案,不妨參考嘗試。

延伸閱讀:

PowerBI 企業級許可權控制全動態終極解決方案 PowerBI 實現不同角色看到內容不同支援動態許可權管理

以上兩篇文章結合本文已經給出了非常細緻的解釋和思路。但作為一個產品級可復用的解決方案,Excel120打造了可復用的產品級模板供企業直接復用。