【问题标题】:How to secure SharePoint Shared SSRS Datasources如何保护 SharePoint 共享 SSRS 数据源
【发布时间】:2015-11-07 02:27:56
【问题描述】:

我有一个大型报告 SharePoint 网站,其中包含大约十几个不同的共享数据源连接,每个连接都指向不同的 SQL 服务器,该服务器正在由网站上托管的 SSRS 报告使用。每个数据源都有一个缓存帐户,用于在报表运行时检索数据,这样报表读者就不必拥有对我们所有 SQL 数据库的读取权限。

当具有报表构建权限的人创建报表时,他们可以选择网站上托管的共享数据源之一,但必须通过身份验证弹出窗口才能真正针对数据库编写查询:@987654321 @

当前使用的策略是,我们的作者确实拥有对 SQL 数据库的读取权限并使用该身份验证(使用当前 Windows 用户)来创建报告,然后当他们保存报告时,读者使用存储在共享数据源。然后,我们通过 SharePoint 安全性管理对报表中数据的访问,只允许应该查看该数据的人访问报表。

这对我来说似乎都很标准......但是

我可以通过以下步骤查询任何共享数据源可以访问的任何数据库,而不管我自己的权限如何,只需执行一些 rdl 定义操作:

1) 当前帐户需要访问报表生成器和 AD 访问至少一个 SQL 数据源(以使事情变得更容易)

2) 将共享数据源添加到我有权访问的报表中

3) 添加一个数据集,其查询遵循此格式 SELECT '' as Field1 FROM DBNAME

4) 在报表中添加一个表格,只显示查询中的 Field1

5) 添加我应该无权访问的共享数据源之一(没有阻止我将共享连接添加到报表,我根本无法使用报表生成器使用该数据源创建数据集)

6) 在 SharePoint 网站上保存报告,然后将副本下载到本地计算机

7) 打开 rdl 定义。将 SQL 查询的数据源替换为“未授权”数据源的名称(可以删除原始数据源)。将 SQL 查询替换为查询数据库以获取表名列表的查询(SELECT name as Field1 FROM sys.Tables)

8) 将报表定义上传回 SharePoint 并运行报表

报告现在使用缓存帐户,我绕过了使用报告生成器提供的漂亮授权窗口。通过使用 sys 查询,我可以找到数据库、表、列以及最终的数据,而无需了解有关数据库的任何信息。我可以通过阻止对主数据库的访问来减慢此方法的速度,以便无法检索数据库列表,但这是次要的,不是一个完整的解决方案。

选项: - 可以在数据库级别强制执行安全性,但是我不希望报告读者有权访问我的任何源数据库。虽然每个报告都可以从一个视图中获取,然后单独控制以防止访问报告显示之外的任何内容,但这将是无法控制的 - 强制每个报告使用嵌入式连接而不是共享连接。这在将来移动服务器时或当我们需要知道哪些报告正在使用特定连接时将很难管理(数据源下拉菜单中提供了相关项)

我觉得我在这里遗漏了一些明显的东西,因为这似乎完全违背了托管、共享数据源的目的。

【问题讨论】:

    标签: sql-server security sharepoint reporting-services


    【解决方案1】:

    共享数据源的优势在于管理,因为它们减少了更改数据源连接详细信息(如密码和服务器名称)的开销。正如您所指出的,使用共享数据源还可以让您轻松识别相关报表。

    但是,共享数据源并不是一种保护数据库等数据源的机制。确实需要在数据库级别解决安全问题,以正确确保只有授权人员才能访问。如果凭据存储在报表数据源中,那么任何能够访问该数据源或在报表中引用它的人都将能够在连接上执行查询。

    我认为问题出在这一步:

    5) 添加我应该无权访问的共享数据源之一 (没有阻止我将共享连接添加到 报告,我根本无法使用报告生成器创建数据集 使用该数据源)

    应该有一些方法来防止报表设计者看到他们没有权限的共享数据源。您可能需要为每个项目设置单独的权限,或者将它们放置在不同的位置以允许使用正确的权限保护它们。我不是 Sharepoint 专家,所以这只是一个建议。

    【讨论】:

    • 是的,尽管我们有很多当前可以访问多个数据库的连接并且我们不希望用户能够看到该共享连接背后的所有内容,但这将开始减少问题。我对现有架构的分析越多,我就越意识到它的构建很糟糕;现在只是我如何开始清理它的问题:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多