我是一个希望从关系数据仓库迁移到SSAS多维数据集的团队的一员。通过我们当前的设置,我们有一个“EmployeeCache”表(基本上是一个事实),它是从我们的每个员工ID到他们可见的员工ID的映射。此表在我们的模型中加入到DimEmployee表中,因此对于需要个人身份信息的每个查询,都会过滤DimEmployee记录。过滤器是从会话变量应用的,该变量是进行查询的用户ID。
我们研究的所有用于在SSAS多维数据集中提供维度级别安全性的示例都需要使用Windows托管安全性。创建正在分析的数据的系统处理它们自己的安全性。我们的ETL将安全性结构映射到前面提到的EmployeeCache和DimEmployee表中。我们希望保持这种简单的安全结构。
正如我们所看到的,没有办法将会话值传递给多维数据集(除了使用我们没有看到Cognos 10.1可能的查询字符串)。我们也没有看到任何关于安全性的例子,不需要使用Windows身份验证。
有人可以解释是否有办法实现维度安全性,正如我之前在SSAS多维数据集中描述的那样?如果其他多维数据集提供商没有办法可以使用此功能吗?
答案 0 :(得分:0)
两个想法。首先,SSAS仅支持Windows身份验证(请参阅Analysis Services Only Windows Authentication),这在Sql Server 2012中保持不变。但您可以将连接字符串中的凭据传递给分析服务。其次,您是否可以更改每个查询的MDX并添加切片器以将数据限制为仅用户应该看到的数据?