SSAS动态维度安全性基于另一个维度属性

时间:2010-09-23 15:24:45

标签: security ssas dimensions

在我的项目中,我必须根据维度属性应用安全性。 我认为解释我的场景的最好方法是举个例子,如果你需要更多信息,请向我索要,我很乐意告诉你它是否能帮我找到解决方案。

我有一些主要方面,dimcustomer,dimseller,fact,data和geographic。 事实表与dimseller id有关,dimcustomer与基于一个dimseller特定属性(CNPJ)的dimseller相关(我没有描述的另一个维度以相同的方式相关)。

所以我的目标是根据dimseller CNPJ应用角色安全性,因此当与该卖家相关的用户尝试浏览数据时,他将被允许仅查看与其卖家CNPJ相关的数据。

表示例:

DIM Seller:               DIM Customer                  FactTable
id  name  cnpj            id name    dimseller.cnpj     dimseller.id  dimcustomerid measure
1   ME    1234            1  guest1  1234               1             1               50,00
2   you   5678            2  guest2  5678               2             2              100,00

因此,如果我以ME身份登录,我将能够获得客户guest1,其中一个售出的产品售价为50美元。

明白我的观点?

这样做的最佳方式是什么?

现在我正在考虑以下指南:Claim Authentication with dynamic dimension security,但这样我应该按属性定义属性。

有没有办法可以定义这种安全需求?我可以使用sql语句轻松过滤数据,但我没有想法如何在ssas中应用这种安全性。

无论如何,谢谢你们!

1 个答案:

答案 0 :(得分:0)

要在维度中应用安全性,您需要使用roles。对于每个角色,您可以指定多维数据集/维度中该角色可用的元素。所以,你要做的就是创建CNPJ的角色,只能查看他们的CNPJ。