SSAS多维数据集中的维度级别安全性/每个用户数据安全性



我所在的团队希望从我们的关系数据仓库转移到SSAS多维数据集。在我们目前的设置中,我们有一个"EmployeeCache"表(基本上是一个事实),它是从我们的每个员工id到他们的可见员工id的映射。这个表在我们的模型中连接到DimEmployee表,这样对于每个需要个人可识别信息的查询,DimEmployee记录都会被过滤。过滤器从会话变量应用,该会话变量是正在进行查询的用户id。

我们研究的所有在SSAS多维数据集中提供维度级安全性的示例都需要使用Windows管理的安全性。创建要分析的数据的系统处理它们自己的安全性。我们的etl将安全结构映射到前面提到的EmployeeCache和DimEmployee表。我们希望保持这种简单的安全结构。

正如我们所看到的,没有办法将会话值传递到多维数据集(除了使用查询字符串,我们认为Cognos 10.1不可能这样做)。我们也没有看到任何不需要使用Windows授权的安全示例。

有人能解释一下,是否有一种方法可以实现我之前在SSAS多维数据集中描述的维度安全?如果不可能,其他多维数据集提供程序是否具有此功能?

两个想法。首先,SSAS只支持windows身份验证(参见Analysis Services only windows身份验证),这在Sql Server 2012中没有改变。但是您可以在连接字符串中将凭据传递给分析服务。其次,您是否可以更改每个查询的MDX并添加一个切片器以将数据限制为用户应该看到的数据?

最新更新