我有一个Azure Synapse SQL表,其中包含公司列表。
我创建了一个访问矩阵、安全谓词和策略来过滤基于用户的数据。
Create FUNCTION spf.rls_securitypredicate_dimcompany(@Companycode AS nvarchar(50))
RETURNS TABLE
WITH SCHEMABINDING
AS
RETURN SELECT 1 AS tvf_securitypredicate_result
From dwh.dimCompany a
Join spf.AccessMatrix b on a.companycode = b.companycode
Where (a.CompanyCode = @Companycode
and
b.emailaddress = USER_NAME()
)这很好,因为当某人在此数据集上执行查询时,它只显示与其登录相关的数据。我已经向共享工作区发布了一个PowerBI仪表板,并且按照我的登录应用了RLS,而没有应用查看PBI报告的用户。有没有一种将RLS从Synapse继承到PBI的方法,还是我必须在PBI中重新创建RLS特性?
发布于 2022-08-04 11:25:16
解决方案将取决于是使用DirectQuery还是导入数据。
发布于 2022-08-04 14:07:47
在导入模式下,您可以通过导入AccessMatrix表并在Power动态行级安全性中使用它来应用兼容的RLS。因此,Power BI将根据同步中存储的数据权限数据来执行RLS。
https://stackoverflow.com/questions/73083001
复制相似问题