【问题标题】:Masking Dimension attribute / Security in SSASSSAS 中的屏蔽维度属性/安全性
【发布时间】:2016-05-20 11:51:27
【问题描述】:

我们有一个多维数据集,我们在其中实现了基于 ROLE 的维度数据级别安全性。在我们限制用户只能查看他的记录的情况下,这种安全性工作得很好。现在,客户维度具有另一个 Employee 属性。根据该字段的值,我们要限制其他维度属性。就像在下面的示例中一样,Manager_Id 是应该被屏蔽的属性。我们想用“Employee”屏蔽这个字段的属性值,这样受限制的用户只能看到一个被屏蔽的属性值。

注意:两个属性来自同一维度

允许用户查看员工数据

Name  Manager_ID
Jon    123456

如果不允许用户看到,那么属性值需要用员工屏蔽

Eg:
Name Manage_ID 
Jon   xxxxx

谢谢 周杰伦

【问题讨论】:

  • 举例说明 Manager_ID 何时被取消屏蔽。请添加更多示例和您迄今为止尝试过的 MDX。
  • 我不会为特定的角色揭秘。但我的客户要求这样做。我尝试使用未知成员,它掩盖了维度中的所有列而不是单个列。

标签: ssas mdx ssas-2012


【解决方案1】:

如果我正确地解释了您的问题,您是在尝试根据用户查询维度/多维数据集来禁用维度中的值。除非您已经构建了自己的 excel 版本,您应该在其中添加这些覆盖,否则您应该为使用您的应用程序的不同类型的用户使用不同的角色。

虽然我不知道如何以及是否可以屏蔽值,但您可以使用属性安全性来禁止角色查看某个维度的某个属性的内容。

要从 SQL Server Management Studio 执行此操作,您可以打开角色的属性,转到维度数据选项卡并选择要过滤的多维数据集和维度。

警告:您不能禁用维度中的值,然后用户仍然可以查询它们,您需要向下滚动到多维数据集并在那里编辑维度。

(这是一个很长的列表,首先是您的尺寸,然后是您的立方体,可以扩展以显示立方体尺寸,这是目前唯一与我们相关的东西)

当您拥有正确的维度时,您可以在您的情况下选择属性 Manager_ID 并禁用用户不应该看到的所有值。您可以通过取消选中所有受限值或取消选择所有成员然后单击应该可用的成员来执行此操作。这一切都取决于您的用例。

这样做的结果是,当从 excel 或 powerBI 打开维度时,禁用的值将不会显示。

我希望这会有所帮助并祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多