指定凭据和连接信息

更新日期: 2007 年 9 月 15 日

报表服务器可以使用凭据连接到向报表提供内容或者向数据驱动订阅提供收件人信息的外部数据源。 您可以指定凭据使用 Windows 身份验证、数据库身份验证、自定义身份验证或不使用任何身份验证。 当通过网络发送连接请求时,报表服务器便会模拟用户帐户或无人参与的执行帐户。 有关建立连接请求时所处安全上下文的详细信息,请进一步参阅本主题中的数据源配置和网络连接。

ms160330.note(zh-cn,SQL.90).gif注意:
凭据也可以用于对访问报表服务器的用户进行身份验证。 有关对访问报表服务器的用户进行身份验证的信息将在其他主题中介绍。 若要了解详细信息,请参阅保护 Reporting ServicesReporting Services 部署中的连接和帐户

与外部数据源的连接是在创建报表时定义的。 发布报表后可以单独管理该连接。 可以指定静态连接字符串或表达式,这允许用户从动态列表中选择数据源。 有关如何指定数据源类型和连接字符串的详细信息,请参阅连接数据源

为连接远程数据源指定凭据的方法

向报表提供内容的数据源通常驻留在远程服务器上。 若要检索报表数据,报表服务器必须使用一组事先提供或在运行时获取的凭据连接到服务器。 配置数据源时,您可以按下列方式指定凭据:

  • 提示用户输入凭据
  • 存储凭据
  • 使用 Windows 集成安全性
  • 不使用凭据

网络环境决定了您可以支持的连接种类。 例如,如果启用了 Kerberos 版本 5 协议,则可以使用 Windows 身份验证中的委托功能和模拟功能来支持跨多个服务器的连接。 如果您的网络不支持此拓扑,则需要针对连接约束采取相应的措施。 根据域的配置方式,在 Windows 凭据过期之前,可以跨一个计算机连接对其进行传递。 到报表服务器的用户连接可算作第一个连接。 如果该用户打开一个从远程服务器检索数据的报表,则该登录就算作第二个连接,此时,如果使用的是集成安全性而未启用 Kerberos 协议,则登录将失败。

如果需要用多个连接来完成从客户机到外部报表数据源的往返,请在以下策略中进行选择来建立多个连接:

  • 启用 Kerberos 协议,以便凭据可以不受限制地委托给其他计算机。
  • 使用存储的凭据或提示的凭据来查询报表数据的外部数据源。 凭据可以是 Windows 域帐户,也可以是数据库登录名。

提示的凭据

只能对按需运行的报表使用提示的凭据这种方法。 提示的凭据可以是 Windows 域帐户,也可以是数据库登录名。 若要使用 Windows 身份验证,则必须选择**“在与数据源建立连接时用作 Windows 凭据”**。 否则,报表服务器会将凭据传递给外部数据源所在的数据库服务器。 如果未将该数据库服务器配置为使用您提供的登录名,连接将失败。 建议对包含机密数据的报表使用提示的凭据这种方法。

Windows 集成安全性

使用**“Windows 集成安全性”**选项时,报表服务器会将访问报表的用户的安全令牌传递给外部数据源所在的服务器。 这种情况下,系统不会提示用户键入用户名或密码。

如果启用了 Kerberos,建议使用这种方法。 如果未启用 Kerberos,只能在所有要访问的服务器都位于同一个计算机时使用此方法。

存储的凭据

您可以存储用于访问外部数据源的凭据。 凭据以逆加密的形式存储在报表服务器数据库中。 您可以为报表中使用的每个数据源都指定同一套存储的凭据。 所提供的凭据会为每位运行该报表的用户检索相同的数据。

建议将存储的凭据作为远程数据库服务器访问策略的一部分。 如果要支持订阅,或计划生成报表历史记录或刷新报表快照的时间,则要求使用存储的凭据。 当报表作为后台进程运行时,报表服务器便会充当执行报表的代理。 此时,由于不存在适当的用户上下文,报表服务器必须从报表服务器数据库获取凭据信息,才能连接到数据源。

您指定的用户名和密码可以是 Windows 凭据,也可以是数据库登录名。 如果指定 Windows 凭据,报表服务器会将凭据传递给 Windows,用于随后的身份验证。 否则,凭据将传递给数据库服务器进行身份验证。

如何向域用户帐户授予“允许在本地登录”权限

如果使用存储的凭据连接外部数据源,则 Windows 域用户帐户必须拥有在本地登录的权限。 该权限允许报表服务器模拟报表服务器上的用户并作为该模拟用户向外部数据源发送请求。

若要授予此权限,请执行以下操作:

  1. 在报表服务器计算机上,在**“管理工具”中打开“本地安全策略”**。
  2. 在**“安全设置”下,展开“本地策略”,然后单击“用户权限分配”**。
  3. 在详细信息窗格中,右键单击**“允许在本地登录”,再右键单击“属性”**。
  4. 单击**“添加用户或组”**。
  5. 单击**“位置”,指定要搜索的域或其他位置,然后单击“确定”**。
  6. 输入要允许其进行交互式登录的 Windows 帐户,然后单击**“确定”**。
  7. 在**“允许在本地登录 属性”对话框中,单击“确定”**。
  8. 确保您选择的帐户也没有拒绝权限:
    1. 右键单击**“拒绝本地登录”,然后右键单击“属性”**。
    2. 如果列出了该帐户,则将其选中,然后单击**“删除”**。

对存储的凭据使用模拟功能

您还可以使用凭据来模拟其他用户的身份。 对于 SQL Server 数据库,使用模拟选项可以设置 SETUSER 函数。

ms160330.note(zh-cn,SQL.90).gif重要提示:
对于支持订阅的报表,或按计划生成报表历史记录或刷新报表执行快照的报表,请勿使用模拟功能。

无凭据

您可以将数据源连接配置为不使用凭据。 Microsoft 建议您始终使用凭据访问数据源;并不建议不使用任何凭据。 不过,您可以在以下情况选择不使用凭据运行报表:

  • 远程数据源不要求使用凭据。
  • 凭据是在连接字符串中传递的(建议只用于安全连接)。
  • 报表是一个使用了父报表的凭据的子报表。

上述情况下,报表服务器使用一个您必须事先定义的无人参与的执行帐户连接到远程数据源。 由于报表服务器不能使用它的服务凭据连接到远程服务器,因此必须指定一个可由报表服务器用于建立连接的帐户。 有关创建此帐户的详细信息,请参阅配置用于无人参与的报表处理的帐户

数据源配置和网络连接

下表显示了如何针对特定的凭据类型和数据处理扩展插件组合建立连接。 如果要使用自定义数据处理扩展插件,则请参阅指定用于自定义数据处理扩展插件的连接

类型 网络连接上下文 数据源类型(SQL Server、Oracle、ODBC、OLE DB、Analysis Services、XML、SAP NetWeaver BI、Hyperion Essbase)

集成安全性

模拟当前用户

对于所有数据源类型,均使用当前的用户帐户进行连接。

Windows 凭据

模拟指定的用户

对于 SQL Server,Oracle,ODBC 和 OLE DB:使用模拟用户帐户进行连接。

对于 Analysis Services:从 SQL Server Reporting Services Service Pack 2 开始,支持在 Windows Server 2003 中使用域帐户。 在 Windows XP 和更低版本的操作系统中不支持。

数据库凭据

模拟无人参与的执行帐户或服务帐户。

(Reporting Services 会在使用服务标识发送连接请求时删除管理员权限)。

对于 SQL Server、Oracle、ODBC 和 OLE DB:

将用户名和密码追加到连接字符串中。

对于 Analysis Services:

如果使用的是 TCP/IP 协议,则连接会成功;否则,连接将失败。

对于 XML:

如果使用数据库凭据,则报表服务器上的连接将失败。

None

模拟无人参与的执行帐户。

对于 SQL Server、Oracle、ODBC 和 OLE DB:

使用连接字符串中定义的凭据。 如果未定义无人参与的执行帐户,则报表服务器上的连接将失败。

对于 Analysis Services:

如果未指定任何凭据,则即使定义了无人参与的执行帐户,连接也总会失败。

对于 XML:

如果定义了无人参与的执行帐户,则以匿名用户的身份连接;否则,连接将失败。

通过编程方式设置凭据

您可以通过编写代码来设置凭据,以控制对报表和报表服务器的访问。 有关详细信息,请参阅 Data Sources and Connection Methods

请参阅

任务

如何创建、删除或修改共享数据源 (Management Studio)
如何创建、删除或修改共享数据源(报表管理器)
如何配置报表特定数据源 (Management Studio)
如何配置报表特定数据源(报表管理器)

概念

Reporting Services 支持的数据源
连接数据源
在 Reporting Services 中设置数据源属性
报表管理器

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2007 年 9 月 15 日

新增内容:
  • 如何向域用户帐户授予“允许在本地登录”权限

2006 年 12 月 12 日

更改的内容:
  • 添加了有关 Analysis Services 支持模拟用户帐户的注释。

2006 年 7 月 17 日

更改的内容:
  • 关于“无凭据”的说明。

2005 年 12 月 5 日

新增内容:
  • 添加了一个表,显示如何建立连接以及用于实现连接的安全上下文。