简体   繁体   English

一个SQL Server Reporting Services(SSRS)如何安全?

[英]How does one secure SQL Server Reporting Services (SSRS)?

I've installed SSRS on my development machine and everything works as expected - except anyone else who is logged on to my domain can view all of the reports by browsing to http://mymachine/reports . 我已经在开发计算机上安装了SSRS,并且一切正常,除了登录我的域的其他任何人都可以通过浏览http:// mymachine / reports来查看所有报告 I find it a bit strange that the default behaviour is for everyone on the domain to have access to the reports. 我发现默认行为是域中的每个人都可以访问报告,这有点奇怪。

  • Am I doing anything wrong here? 我在这里做错什么吗?
  • What are the steps I need to follow to ensure that only I am allowed access to the reports? 我需要采取哪些步骤来确保仅允许我访问报告?
  • And what therefore are the implications for my ASP.NET application that has to access the reports using the ReportViewer control? 因此,对于必须使用ReportViewer控件访问报表的ASP.NET应用程序有什么影响?

On the Report Manager site ( http://mymachine/reports > Properties > Security) I see only one group or user - MYDOMAIN\\myusername, with all of the possible roles (Browser, Content Manager, My Reports, Publisher, Report Builder). 在“报告管理器”站点上( http:// mymachine / reports >“属性”>“安全性”),我仅看到一个组或用户-MYDOMAIN \\ myusername,具有所有可能的角色(浏览器,内容管理器,“我的报告”,发布者,报告生成器) 。

Any ideas? 有任何想法吗?

EDIT: @davidsleeps : I'm using SSRS 2008 on my dev machine, with SSRS 2005 in production, unfortunately. 编辑: @davidsleeps 不幸的是,我在开发机上使用SSRS 2008,但在生产中使用SSRS 2005。 I thought the security methods would have been transferrable between the two. 我认为安全方法在两者之间是可以转移的。

For the report manager (2005) 对于报表管理员(2005)
IF your machine is on the domain, you should be able to find the "Reports Manager" directory where it is installed and set permissions on the folder. 如果您的计算机位于域中,则应该能够找到安装该目录的“ Reports Manager”目录,并在该文件夹上设置权限。 You can use that to prevent other users from accessing http://mymachine/reports 您可以使用它来防止其他用户访问http:// mymachine / reports

I think the default path to that is something like: 我认为默认的路径是这样的:

C:\Program Files\Microsoft SQL Server\MSSQL.X\Reporting Services\ReportManager

But you can just open up IIS and check what the Virtual Path is... 但是您可以打开IIS并检查什么是虚拟路径。

For the reports 对于报告
I'm not sure of the easiest way, but you can set the permissions on your reports and create an account which your ReportViewer control can use which has access to the reports. 我不确定最简单的方法,但是您可以在报表上设置权限,并创建一个可供ReportViewer控件使用的帐户,该帐户可以访问该报表。 In your asp.net web app (or whatever) you can then pass the credentials through. 然后,您可以在asp.net网络应用程序(或任何其他方式)中传递凭据。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM