本期的微软 MVP 实验室研究员 Davis Zhang,微软 MVP,MCSE,官方文档贡献者之一,专注于 Power Platform 及 Power BI 全局技术栈。下文将节选 Power BI 中涉及数据保护的几个核心技术点(BYOK, OLS 与 DLP)与大家进行分享。

前言

数据不仅是企业的资产,也是企业的命脉,其重要性不言而喻。而随着越来越多的企业采用了 Power BI 作为其商务智能解决方案之一,用户对微软BI体系中数据的安全与合规性的要求也愈加严格。因文章篇幅问题,下文将以 PBI 及 M365 管理员的角度,节选 Power BI 平台中较为核心的数据安全问题,即“数据寄存,数据呈现及数据导出”几个方面进行图文讲解。

PBI 数据安全之数据寄存

当 Power BI 数据集发布到 PBI Service 后,其数据实际上存储在 Azure Blob Storage, 在默认情况下,数据加密由 Microsoft 托管,而密钥的值,轮换规则以及加密方式则不受企业或组织的控制。尽管 Microsoft 使用了足够强大的256位 AES 加密算法,但在一些企业严苛的信息安全政策及合规部门严谨的审查工作面前,该说辞恐怕无济于事。为了使组织掌控密钥并使数据加密方式与轮换规则符合其政策,在 Power BI 实施BYOK(Bring your own Key)成为了唯一方案。

▌在 PBI 实施 BYOK

注意:

  • BYOK 目前仅适用于 PBI Premium (包括Capacity与Per User)

  • BYOK 主要支持以关系型数据库位数据源的 Import 数据集

1.登录 Azure 创建 Key Vault, 并分配 Unwrap Key 及 Wrap Key 权限

2.在 Access Policy 添加你要用于 BYOK 的 Power BI 工作区管理员账户以及 Power BI Service 服务主体

3.接下来按如下配置创建密钥

4.现在,将上一步创建好的密钥应用到PBI容量,目前没有界面可供设置,需要在 PowerShell 中键入命令

--安装 Cmdlets(已装跳过)Install-Module -Name MicrosoftPowerBIMgmt--登录Connect-PowerBIServiceAccount --在整个PBI租户中启用BYOKAdd-PowerBIEncryptionKey -Name '<输入Key名称>' -KeyVaultKeyUri '<输入Key URI>'--注:其中 Key URI可在 Azure Key Vault 中查询复制--获取容量 IDGet-PowerBICapacity -Scope Individual--最后,为该容量设置 BYOKSet-PowerBICapacityEncryptionKey -CapacityId <输入容量ID> -KeyName '<输入Key名称>'

至此,BYOK 即设置完成,输入以下命令检验:

Get-PowerBIEncryptionKey

如图显示即配置成功:

需要注意的点是,目前 BYOK 的实施是在整个容量层面的,而非 Workspace 层面的。一旦为容量设置了 BYOK,则该容量下所有的工作区都继承容量的 BYOK 设置。

5.秘钥轮换,可使用如下命令,若要实现定期轮换,可将其配置到已有应用程序,或直接使用 Azure Key Vault 中 “Rotation Policy” 预览功能

Switch-PowerBIEncryptionKey -Name '<输入Key名称>' -KeyVaultKeyUri '<输入新的Key URI>'

此处需要注意,无论是新版秘钥还是当前秘钥,都必须处于启用状态,否则将遇到如下报错。确保秘钥都启用后,问题解决,如图:

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 的应用价值主要体现在了用户自助分析方面。

PBI 数据安全之数据防护

通过在工作区指定角色配合 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.

2.Microsoft 365 管理员可以为 Power BI 创建 DLP 策略,该策略可以基于 PBI 内容的敏感度标签对敏感数据进行监控(该功能尚处于预览阶段)。

注:实施 DLP 需要 Microsoft 365 E5 订阅

在 PBI 实施 DLP

◇ 创建并发布敏感度标签

1.在 M365 合规中心按下图创建标签。

注:如果 Information protection 选项卡不可见,则需要检查下你的账户权限以及M365 Lisence

2.选择 Files & emails

3.此步骤,即是决定敏感度标签应用后的权限设置,可以添加用户,安全组甚至域,为他们分配不同的角色。

下图明确了不同角色的权限范围,也可以通过勾选具体项自定义角色的权限。

4.标签创建完成后,发布标签:

注:可以在已有敏感度标签创建子标签,子标签可以在继承父级的权限范围的基础上对权限进行进一步定义,这将对大型组织十分有用。

在发布标签过程中,可以勾选此项,这将强制 Power BI 开发者在发布数据集与报表前对其应用敏感度标签,下文“PBI 敏感度标签强制实施验证”部分将展示其效果:

回到 Power BI Service, 发布的标签已经可用:

注意:

  1. 敏感度标签发布后,通常不会立即在各个应用中显示。如下图1已经说明“It can take up to 24 hours…”,因此,如果没有在 PBI 看到发布的标签,并不一定代表你的设置不成功,只需耐心等待。

  2. Power BI 管理员需要在租户设置中启用敏感度标签(见图2)

(图1)

(图2)

◇ 验证

1.PBI 敏感度标签强制实施验证

如下用户必须先为 PBIX 应用敏感度标签,才可发布报表。

2.数据导出保护效果验证

如图,我已为数据集,报表以及分页报表指定了敏感度标签,其中 HIGH SENSITIVE 只有特定用户才能查看导出的数据。

【示例1-1】Power BI 报表导出验证(使用有权限的账户)

【示例1-2】Power BI 报表导出验证(使用无权限的账户)

【示例2】Power BI 分页报表(Paginated Report)导出验证

◇ 创建 DLP 策略

DLP 策略在 Power BI 尚为预览功能,部分特性暂时不支持,如果公测在今年四月,那么 GA 可能又要往后推,下文仅就策略的创建部分做部分说明。

1.在 M365 合规中心,从 Custom Policy 开始创建:

2. 选择 Power BI,DLP 默认应用到整个容量。如果仅希望 DLP 应用在个别工作区,可以输入对应的 Workspace ID:

3. 创建 DLP 策略警报触发规则,可以仅就标记了某特定敏感度标签的 PBI 内容实施:

4. 管理员可在此处进行数据监控:

总结

除上述内容外,有关 Power BI 安全性的技术点还有很多,如网关安全性,私有链接集成,Azure Log Analytics 集成等等,要逐一讲清这些内容,足够成书了,而国内外关于该领域的研究极少,一些坑,一些 bug,即使搜遍谷歌也难有解决办法,因此还是要依赖于读者的耐心探索,并在必要时获取微软技术人员的支持。

点击获取 Power BI 安全性白皮书

Power BI 与企业数据安全相关推荐

  1. Power BI许可证差异(免费、Pro、PPU、Embedded、Premium)

    不可否认,在商业BI软件中Power BI是最强大的,在2023年的Gartner的魔力象限中Power BI又是第一名Microsoft named a Leader in the 2023 Gar ...

  2. Power BI商业智能与业务分析的结合,让你在企业中脱颖而出

    传统上,企业将数据战略集中在power BI商业智能(BI)上,但预测和规范分析平台的兴起,部分归功于机器学习和人工智能,正在改变这个方程式.即使是商业智能本身也在不断发展,这也是以前业务分析平台独有 ...

  3. 赠送300家门店260亿销售额的零售企业Power BI实战示例数据

    焦棚子的文章目录 一背景 2022年即将到来之际,笔者准备在Power BI中做一个实战专题,作为实战专题最基础的就是demo数据,于是我们赠送大家一个300家门店,260亿+销售额,360万行+的零 ...

  4. Power BI 报表服务器企业一站式全链路解决方案

    Power BI 报表服务器企业一站式全链路解决方案 (单点登录,自定义报表门户,自定义权限,应用集成) 前言 Power BI 从诞生开始就成为耀眼的明星,有着几大优势 1.快速上手 2.简单明了 ...

  5. Power BI: PBIX与PBIT

    问题描述: 业务部门同事计划把开发好的Power BI报告文件统一分发给部门内各个相关组的同事使用.在分发报告的时候发现,PBIX文件将近1GB,邮件分享不支持,每次通过云盘分享十分不便,非常影响工作 ...

  6. 如何选择数据分析可视化工具?Excel, Tableau还是Power BI?

    来源:大数据文摘 本文约3500字,建议阅读5分钟 作为个人或公司,如何选择分析和可视化数据的工具? 正确分析使用数据可能会挖到宝藏.那么,作为个人或公司,如何选择分析和可视化数据的工具? 在本文中, ...

  7. connect time out 获取token失败_Power Query之获取钉钉日志自动刷新Power BI报告

    焦棚子的文章目录 请点击下载附件 一.背景 最近在玩钉钉日志,企业填写简单数据后方便汇总到一起比较实用的工具,但数据填写以后还是需要下载日志报表,比较麻烦. 在做BI的时候,可不可以用pq(power ...

  8. html 接收 图片流_Microsoft Flow 利用自动化工作流增强Power BI使用效率

    [前述:Microsoft Flow和Power BI都属于微软Power平台的一部分.在微软Power平台的官网,你可以看到关于该平台的以下介绍: "Power BI.PowerApps和 ...

  9. 阿里云数据中台全新产品DataTrust聚焦企业数据安全保障

    简介:DataTrust(隐私增强计算产品)是基于阿里云底层多项基础安全能力,经过阿里云数据中台丰富的客户业务实践,构建的一款为企业数据安全流通的产品. 随着包括零售.制造.金融等多行业数字化转型加速 ...

  10. Microsoft宣布为Power BI提供AI模型构建器,关键驱动程序分析和Azure机器学习集成...

    微软的Power BI现在是一种正在大量结合人工智能(AI)的商业分析服务,它使用户无需编码经验或深厚的技术专长就能够创建报告,仪表板等.近日西雅图公司宣布推出几款新的AI功能,包括图像识别和文本分析 ...

最新文章

  1. numpy基础(part13)--排序
  2. android 先拍照后对焦,先拍照后对焦 荣耀6或搭全焦拍摄功能
  3. 程序员如果不能干到退休,那程序员的路何去何从?
  4. symbol lookup error: undefined symbol:PySlice_Unpack
  5. modelsim安装_Modelsim10.5安装教程
  6. Python 水仙花数
  7. 单元在整体坐标系下的刚度矩阵
  8. 软件工程课程设计小组人员分工
  9. 妙算2的串口用自己的接线(杜邦线)连接无人机210或者stm32
  10. 给JAVA做个类VS的拖放式界面设计工具
  11. Win10 卸载 Cortana
  12. C# 盛金公式 求解一元三次方程
  13. 福昕阅读器常用快捷键
  14. Maximum Profit(C++最大利益简单算法)
  15. 简单工厂 工厂方法 抽象工厂
  16. ILRuntime热更的小技巧
  17. C# 使用HttpClient上传文件并附带其他参数的步骤
  18. 2021ICPC沈阳区域赛BEFIJM
  19. 设计高质量的论文插图
  20. 【APP设计规范指南—工信部启示】

热门文章

  1. cas5.2集成ldap
  2. 汽车租赁管理系统(管理车辆基本信息、租车/还车、统计租金)
  3. FIL WORLD全球化应用,WORLD量化助推Filecoin生态落地
  4. PS学习笔记6-选区工具
  5. 【货位优化】基于遗传算法实现仓库货位优化问题含Matlab源码
  6. 工厂软件支持及测试是什么,工厂测试指南.pdf
  7. JS GZIP压缩,GZIP解压
  8. MPB:林科院袁志林组-树木共生真菌菌株纯化及快速鉴定方法
  9. JavaWeb学习篇8_用户登录、信息的增删改查、复杂功能小项目(Servlet、JSP、MySQL、JDBCTemplete、Durid、BeanUtils、tomcat、EL、JSTL)
  10. Github上的1000多本免费电子书重磅来袭!