【问题标题】:Implementing Windows authentication with Reporting Services使用 Reporting Services 实施 Windows 身份验证
【发布时间】:2012-11-22 14:46:47
【问题描述】:

这是帖子 Reporting Services Authentication advice sought 的扩展,因为我无法在该线程上提交冗长的帖子(抱歉管理员)。

基本上,我将报告服务的本地安装配置为使用 Windows 身份验证(最终目标是在网络上实施此身份验证)。

我目前的设置:

IIS (5.1):我创建了一个名为“ReportServer”的应用程序,它使用 ASP.NET v2.0.50727。此应用程序的安全设置为“集成 Windows 身份验证”。我已取消选中“匿名访问”复选框。我是否正确地假设这将阻止匿名访问 IIS(即 IIS 中的 ReportServer 应用程序?)。因此,将提示用户输入登录详细信息,然后将针对 windows/AD 进行验证?

报告:我创建了一个共享数据源,其中数据库位于不同的服务器上,并将数据源配置为使用“Windows 身份验证”(不是 SQL Server 身份验证),我可以成功测试连接。我还可以通过在 BIDS 中运行报告来成功创建和测试一个简单的报告。

当我部署报告时,我没有收到登录提示(这很好)。我相信这是因为 IIS 中的应用程序目录配置为使用“集成 Windows 身份验证”,它使用登录的 PC 用户帐户(正确吗?)。

每当我通过浏览器加载报告服务时,系统都会正确提示我输入我的 Windows 域用户名和密码,但只有在我从本地 PC 运行报告时才会提示。一旦通过身份验证,我就可以看到所有适用于我的报告。如果同事尝试连接到我 PC 上的报表实例,他无需登录就允许进入!这是为什么?!

但是,当我通过浏览器运行已部署的报告时,我收到错误“报告处理期间发生错误。无法创建与数据源的连接。用户“(空)”登录失败。原因:未关联使用受信任的 SQL Server 连接。”如果我更改数据源以使其使用 SQL Server 身份验证并指定 SQL Server 中存在的登录名,则报告可以在浏览器中成功运行。

我想实现的理想解决方案如下:

  1. 用户在浏览器中加载报表服务器 URL。
  2. 系统会提示用户输入他们的 Windows/AD 凭据(包括域前缀)。
  3. 在幕后允许用户进入报表服务器。
  4. 用户将只能看到报告文件夹和他/她被允许看到的报告。这将通过将允许的 AD 组/用户添加到报告文件夹和报告中来控制(我知道如何执行此操作)。我不希望维护单独的 SQL Server 用户帐户。

我感觉好像快到了,即与报表服务器的连接在允许用户访问报表服务器之前提示用户输入他们的 Windows 凭据。

谁能告诉我:

a) 为什么当我通过本地浏览器访问报表时,系统提示我登录 windows,但当其他 windows 用户通过浏览器窗口远程访问我的报表服务器时,却没有提示登录?

b) 如果应该实施更好的整体解决方案,请您建议或指出相关资源。

c) 我当前的设置有什么需要注意的地方,可能会在未来引起问题。

非常感谢。

JFB

【问题讨论】:

    标签: sql-server windows authentication iis reporting-services


    【解决方案1】:

    有两个安全方面需要处理

    1. 访问报告的用户身份验证
    2. 对访问数据库的数据源进行身份验证

    通常,我们发现我们希望在第 1 点将未经授权的用户踢出,然后(假设用户已获得授权)为数据源提供一组静态连接凭据 - 这有一些好处,例如允许连接池并为我们的 DBA 省去了很多麻烦,因为他们只需要为“报告数据源用户”进行配置。

    第 1 点由添加到报告/文件夹的组/用户控制。

    第 2 点可以通过为您的数据源设置域凭据,然后为该用户分配对它需要访问的各种数据库的适当读取/执行访问权限来完成。

    您可能遗漏的一点是您的数据源凭据需要“本地登录”权限才能运行?

    FWIW 我们对数据源的设置如下:

    • 安全存储在报表服务器中的凭据
    • 检查:连接到数据源时用作 Windows 凭据

    运行您的帐户

    【讨论】:

      【解决方案2】:

      您遇到此问题的原因(即 user = null)是因为您要求报表服务器验证 Kerberos 凭据。有一个广泛的帖子here,但问题的症结在于您要求报表服务器验证 Windows 凭据,但 Active Directory 不信任您的计算机来传递这些凭据。如果您正确设置了委派,它将在没有登录提示的情况下满足您的要求,并且您可以通过第 4 点控制可见性。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-26
        • 2021-04-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多