【问题标题】:Cube-level security using CustomData使用 CustomData 的多维数据集级安全性
【发布时间】:2011-09-28 22:25:56
【问题描述】:

我是 SSAS 新手,但有人要求我创建一个包含三个立方体的产品(暂时称它们为“A”、“B”和“C”)。另一个团队正在创建 Web 部件“A”、“B”和“C”来访问这些多维数据集,并且有角色“A”、“B”和“C”来确定哪些用户可以访问这些多维数据集。

我的问题

不能保证客户的 SSAS 服务器与 SharePoint 服务器在同一个机器上,因此我们遇到了用户登录 SharePoint 的问题,并且 SP 没有模拟该用户。我们无法保证客户端会让我们安装 Kerberos 身份验证,或将 SharePoint 设置为受信任的站点,因此我们正在调查使用 CustomData 变量传入当前用户的 ID。

问题

但是,这导致了实现多维数据集访问安全性的问题。我是吗

  1. 创建一个接受 CustomData 变量的“SharePoint”角色,然后授予(通过维度安全性?)对多维数据集的访问权限(通过维度的所有成员?)
  2. 创建一个“安全多维数据集”,封装谁有权访问什么,并让 Web 部件确定它是否“应该”拥有访问权限,
  3. 与其将安全性存储在事实表中的用户/多维数据集表单中,不如将其存储在用户/维度表单的成员中(我不喜欢这样,因为传入的数据是用户/多维数据集的形式,并且正在扩展它向维度的成员输出会创建“不必要的”行)。

更多背景信息

目前安全性安排在事实表中

|用户密钥 |安全项密钥 |

其中 Personkey 链接回用户表,而 SecurityItemKey 当前链接到多维数据集列表(我们有一个可用的安全项表,以便用户可以轻松列出他们的选项并检查他们想要的内容)。

我目前正在尝试上面的选项 1.,但是当我按照以下方式创建 MDX 时

Exists(
  {[Security Item].[Security Item Key].&[235]},
    StrToSet("{([User].[User].[User].[" +
            CustomData() + "])}"
    ),
    'Fact Security'
    )

对于维度安全性,我收到错误,类似于“‘{2}’维度中的‘{1}’属性生成的维度安全性表达式无效”。 我在查询中使用相同的MDX,就可以了。

请注意,我添加的维度在 MDX 中没有引用,我担心这是问题的一部分,但我找不到任何说“是”或“否”的东西。

那么,我做错了什么,你有什么不同的建议?

【问题讨论】:

    标签: security ssas


    【解决方案1】:

    跟进 - 这是我们所做的:

    我们没有强制维度数据安全来保护整个多维数据集,而是创建了一个“安全”多维数据集,由 SharePoint 进程查询,然后由 SharePoint 进程负责授予或拒绝访问。只有 SharePoint 用户有权访问此角色并访问所有多维数据集。

    普通用户仍然可以通过不同的角色单独访问每个多维数据集。

    因此,安全问题是有一个角色可以访问所有内容,但我们认为这是可以接受的,并且只需要相信角色的成员被正确分配。

    【讨论】:

      猜你喜欢
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多