數據權限分配怎么做 分配數據權限的步驟一般是



文章插圖
數據權限分配怎么做 分配數據權限的步驟一般是

文章插圖
數據安全,是每家公司在進行數據建設時,都會重點考慮的問題 。如何避免人員調整所帶來的數據規則變化,減少數據控制階段的工作量及增加嚴謹性,是用戶的真實訴求和痛點 。
永洪BI在權限管理層面,將用戶的相關信息封裝成參數,可直接應用在數據預處理和報表制作階段,不僅滿足了大量場景下數據權限管控,更在一定程度上規避了因“人員調整”導致的數據規則手工修改情況 。
本次,我們就一個雙重數據規則限制場景,詳細講解相關操作及實現效果 。
一、權限要求場景
1、員工登錄BI系統,①根據所屬崗位(A崗/B崗… …),確定崗位屬性;②根據員工所屬部門(部門A/部門B… …),確定部門屬性;通過雙重限制的權限條件實現數據過濾;
2、若A員工為A崗、部門A,則可以看到表1 數據表中,“A崗”列中值為“部門A”的數據記錄;
3、若A員工為B崗、部門B,則可以看到表1 數據表中,“B崗”列中值為“部門B”的數據記錄 。
【數據權限分配怎么做 分配數據權限的步驟一般是】?表1 數據表
項目日期事業線A崗B崗CRM商機號PMS項目編號主項目名稱項目類型項目經理客戶經理2021/1/1事業線A部門A部門BCRM001PMS010甲優質A類A張三2021/2/1事業線A部門B部門BCRM002PMS020乙優質A類AAA李四2021/3/1事業線A部門C部門ACRM003PMS030丙良好B類A張三2021/4/1事業線A部門C部門ACRM004PMS040丁良好B類B李四2021/5/1事業線B部門B部門ACRM005PMS050戊劣質C類AAA張三2021/6/1事業線B部門A部門BCRM006PMS060己劣質C類B李四2021/7/1事業線B部門B部門BCRM007PMS070庚良好B類AA張三2021/8/1事業線C部門C部門ACRM008PMS080辛劣質C類A李四2021/9/1事業線C部門A部門CCRM009PMS090壬優質A類B張三2021/10/1事業線C部門A部門ACRM010PMS100癸良好B類A李四
二、場景實現方式
1、數據導入
將表1 數據表中的數據導入到數據集中,圖1使用的是創建數據集的SQL數據集 。(本示例采用mysql5.7.18版本的數據庫)
圖1 數據表導入
2、報告制作
根據表1 數據表制作一維表的報告,圖2使用的是制作報告圖表組件的表 。
圖2 一維表制作
3、用戶配置
新增4個用戶、3個分組、2個角色,并配置權限關系,表2使用的是認證授權導出的用戶信息 。
?表2 用戶信息
admin1權限配置,配置所有模塊讀寫權限,用于設定后續的權限過濾 。
3個測試用戶(test1、test2、test3)權限配置,配置相關的的模塊及操作權限即可,如圖3所示 。圖3使用的是角色權限信息的配置結果 。
圖3 權限配置
4、權限過濾
admin1登錄BI,通過數據集的SQL編輯,實現權限配置邏輯 。圖4是變更數據集“表1 數據集”的查詢語句 。
邏輯實現:用戶登錄后,識別角色,判斷通過哪一列進行過濾,再識別分組,判斷過濾列的篩選值 。
SQL語句:
select * from date1
where 1=0 OR
case
when ?{_ROLES_}=”A崗” then A崗 in (?{_GROUPS_})
when ?{_ROLES_}=”B崗” then B崗 in (?{_GROUPS_})
else 1=0
end
圖4 邏輯實現
三、場景實現效果
1、用戶test1(A崗;部門A)登錄,結果如圖5所示 。
圖5 test1登錄結果
2、用戶test2(B崗;部門B)登錄,結果如圖6所示 。
圖6 test2登錄結果
3、用戶test3(A崗;部門C)登錄,結果如圖7所示 。
圖7 test3登錄結果
該場景實現了對不同權限用戶的數據過濾,核心邏輯是:根據第一個屬性值,獲取判斷條件列;根據第二個屬性值,獲取條件列的篩選結果值;雙重限制下,實現數據記錄的條件過濾 。