【问题标题】:Can PowerBI inherit RLS from Azure Synapse SQL?PowerBI 能否从 Azure Synapse SQL 继承 RLS?
【发布时间】:2022-08-04 19:25:16
【问题描述】:

我有一个包含公司列表的 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 仪表板发布到共享工作区,并且已根据我的登录而不是查看 PBI 报告的用户应用 RLS。 有没有办法将 RLS 从 Synapse 继承到 PBI,或者我必须在 PBI 中重新创建 RLS 功能?

  • 可能。文档列出了Azure SQL 的选项,但当然,Azure SQL 不是 Azure Synapse SQL,尽管名称非常相似。

标签: sql azure powerbi synapse row-level-security


【解决方案1】:

解决方案取决于是使用 DirectQuery 还是导入数据。

  • 将数据导入 Power BI 数据集时,不会使用数据源中的安全角色。建立 RLS 将帮助你对连接到 Power BI 的用户施加安全限制。
  • 使用 DirectQuery 时,会使用数据源中的安全角色。为了在用户阅读报表时对数据应用安全规则,Power BI 使用用户的登录信息查询基础数据源。

参考 - Row-level security (RLS) with Power BI

【讨论】:

    猜你喜欢
    • 2021-03-31
    • 2018-07-12
    • 2022-12-02
    • 2018-09-17
    • 2013-11-18
    • 2021-12-19
    • 2021-09-19
    • 2020-12-13
    • 2021-12-22
    相关资源
    最近更新 更多