SSRS在SharePoint集成模式和报表模型安全性 - 安全漏洞?

时间:2012-07-31 21:34:38

标签: sharepoint reporting-services

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

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

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

1 个答案:

答案 0 :(得分:1)

“我的数据源正在使用专用的SQL帐户” [...] “数据源(他们只能读取访问权限”。用户具有读访问权限对于数据源。这意味着用户可以使用该数据源提供的数据执行任何他想要的操作 - 无论您设置何种模型。

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

现在你正在使用“默默无闻”的方法。您为用户提供了一个具有特定“权限”或隐藏列的模型,但基础数据源为用户提供了所有数据(甚至是隐藏的内容)。是什么阻止用户使用他们已读取访问权限的数据源?没什么...