文章图片
PBI 数据安全之数据呈现
数据呈现阶段的安全 , 顾名思义 , 是指用户在访问 PBI 报表时 , 如何基于不同的自定义角色 , 给予不同用户或不同组设置对数据不同的访问权限 , 虽然我们可以在工作区决定是否为某用户授予 Viewer 角色 , 但无法控制该用户能看哪些数据以及不能看哪些数据 。
幸运的是 , 在 Power BI 导入模型中 , 微软提供了两种数据安全设置 , RLS 和 OLS, 前者即 PBI 用户所熟悉的行级别安全性 , 其可以基于角色对不同表不同字段利用DAX定义过滤规则 , 也可以结合 USERPRINCIPALNAME 动态定义访客权限(由于资料众多 , 此处不展开);而后者OLS (Object Level Security) 则是针对字段本身设置的安全性 , 它可基于角色控制不同字段(包括字段名)对特定用户是否可见 , 我们可以形象理解为“列级别安全性” 。
▌在 PBI 实施 OLS
与 RLS 相同 , OLS 同样要先在PBID创建角色 , 但具体表或字段可见性的安全控制则需要在外部工具 tabular editor 中完成 。 要对指定角色隐藏字段 , 只需使用该工具连接到模型后 , 选择需要设置的表或字段 , 将 OLS 中对应角色的值设置为 None 即可 , 如图:
文章图片
以下是关于 OLS 需要注意的点:
1. 如果对某角色隐藏的表或字段在前端报表中有使用 , 则该角色查看报表时 , 与之相关的所有可视化都不可用 。
2. 虽然无法针对特定度量值实施 OLS , 但若度量值所引用的字段包含隐藏的字段 , 则该度量值对指定角色依然不可见 。
下图展示的简单例子很好反映了上述两点 。 由于对角色“User”在字段“OrderQty”的 OLS 值设为了 None , 因此左侧的可视化完全不可用 , 右侧的表由于未使用该字段 , 也未使用任何引用该字段的度量值 , 因此显示不受影响 。
文章图片
由于受底层技术限制 , 当前 PBID 还无法做到在同一个可视化内 , 在隐藏特定字段或值的同时不影响其他字段或值的展现 , 因此 , OLS 的应用价值主要体现在了用户自助分析方面 。
- tabular editor https://tabulareditor.com/
通过在工作区指定角色配合 RLS 以及 OLS , 我们已经实现了对 PBI 数据内容的权限控制 , 但我们无法控制的是当数据从 Power BI 导出后 , 如何持续地保护数据 , 以及 , 如何对 PBI 数据进行监控以使得每当探测到敏感数据时 , 可以及时向管理员发出警报 。
应对此情况的解决方案是对 Power BI 实施 DLP(Data Lose Prevention)。 它包括以下两个阶段:
1.Microsoft 365 管理员可以为 Power BI 创建和定义敏感度标签 , 不同的敏感度标签可以设置不同的权限定义 , PBI 各工作区的管理员可以据情况为不同的数据集 , 数据流以及报表设置对应敏感度标签 , 以实现敏感数据即使离开了 Power BI , 也能得到保护 。 引用 MS 文档的话讲:
When labeled data leaves Power BI, either via export toExcel, PowerPoint, PDF, or .pbix files, or via other supported export scenariossuch as Analyze in Excel or live connection PivotTables in Excel, Power BIautomatically applies the label to the exported file and protects it accordingto the label’s file encryption settings. This way your sensitive data canremain protected, even when it leaves Power BI.
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
