SSRS 2008 R2 +授予用户的权限不足以执行此操作。(rsAccess被拒绝)

时间:2012-05-31 08:56:49

标签: ssrs-2008

我花了好几个小时才想出这个,现在我放弃了。

我希望有人可以帮助我。

SSRS 2008 R2报表服务器已启动并正在运行,在使用BIDS时,我设计了一个示例报表并成功部署。

作为管理员,我可以去查看所有内容并运行示例报告。

我在此尝试实现的是限制用户访问文件夹和报告的权限。

这是我为实现这一目标所做的:

  1. 在本地服务器(安装SQL Server的位置)中创建了几个组

    SQLReportUsers - Users who has access to SQL Server Reporting Services (Web) 
    Finance - Users who can access to Finance folder in Home Folder
    SalesTeam - Users who can access to SalesTeam Folder in Home folder
    
  2. 我创建了用户并将其分配给了一个财务/销售团队组,他们都属于SQLReportUsers组。

  3. 拥有SQLReportUsers组的原因是甚至限制任何随机用户访问报告服务。创建“Everyone”将允许访问它(即使他们将无法看到任何没有权限访问项目(文件夹,报告)的内容。在Home foder中,我将SQLReportUsers作为浏览器。

  4. 将样本报告部署到Finance文件夹和SalesTeam文件夹。数据源和数据集位于主文件夹中,其他用户看不到它们(我已删除)

  5. 我在SQL Server中创建了SQLReport用户帐户,我想将其用作访问SQL中数据的中心点。然后在“数据源属性”(现在只有一个)下,我使用了“在报表服务器中安全地保存凭据”并提供了用户名和密码。测试连接正常。

  6. 我创建了一个测试用户(Windows server 2003),然后分配给SQLReportUsers和Finance。

  7. 打开Internet Explorer并成功登录到报告服务。 正如预期的那样,此用户帐户只能看到财务文件夹。在财务文件夹中,有样本报告。

  8. 问题在于,当我点击报告时,它会说

    '报告处理期间发生错误。 (rsProcessingAborted) 授予用户'MSERVER-DELL \ test2'的权限不足以执行此操作。 (rsAccessDenied)'

    一切正常,但用户无法打开报告。

    我尝试了“安全存储在报表服务器中的凭据”

    下的所有选项

    我尝试了“在连接到数据源时使用Windows凭据”(不仅是报告帐户,还包括我的管理员帐户)以及“在与数据源建立连接后模拟经过身份验证的用户”。

    一切都行不通。我尝试了所有可能的组合,但它没有用。

    在报告项目的处理选项下,我做了'缓存报告的临时副本。在几分钟后过期报告副本:在我的管理员访问权限下30'然后返回到用户帐户,用户可以提取报告。

    这意味着我是用户帐户遇到问题的数据源。

    我想知道它出了什么问题。

    你可以帮帮我吗?

    感谢!

5 个答案:

答案 0 :(得分:3)

我遇到了与此完全相同的问题,这个解决方案几乎正是Ken Mc所说的。我试图打开的报告包含共享数据源和共享数据集。我已经通过身份验证的用户访问浏览数据源,但完全忘记了数据集,而且神秘的错误消息从未引发我的问题。

总而言之,如果您使用的是任何外部(共享)数据源或数据集,请确保为您在该文件夹上的使用启用正确的安全角色。

答案 1 :(得分:0)

我认为你的DS确实存在问题。如果用户具有浏览器权限,他应该能够看到该报告。

尝试将管理员用户凭据添加到数据源,以查看它是否有效。

enter image description here

答案 2 :(得分:0)

DataSource Connection Setting

设置数据源时,连接设置应如下所示。对我而言,似乎您正在运行报告集的用户提供的凭据。我错了,但你可以把你的DataSource设置截图

答案 3 :(得分:0)

我有类似的问题。该报告使用共享数据源,该数据源保存在Home文件夹下的共享文件夹中。使用报表管理器(\ server \ reports),我在共享文件夹上选择Security,并使用Browse权限添加用户的组。修好了。我之前已将具有浏览权限的用户组添加到主文件夹属性,并将其作为系统用户添加到站点设置安全性。

我正在为我的网站使用Windows身份验证,所以我只是添加了域用户作为安全组,但我确信其他群组也可以正常运行。

答案 4 :(得分:0)

虽然问到这已经有4年了,但这仍然是我的第一个问题。所以我认为值得分享有效的解决方案。最终,我必须删除缓存的凭据,如下所述:https://stackoverflow.com/a/22234961/6576560

基本上,启动控制面板>凭证管理器并删除存储的凭证。 Windows一直在缓存错误的凭据,不会使用我的实际登录。

我希望这有助于未来的读者。