Azure Synapse 与 Power BI 中的行级安全性 (RLS)

问题描述

我正在为我的一个客户构建一个新的数据仓库系统,并将 Azure Synapse 与 Power BI 结合使用。我目前正在为系统制定访问框架,并探索在各个点应用 ROW LEVEL 安全的利弊。

我的理解是 Power BI 最适合导入,如果我在数据库上应用 RLS,我不确定 RLS 在 Power BI 中的工作方式。

但是,如果我在 Power BI 中应用 RLS,报告团队将不得不在每份报告中处理它。此外,我不想为报告团队提供全面的安全控制,因为数据是敏感的。

这里的任何人都可以提供帮助并建议应用 RLS 的正确方法吗?

解决方法

Synapse 通过 powerBI 报告有两个方面:

  1. 实时连接:在这种情况下,RLS 将是对所有用户都有效的数据库 RLS,通过 为 RLS 创建安全策略
  2. 导入:在这种情况下,powerbi 报告将通过对突触具有完整读取权限的帐户从突触导入所有数据。 您可以在报告级别创建 RLS。 在导入的情况下,在数据库中设置 RLS 并不重要,因为整个数据都在数据集中,并且需要在数据集级别创建 RLS。
,

行级安全是您在构建一个报告时可以使用的概念,但不同的用户会根据她有权访问的数据看到不同的结果。

例如 考虑

  • 贵公司有 2 位销售经理 A 和 B。

你可以

  • 在 Power BI desktop 中,您可以为报告准备/导入销售数据。
  • 为销售数据的两位经理配置行级安全
  • 针对整个销售数据准备一份销售报告

现在,当经理 A 看到她只能根据她有权访问的行看到的报告时,这意味着只有她的团队参与了这些销售。

另一方面,当经理 B 看到报告时,她只能看到基于她的团队参与的另一组数据。

如果没有行级安全,你会怎么做?您可能需要使用两组不同的数据创建完全不同的相同报告副本。

我试图给出一个简单的实际场景的例子。您可能有复杂的场景,您必须决定如何/何时使用它。

可以查看此 Microsoft 文档以了解更多信息https://docs.microsoft.com/en-us/power-bi/admin/service-admin-rls