文章插圖

文章插圖
數據安全,是每家公司在進行數據建設時,都會重點考慮的問題 。如何避免人員調整所帶來的數據規則變化,減少數據控制階段的工作量及增加嚴謹性,是用戶的真實訴求和痛點 。
永洪BI在權限管理層面,將用戶的相關信息封裝成參數,可直接應用在數據預處理和報表制作階段,不僅滿足了大量場景下數據權限管控,更在一定程度上規避了因“人員調整”導致的數據規則手工修改情況 。
本次,我們就一個雙重數據規則限制場景,詳細講解相關操作及實現效果 。
一、權限要求場景
1、員工登錄BI系統,①根據所屬崗位(A崗/B崗… …),確定崗位屬性;②根據員工所屬部門(部門A/部門B… …),確定部門屬性;通過雙重限制的權限條件實現數據過濾;
2、若A員工為A崗、部門A,則可以看到表1 數據表中,“A崗”列中值為“部門A”的數據記錄;
3、若A員工為B崗、部門B,則可以看到表1 數據表中,“B崗”列中值為“部門B”的數據記錄 。
【數據權限分配怎么做 分配數據權限的步驟一般是】?表1 數據表
1、數據導入
將表1 數據表中的數據導入到數據集中,圖1使用的是創建數據集的SQL數據集 。(本示例采用mysql5.7.18版本的數據庫)
2、報告制作
根據表1 數據表制作一維表的報告,圖2使用的是制作報告圖表組件的表 。
3、用戶配置
新增4個用戶、3個分組、2個角色,并配置權限關系,表2使用的是認證授權導出的用戶信息 。
?表2 用戶信息
3個測試用戶(test1、test2、test3)權限配置,配置相關的的模塊及操作權限即可,如圖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
三、場景實現效果
1、用戶test1(A崗;部門A)登錄,結果如圖5所示 。
2、用戶test2(B崗;部門B)登錄,結果如圖6所示 。
3、用戶test3(A崗;部門C)登錄,結果如圖7所示 。
該場景實現了對不同權限用戶的數據過濾,核心邏輯是:根據第一個屬性值,獲取判斷條件列;根據第二個屬性值,獲取條件列的篩選結果值;雙重限制下,實現數據記錄的條件過濾 。
- java查看變量數據類型 java 查看類型
- excel數據太多打不開 excel單元格數據太大無法打開
- excel里數據透視表怎么做 excel中怎樣做數據透視表
- 數據庫系統需求分析報告 MySQL數據庫需求分析案例
- sqlserver導入excel數據sql語句 sqlserver導入excel數據格式不一致
- js操作mysql數據庫 js調用數據庫數據
- linux 給用戶賦權 linux給用戶組賦權限
- excel表格如何篩選數據 如何在excel表格篩選數據
- 數據分析軟件工具 統計分析軟件
- 淘寶數據查詢網站 淘寶官方數據平臺
