开发者社区> 问答> 正文

SSAS表格模型的行级安全性(RLS)

我必须为安全性非常重要的大型应用程序构建几个表格模型。我想做的是重用多维数据集源中存在的行级安全性,并将其应用于多维数据集本身。

例如,如果我从架构的两个表构建表格模型,并且这两个表都启用了RLS,则我希望多维数据集考虑这种安全性,以便在我访问报告并以用户身份登录时,仅根据我拥有的权限查看汇总数据。

通过网络搜索,我发现了在多维数据集中实现RLS的方法,但是没有从源继承它的方法。但是,我还是该技术的新手,所以我更愿意在这里询问。谢谢

展开
收起
游客ufivfoddcd53c 2020-01-04 11:33:27 1112 0
1 条回答
写回答
取消 提交回答
  • 对于您的请求,最明显的解决方案是在精简模式(称为DirectQuery模式)下运行SSAS Tabular 。只要在Visual Studio的“现有连接”对话框中设置了ImpersonateCurrentUser,当用户查询SSAS模型时,SSAS就会依次在最终用户的凭据下向数据库发送一个或多个SQL查询。SQL数据库中的RLS将在这里发挥作用。

    一个警告是,我只会在SSAS 2016中推荐DirectQuery。另一个警告是,与SSAS中的缓存模型相比,性能将变慢。因此,如果性能不可接受,请关闭DirectQuery并在SSAS中重新实现RLS。另外,DirectQuery当前使用零缓存结果,因此针对SQL的负载将完全不会转移到SSAS。最后,如果您使用的SQL Server与SSAS不在同一服务器上,则如果使用DirectQuery和ImpersonateCurrentUser,则可能必须设置Kerberos,以便用户凭据可以加倍跳转。

    2020-01-04 11:33:38
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Facebook Online Schema Change原理和大规模表结构变更最佳实践 立即下载
One Box : 解读事务与分析一体化数据库 Hybrid 立即下载
时序数据库TSDB新功能 - 如何用SQL进行时序查询 立即下载