具有多个用户的角色级别安全性以过滤相同的 ID

Role level security with multiple users to filter on same IDs

我有一个 PowerBI 报告,它使用 RLS 来确保各自的用户只能看到他们各自的公司信息(销售等)

RLS 配置为用户-table (DimUsers) 如下:Email = Userprincipalname() DimUsers 与 DimCompany 具有一对一关系,然后 DimCompany 过滤 FactSales 和数据模型的其余部分。

这很好用。但我需要添加更多用户才能查看同一家公司。因此,我将需要连接到相同 DimUsers 的 DimUsers 中的更多电子邮件,因此它不再适用于一对一关系,并且 RLS 不起作用。它需要为这些设置工作:

我该如何解决这个问题?

提前致谢:)

您的关系应该同时具有“交叉过滤器方向”和在两个方向上应用安全过滤器

一般来说,为了简化 RLS,引入一个 table 和所有有效组合,这里是 (UserPrincipalName,CompanyId)。然后将 RLS 谓词放在那个 table 上,让它流过滤器到 DimCompany table.