【问题标题】:SSRS in SharePoint integrated mode and report model security - security hole?SharePoint 集成模式中的 SSRS 和报表模型安全 - 安全漏洞?
【发布时间】:2012-07-31 21:34:37
【问题描述】:

这是我的场景:SSRS 2008 R2 在与 SharePoint 2010 的集成模式下运行。 一切都按预期工作,因为我可以创建数据源、模型(通过工作室或通过 ECB 上的“生成模型”选项用于报告库中的数据源)。我的数据源正在使用带有存储凭据选项的专用 SQL 帐户。我的模型专门隐藏了几列,因此我的报表生成器 3.0 用户无权访问它们(考虑这些敏感列)。

但我发现 虽然用户无法编辑我的模型或数据源(他们只有读取权限),但他们可以(来自他们拥有贡献权限的另一个报表库) 创建一个新的报告模型(来自 SharEPoint)并简单地将 url 传递到我在我的库中为它们设置的报告数据源。一旦他们这样做了,他们最终会得到一个没有我在锁定模型中设置的任何隐藏列的模型。此模型也没有我应用的任何模型项安全设置 - 它是一个仅使用数据源的全新模型。

所以这是我的问题:Microsoft 暗示可以使用报表模型项安全性来防止用户访问模型中的某些实体(因此称为“报表模型项安全性”)。 但是,如果用户可以使用 SharePoint UI 从他们自己创建的报表库中简单地创建自己的模型并指向他们必须具有读取权限的数据源(.rsds 文件),这不是有点安全漏洞?

【问题讨论】:

  • 您直接授予用户对数据库的读取权限。他们可以简单地将整个数据库导入 Excel。安全漏洞在哪里?您明确授予他们这样做的权利。

标签: sharepoint reporting-services


【解决方案1】:

“我的数据源正在使用专用的 SQL 帐户” [...] “数据源(他们只有读取权限”。用户具有读取权限到数据源。这意味着用户可以使用该数据源提供的数据做任何他想做的事情 - 无论您设置什么模型。

没有安全漏洞,但您的设计存在缺陷。一旦您使用专用帐户访问外部数据库,您就只有该帐户的安全性。您需要使用模拟将用户的凭据传递给数据库,因此他只能看到他应该看到的内容。这当然会打开另一个蠕虫罐,因为您不想让所有 SharePoint 用户都成为数据库用户。这让您只剩下选项三:让数据库能够在某种安全查找数据库中查找用户,这当然是一个自定义解决方案。

现在,您正在使用“默默无闻的安全”方法。您为用户提供了一个具有某些“权限”或隐藏列的模型,但底层数据源为用户提供了所有数据(甚至是隐藏的东西)。是什么阻止了用户使用他们拥有读取权限的数据源?没什么...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多