对于开发分析模型的SSAS技术,我是个新手。我必须为一个与安全性非常相关的大型应用程序构建几个表格模型。我想做的是重用多维数据集源中存在的行级安全性,并将其应用于多维数据集本身。
通过网络搜索,我找到了在立方体中实现RLS的方法,但没有任何关于从源代码继承它的方法。但再说一次,我对这项技术还不熟悉,所以我更喜欢在这里提问。谢谢
发布于 2017-03-31 19:15:13
对于您的请求,最明显的解决方案是在瘦模式(称为DirectQuery模式)下运行SSAS Tabular。只要在Visual Studio的Existing Connections对话框中设置了ImpersonateCurrentUser,当用户查询SSAS模型时,SSAS将以最终用户的凭据向数据库发送一个或多个SSAS查询。SQL数据库中的RLS将在这里发挥作用。
一个警告是,我只会在SSAS2016中推荐DirectQuery,而不是之前的版本。另一个警告是,与SSAS中的缓存模型相比,性能会很慢。因此,如果性能不能接受,那么关闭DirectQuery并在SSAS中重新实现RLS。此外,DirectQuery目前对结果使用零缓存,因此针对SQL的负载根本不会被卸载到SSAS。最后,如果您使用DirectQuery和ImpersonateCurrentUser,并且您的SQL server与SSAS不在同一台服务器上,则可能必须设置Kerberos,以便用户凭证可以进行双跳。
https://stackoverflow.com/questions/43136327
复制相似问题