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打造了可复用的产品级模板供企业直接复用。