【问题标题】:How do you handle audit logging with SSRS?您如何使用 SSRS 处理审计日志记录?
【发布时间】:2008-08-12 02:39:06
【问题描述】:

我在 SQL Server Reporting Services 2005 中有一些需要保留审核日志的报告。审计日志应该包括谁用什么参数运行了什么报告。我无法使用 Windows 身份验证。

记录这些信息的最佳方式是什么?

【问题讨论】:

    标签: sql-server sql-server-2005 reporting-services reportingservices-2005


    【解决方案1】:

    以前的 cmets 已经死了,您可以从 SQL Server 2000/2005 中的 ReportServer ExecutionLog 表或 SQL Server 2008 中的 ExecutionLogStorage 表中挖掘数据。如果您使用基于表单的身份验证来访问报告,而不是windows 身份验证,那么您可能会在报告中传递一些唯一的 UserID、CompanyID、CustomerID 或其他值作为参数。如果是这种情况,则内置表已经捕获了参数。如果您没有将唯一用户标识符作为参数传递,那么您可能需要依赖应用程序本身中的记录报告执行。

    【讨论】:

      【解决方案2】:

      查看 ReportServer 数据库中的 ExecutionLog 表。这包含有关谁运行什么报告以及使用什么参数的信息。

      我不确定如果没有 Windows 身份验证,这将如何工作,因为它无法知道谁在运行什么报告。

      【讨论】:

        【解决方案3】:

        你能分享一些关于你的身份验证方法的信息吗?

        MS 提供了一些报告示例,其中包含您入门所需的所有内容。

        对于 SSRS 2005 http://www.codeplex.com/MSFTRSProdSamples/Wiki/View.aspx?title=SS2005!Server%20Management%20Sample%20Reports&referringTitle=Home

        更多报告示例。 http://www.codeplex.com/MSFTRSProdSamples/

        【讨论】:

          【解决方案4】:

          根据记忆,SSRS 有 built in logging 用于这种确切情况

          【讨论】:

            【解决方案5】:

            如果您使用自定义安全扩展,您仍然可以从 ExecutionLog 表中获取您需要的所有信息。除非您的所有用户都使用共享登录名,否则您可能需要重新考虑您的架构,具体取决于审核日志的重要性。

            【讨论】:

              猜你喜欢
              • 2017-06-26
              • 1970-01-01
              • 2011-01-30
              • 1970-01-01
              • 2010-11-04
              • 1970-01-01
              • 2016-03-23
              • 2011-03-18
              • 1970-01-01
              相关资源
              最近更新 更多