Power BI行级别安全性(数据权限管理)

时间:2022-03-29 16:39:44

自从PowerBI 的DAX 函数 支持username() 或 userprincipalname()的函数后,我们就可以在Power BI中实现根据用户的行级数据权限的控制。

username() 将返回采用域\用户格式的用户

userprincipalname() 将返回采用 user@contoso.com 格式的用户

实现方式

1、权限的表的定义

  权限表结构定义如下,如下图所以a用户可看ABC的数据,b用户可看CD的数据。另外增加所有客户与admin的关联关系。

  其中LoginID是AD用户名 格式为【域\用户】

Power BI行级别安全性(数据权限管理)

2、Power BI Desktop 中的处理

  a)可以访问所有数据的用户。

    针对此类用户,我们添加一个admin的角色。

    设置DAX表达式 :LogonID] = "admin"

  b) 带有数据控制的用户。

    针对此类用户,我们添加一个right_conrtl的角色。

    设置DAX表达式:[LogonID] = username()

3、Power BI Report Server 中将用户添加进角色中。

Power BI行级别安全性(数据权限管理)