前言
PowerBI的活动日志记录了所有用户活动的完整记录,它包含了用户对PowerBI的各种资源(如报表、仪表板、数据集等)所执行的各种操作信息。对于企业合规性、安全监控和使用情况分析来说,活动日志是不可或缺的工具。
通过分析活动日志,就可以很方便的回答关于报表访问相关的问题,比如哪些报表最受欢迎、某个报表的访问用户量及访问趋势等等,也可以知道哪个用户在什么时候导出了数据或分享了报表等等。因此,活动日志对于企业的安全合规管理具有重要的作用。
PowerBI的活动日志的获取方式有多种,具体如下:
1、PowerBI报表的使用指标:内置功能,可以很方便的获取到某个工作区的报表访问数据,但只提供最近90天的数据。
2、M365审计日志:可在M365合规中心中按条件搜索不同的活动审计日志,支持手动导出CSV文件,也是只提供最近90天的数据。
3、Azure Log Analytics:可将PowerBI工作区连接到Azure Log Analytics,以自动存储该PowerBI工作区的所有活动日志,但Azure Log Analytics需要额外付费。
4、PowerBI Admin REST API:可导出租户级的PowerBI活动日志,但最多只能获取最近28天的数据。
从上面的各种方法中也可以看出,没有一种方法是能够一次性获取整个租户所有日期的活动日志的。抛开日期范围限制来说,也只有M365审计日志与PowerBI Admin REST API可以获取到整个租户级别的活动日志,但是M365审计日志需要手动搜索并导出,无法自动化,因此最方便的方法还是使用PowerBI Admin REST API来获取。
由于这些方法能提供的活动日志数据都存在日期范围限制,因此需要每天运行并转存到本地,这可以说是一个安全合规管理的基础设施了,因此不管使用哪种方法,都是越早实施越好。
为方便大家的使用,本篇文章将直接给出一种简单易用的获取PowerBI活动日志的现成解决方案,国际版与世纪互联两个版本都适用。
该解决方案完全使用PowerBI的原生功能实现,只需要有PowerBI的PRO许可与一个具有PowerBI管理员权限的账号即可,不需要其他额外的服务器或数据库等设施来运行脚本或存储数据。
方案介绍
Azure应用的注册与配置
调整PowerBI Service的租户设置
获取活动日志并发布增量刷新数据集
PowerQuery查询代码
这里提供国际版与世纪互联两个环境的PowerQuery查询代码,可根据自身环境任选其一,另外在代码的顶部都有服务主体与主用户两种验证模式,可根据自身所用的验证模式自行注释或启用对应代码。
总结
该解决方案的活动日志数据存储在PowerBI数据集中,如果需要本地存储,那么可以自行修改代码以转存到本地数据库等,或者可以直接从PowerBI数据集中导出数据,比如通过Power Automate、REST API、XMLA等方式来导出。
当然,也可以直接在PowerBI Service中进行活动日志的查看与分析,比如可以在PowerBI Service中通过数据集来创建报表,或在PowerBI Desktop与Excel中连接到云端的数据集,然后进行查看与分析等。


















