PBI数据权限自动化方案设计
- 需求
用户访问Power BI报表,用户通过OG和Region权限,灵活筛选进行数据查看。
- 读取用户信息
在BW中给用户添加访问报表权限和角色,一个用户存在多个角色,角色对应多个权限
BW权限添加情况:
a 、角色包含权限范围
如果bw这边添加用户访问包含了数据权限,那么PBI需要从BW中读取用户对应的角色以及角色对应的service line 和region。
需要bw这边对角色重新设计,service line和region分开或者service line和region组合的角色。
b、角色不包含权限范围
如果bw这边添加用户权限只是是否可以访问报表的权限,那么需要有一张用户权限明细表包含用户名、用户邮箱、角色、Service Line、Region以及Region和Service Line的组合字段,PBI通过读取这张表进行权限控制。
- 数据表新增字段
用户权限表需要存有用户名、用户邮箱、角色、Service Line、Region以及Region和Service Line的组合字段。
数据表要新增Region和Service Line的组合字段作为和用户权限表建模的关联字段。
- Pbi数据建模
通过用户权限表OG_USER生成SCOP表作为和数据表的关联枢纽,并且在PBI建模中 OG_USER和SCOP表关系中勾选在两个方向上应用安全筛选器,然后用SCOP表关联事实表,最后将OG_USER表中的role和region字段作为页面的筛选器,最终实现数据权限的控制和用户灵活筛选权限范围内的数据。