【发布时间】:2014-10-20 13:12:05
【问题描述】:
我对 SSAS 很陌生,所以如果我的问题有明显的答案,请原谅我 - 我今天做了很多研究,但自己找不到答案。
我正在尝试将维度数据安全性(在我创建的 SSAS 数据库角色中)应用到我的 SSAS 2012 多维数据集。本质上,我想要做的是分配给我创建的角色的用户不应该能够看到特定维度成员的任何数据。
因此,当我在 SSDT(SQL Server Data Tools 或带有 BI 插件的 Visual Studio)中编辑多维数据集时,我转到角色 --> 打开角色 --> 转到维度数据选项卡 --> 选择下拉列表中的维度 --> 取消勾选不应允许角色中的用户查看的维度成员)。
设置完成后,我通过部署多维数据集来测试角色,然后在 SSDT 中打开多维数据集 --> 转到“浏览器”选项卡 --> 单击“更改用户”-> 选择角色我创建的。
我的测试结果是这样的:
如果我选择了我已限制的维度和任何度量,则数据将正确显示,即仅显示我允许的维度成员,其中度量的值正确显示每个维度成员。 但是,如果我不选择受限维度(例如,仅选择其中一个度量),则度量的总数不正确,即它似乎没有排除为角色隐藏的维度成员。
我在这里错过了什么?
我在网上看到一些帖子/博客谈论“动态 SSAS 安全性”,这似乎涉及将单个 Windows 登录映射到允许他们查看的事实行(这涉及在数据源中创建额外的隐藏表),但是如果 SSAS 角色也应该这样做,我无法理解为什么我需要这样做?我不需要在用户级别定义安全性 - 用户被分组到活动目录组中,因此我想将角色映射到相关的 AD 组,这也应该可以,不是吗?
【问题讨论】:
标签: ssas cube olap-cube ssas-2012