1. 最前
power BI 只有workspace 权限和行权限RLS。从大到小:
workspace: 最大
报表: 如果行权限适用,只使用行权限即可
如果行权限不够,比如同一个数据集用在了报表AB,报表A想看,报表B不想看,那么需要考虑workspace + RLS的方式。将两个报表放到不同的workspace
报表页面: 行权限灵活配置,构建权限表
行权限RLS
2. 组控制:
teams 组 和邮件组。 邮件组适用于workspace,以及前端配置的数据集权限,但行级别在power BI desktop无法使用组。
teams 组 只适用于workspace
3. RLS 具体配置
- 构建权限表
不同的role,需要生成不同的权限表
Applicant Email | Role | Permission Field | Permission Scope |
Role1 | Region | Region 1 | |
Role2 | Cluster | Cluster 1 |
- 注意: workspace, viewer 才配置行权限,member即使配置行权限,也不会生效
- 不同的role,需要生成不同的子表,比如上方,需要生成一个:(如果同一个业务有多个角色,取的是角色能访问的行的并集,如果想要交集,需要新建另外的权限表,定义一个新的角色来控制)
Permission_Role1
Permission_Role2
- 然后将权限表加载到dataset中
2. 连线
- Permission 中Permission Scope 和 数据集 主表(比如region/Cluster)相连,多对多,permission 控制 主表,不需要安全筛选,
3. 创建角色
创建角色,找到角色对应的permission表,DAX如下所写: [Applicant_Mail] = USERPRINCIPALNAME()
4. 前端添加权限
不过前端好像已经取消了,不然在dataset中点击... security