为 Reporting Services 配置身份验证

新建日期: 2006 年 12 月 12 日

在 Reporting Services 中,身份验证由 Internet 信息服务 (IIS) 处理。Reporting Services 使用在虚拟目录级别设置的身份验证方法来对与报表服务器的用户连接进行身份验证。在大多数情况下,身份验证类型是从父级网站继承的,但也可以对虚拟目录指定不同的身份验证类型。

Reporting Services 使用 IIS 中的以下身份验证方法:

  • 集成 Windows 身份验证。
  • 基本身份验证。
  • 匿名身份验证,建议仅在将登录请求转发到第三方或基于窗体的自定义身份验证提供程序时使用。

Reporting Services 中不支持摘要式身份验证和 .NET Passport 身份验证。

如果要开发与 Reporting Services 集成的应用程序,则需要知道对报表服务器 Web 服务调用是如何进行身份验证的。有关详细信息,请参阅 Web Service Authentication

默认身份验证设置

默认情况下,报表服务器和报表管理器虚拟目录配置为使用集成 Windows 身份验证。不对虚拟目录启用匿名访问。也不选择其他身份验证方法。

如果您使用默认安全性,则需要访问报表服务器的每个用户都必须拥有有效的 Windows 用户帐户或者需要是 Windows 组帐户的成员。对于其他可信域,您也可以包含这些域中的帐户。这些帐户必须拥有对承载报表服务器的 Web 服务器的访问权限,并且必须随后分配给相应的角色,才可以获得对特定报表服务器操作的访问权限。

如果所有客户端计算机和服务器计算机均在相同的域或一个可信域中,浏览器类型支持集成 Windows 身份验证,并且报表服务器是针对企业防火墙之后的 Intranet 访问进行部署的,那么默认设置具有最佳的效果。如果要为通过 Internet 访问报表服务器提供支持或者如果使用工作组安全性,则很可能需要对默认设置进行自定义。

可信域和单域是传递 Windows 凭据所必需的。仅当为服务器启用 Kerberos 版本 5 协议时才能多次传递凭据。如果未启用 Kerberos,则凭据在过期之前只能传递一次。有关为多计算机连接配置凭据的详细信息,请参阅指定凭据和连接信息

Bb283249.note(zh-cn,SQL.90).gif注意:
如果将包含报表服务器虚拟目录的网站配置为 Kerberos 身份验证,并且在应用程序池上使用域用户帐户,则最好为此帐户创建服务主体名称 (SPN)。有关详细信息,请参阅 Microsoft TechNet 网站中的为 Kerberos (IIS 6.0) 配置受约束的委托

身份验证类型概述

IIS 可对与报表服务器和报表管理器的用户连接进行身份验证。下表介绍可使用的 IIS 身份验证选项。

  • 使用委托或模拟凭据的集成 Windows 身份验证
    使用当前用户经过加密的域凭据连接到报表服务器。Windows 身份验证(集成安全性)是报表服务器和报表管理器虚拟目录的默认身份验证方法。Reporting Services 配置工具和安装程序始终将目录安全性配置为使用此方法。如果在域中启用 Kerberos 身份验证,则当前安全性票证也可用于连接到为报表提供数据的外部数据源。
  • 基本身份验证
    使用以前分配的 Windows 帐户用户名和密码连接到报表服务器。使用基本身份验证时,以明文形式传输用户名和密码。但是,在通过网络发送用户帐户信息之前使用安全套接字层 (SSL) 对其进行加密可使传输更加安全。

    SSL 提供一个加密通道,可借助此通道通过 HTTP TCP/IP 连接将连接请求从客户端发送到报表服务器。有关详细信息,请参阅 Microsoft TechNet 网站中的使用 SSL 加密机密数据

  • 匿名访问
    所有用户都使用用于匿名访问的 Windows 用户帐户连接至报表服务器。在 IIS 中,默认情况下,此帐户为 IUSR_<计算机名称> 帐户。不会提示用户输入用户名或密码。只有在使用自定义安全扩展插件时才应使用匿名访问。如果未使用自定义身份验证,则应避免对报表服务器虚拟目录使用匿名访问。否则,您将无法设置不同的角色分配。所有用户都将在匿名用户帐户下访问报表服务器,而且任何人都无权通过报表管理器来管理报表服务器。

更改身份验证设置

默认情况下,Reporting Services 使用集成 Windows 身份验证。如果要使用其他身份验证提供程序,请使用 IIS 管理器指定目录安全性属性。

  1. 打开 IIS 管理器。
  2. 右键单击报表服务器虚拟目录,然后单击**“属性”**。
  3. 单击**“目录安全性”**。
  4. 在**“身份验证和访问控制”中,单击“编辑”**以打开“身份验证方法”对话框。
  5. (可选)清除**“集成 Windows 身份验证”复选框。
    如果将报表服务器虚拟目录配置为同时使用集成 Windows 身份验证和基本身份验证,则报表服务器将首先尝试 Windows 身份验证。如果要仅使用基本身份验证,则必须清除
    “集成 Windows 身份验证”**复选框。
  6. 选择**“基本身份验证”**。
  7. 设置用于对连接到 Web 服务器的客户端进行身份验证的默认域或领域。

请勿启用匿名访问,除非要部署自定义身份验证扩展插件,或者要通过配置为使用基本身份验证的报表服务器启用对报表生成器的访问。请勿启用摘要式或 Passport 身份验证;Reporting Services 不支持这些身份验证选项。

为报表服务器配置身份验证方法时,请确保对所有组件使用同一方法。请勿为报表管理器指定其他身份验证类型。如果这样做,则用户必须为报表管理器和报表服务器操作提供其他登录凭据。同样,报表生成器的身份验证类型应与报表服务器使用的身份验证提供程序相同(将报表服务器配置为使用基本身份验证时除外)。如果使用基本身份验证,则必须允许对报表生成器文件夹使用匿名访问,以将连接请求转发到 ClickOnce 应用程序启动程序。有关详细信息,请参阅为访问报表生成器而配置报表服务器

有关启用基本身份验证和在 IIS 中选择身份验证类型的详细信息,请参阅 Microsoft TechNet 网站中的启用基本身份验证和配置领域名称选择网站身份验证方法

为 Extranet 和 Internet 访问配置身份验证

对于需要 Internet 或 Extranet 访问的部署模式,集成 Windows 身份验证并不实用。如果要在面向 Internet 的 Web 服务器上部署 Reporting Services,则必须使用自定义身份验证扩展插件替代 Windows 身份验证,以便更好地控制如何授予外部用户访问报表服务器的权限。若要创建自定义身份验证扩展插件,则需要自定义代码和了解 ASP.NET 安全性方面的专业知识。有关详细信息,请参阅Implementing a Security Extension

如果您不希望编写自定义身份验证扩展插件代码,则可以使用 Microsoft Active Directory 组和帐户,但应大幅减小报表服务器部署的范围。以下指南介绍如何支持此方案:

  • 创建拥有只读权限的低特权域用户帐户。该帐户必须拥有对承载报表服务器的计算机的访问权限。提供一个自定义 Web 窗体,以便用户可以使用低特权域帐户登录。
  • 创建将用户帐户映射到报表服务器文件夹层次结构中的特定项的角色分配。您可以通过选择“浏览者”预定义角色作为角色分配,将访问权限限制为仅允许只读操作。
  • 配置报表,以使用存储的凭据来获取报表数据。如果希望使用与允许访问报表服务器的帐户不同的帐户查询外部数据源,此方法非常有用。有关这些选项的详细信息,请参阅指定凭据和连接信息

请参阅

概念

管理 Reporting Services 的权限和安全性
创建、修改和删除角色分配
指定凭据和连接信息
Reporting Services 部署中的连接和帐户
配置报表服务器用于安全套接字层 (SSL) 连接
为访问报表生成器而配置报表服务器

其他资源

Implementing a Security Extension

帮助和信息

获取 SQL Server 2005 帮助