当查询多维数据集时未选择维度时,SSAS维度数据权限不应用于度量值



我是SSAS的新手,所以如果我的问题有一个明显的答案,请原谅我——我今天做了很多研究,自己找不到答案。

我正在尝试将维度数据安全性(在我创建的SSASDB角色中)应用于我的SSAS2012多维数据集。从本质上讲,我试图做的是,分配给我创建的角色的用户不应该能够看到特定维度成员的任何数据。

因此,当我在SSDT(SQL Server Data Tools或Visual Studio with BI加载项)中编辑多维数据集时,我会转到"角色"-->打开角色-->转到"维度数据"选项卡-->从下拉列表中选择维度-->取消勾选该角色中的用户不应看到的维度成员。

设置好后,我通过部署多维数据集来测试角色,然后在SSDT中打开多维数据集-->转到"浏览器"选项卡-->单击"更改用户"-->选择我创建的角色。

我的测试结果是:

如果我选择了我限制的维度和任何度量值,则数据将正确显示,即只有我允许的维度成员才会显示,并且每个维度成员的度量值都会正确显示。但是,如果我没有选择受限制的维度(例如,仅选择其中一个度量值),则度量值的总数是不正确的,即它似乎没有排除为角色隐藏的维度成员

我在这里错过了什么?

我在网上看到过一些关于"动态SSAS安全"的帖子/博客,它似乎涉及到将单个Windows登录映射到他们可以看到的事实行(这涉及到在数据源中创建额外的隐藏表),但我不明白如果SSAS角色也应该这样做,为什么我需要这样做?我不需要在用户级别定义安全性——用户被分组到active directory组中,所以我想将角色映射到相关的AD组,这也应该有效,不是吗?

您必须在高级选项卡中选中"启用视觉总计"复选框。在我们的网站上查看有关此(以及其他SSAS身份验证事项)的完整教程:http://easyroles.com/2014/02/visual-totals-in-ssas-security/

最新更新