Power BI 行级别安全性 (RLS) 在 Power BI Desktop 中定义角色和规则

发布到 Power BI 时,它还会发布角色定义。

若要定义安全角色,请执行以下步骤。

  1. 将数据导入 Power BI Desktop 报表,或配置 DirectQuery 连接。

     备注

    需要在 Analysis Services 模型中执行此操作。

  2. 选择“建模” 选项卡。

  3. 选择“管理角色” 。

    Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

  4. 选择“创建” 。

    Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

  5. 为角色提供名称。

  6. 选择你想要应用 DAX 规则的表。

  7. 例如:[实体 ID] =“值”。

     备注

    或者,可以使用 userprincipalname(),它始终返回采用其用户主体名称格式 username@contoso.com 的用户 。

    Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

  8. 创建 DAX 表达式后,你可以选择表达式框上方的“检查”以验证该表达式。

    Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

     备注

    在此表达式框中,即使使用的区域设置通常使用分号分隔符(例如,法语或德语),也要使用逗号分隔 DAX 函数参数。

  9. 选择保存。

通过使用 username() 或 userprincipalname() DAX 函数并配置好正确的关系,则可以启用 Power BI Desktop 中的动态安全。

如果你还在服务器级别实现了动态行级别安全性,则应选中此框,其中行级别安全性基于用户名或登录 ID。

保护表格 BI 语义模型技术文章。

Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

在 Power BI Desktop 中验证角色

创建角色后,请在 Power BI Desktop 中测试角色结果。

  1. 选择“以角色身份查看” 。

    Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

    在“以角色身份查看”中,可以看到创建的角色 。

    Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

  2. 报表呈现与该角色相关的数据。

  3. 最好提供用户主体名称 (UPN),因为 Power BI 服务和 Power BI 报表服务器使用该名称。

    Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

  4. 选择“确定”,报表将基于该用户所见呈现内容 。

在 Power BI Desktop 中,如果使用的是基于 DAX 表达式的动态安全,“其他用户”仅显示不同的结果 。

管理模型上的安全性

若要管理数据模型上的安全性,你需要执行以下操作。

  1. 为数据集选择“省略号(...)” 。

  2. 选择“安全” 。

    Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

如果数据集在某个组中,则只有该组的管理员才能看到安全选项。

你只能创建或修改 Power BI Desktop 中的角色。

使用成员

添加成员

添加到组织的外部。

Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

你还可以通过角色名称或“成员”旁边的括号内的数字看到有多少成员属于该角色。

Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

移除成员

你可以通过选择成员名称旁的 X 来移除成员。

Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

验证 Power BI 服务中的角色

你可以通过测试角色来验证你定义的角色是否正常工作。

  1. 选择该角色旁边的“更多选项”(...) 。
  2. 选择“作为角色测试数据”

Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

在上面的蓝色栏中,你将看到被应用的内容。

Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

可通过选择“立即以此角色查看” 来测试其他角色或角色组合。

Power BI 行级别安全性 (RLS)
在 Power BI Desktop 中定义角色和规则

可选择以特定人员的身份查看数据,或选择可用角色的组合以验证它们是否工作。

选择“返回到行级安全性” 以返回到正常查看。

使用 username() 或 userprincipalname() DAX 函数

将在 Power BI 服务内使用你发布的模型。

在 Power BI Desktop 中,username() 将返回采用域用户 格式的用户,userprincipalname() 将返回采用 user@contoso.com 格式的用户。

这看起来类似于电子邮件地址。