在报表服务器上配置基本身份验证

默认情况下,SQL Server Reporting Services (SSRS) 接受指定协商和新技术 LAN 管理器 (NTLM) 身份验证的请求。 如果部署中包括使用基本身份验证的客户端应用程序或浏览器,则必须将基本身份验证添加到支持的类型列表中。 此外,若要使用报表生成器,必须启用对报表生成器文件的匿名访问。

若要对 SSRS 报表服务器配置基本身份验证,则需要在 RSReportServer.config 文件中编辑 XML 元素和值。 可以复制并粘贴本文中的示例来替换默认值。 启用基本身份验证后,在为向报表提供数据的外部数据源设置连接属性时,用户不能选择“Windows 集成安全性”选项。 该选项会在数据源属性页中不可用。

先决条件

  • 在本机模式中配置的报表服务器。
  • RSReportServer.config 文件的写入权限。

基本身份验证的安全注意事项

启用基本身份验证之前,请验证您的安全基础结构是否支持。 在基本身份验证模式下,报表服务器 Web 服务会将凭据传递给本地安全机构。 如果凭据指定本地用户帐户,则报表服务器上的本地安全机构将对用户进行身份验证。 然后,用户将获取对本地资源有效的安全令牌。 域用户帐户的凭据将转发给域控制器并由它进行身份验证。 生成的票证对网络资源有效。

若要降低凭据在传输到网络中的域控制器时被截获的风险,必须使用通道加密,如传输层安全性 (TLS)(旧称为“安全套接字层 (SSL)”)。 基本身份验证本身以明文形式传输用户名,以 Base-64 编码格式传输密码。 添加信道加密会使数据包不可读。 有关详细信息,请参阅在本机模式 Report Server 上配置 TLS 连接

注意

以下说明针对本机模式报表服务器。 如果在 SharePoint 集成模式下部署报表服务器,则必须使用指定 Windows 集成安全性的默认身份验证设置。 报表服务器使用默认 Windows 身份验证扩展插件中的内部功能支持 SharePoint 集成模式下的报表服务器。

将报表服务器配置为使用基本身份验证

  1. 在文本编辑器中打开 RSReportServer.config 配置文件。 有关配置文件的位置的详细信息,请参阅 RsReportServer.config 配置文件

  2. 在文件中,转到 <Authentication> 行。

  3. 查看以下 XML 结构,复制最能满足你需要的一个。 第一个 XML 结构提供了 RealmDefaultDomain 元素的占位符,将在下一部分对这些元素进行介绍。

    适用于:SQL Server Reporting Services (2016)

    <Authentication>
          <AuthenticationTypes>
                <RSWindowsBasic>
                      <LogonMethod>3</LogonMethod>
                      <Realm></Realm>
                      <DefaultDomain></DefaultDomain>
                </RSWindowsBasic>
          </AuthenticationTypes>
          <EnableAuthPersistence>true</EnableAuthPersistence>
    </Authentication>
    

    如果使用默认值,则可以使用以下结构来最大程度地减少元素数量:

    <AuthenticationTypes>
          <RSWindowsBasic/>
    </AuthenticationTypes>
    

    适用于: SQL Server Reporting Services(2017 及更高版本) Power BI 报表服务器

    <Authentication>
          <AuthenticationTypes>
                <RSWindowsBasic/>
          </AuthenticationTypes>
          <EnableAuthPersistence>true</EnableAuthPersistence>
          <RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel>
          <RSWindowsExtendedProtectionScenario>Any</RSWindowsExtendedProtectionScenario>
    </Authentication>
    
  4. 在配置文件中,使用复制的结构替换现有的 <Authentication> 部分。

    如果使用的是多个身份验证类型,则添加 RSWindowsBasic 元素,而不能删除 RSWindowsNegotiateRSWindowsNTLMRSWindowsKerberos 的条目。

    不能将 Custom 与其他身份验证类型一起使用。

  5. 使用对环境有效的值替换 <Realm><DefaultDomain> 的空值。 有关相应值的信息,请参阅下一章节。

  6. 保存文件。

  7. 如果使用扩展部署,请对该部署中的其他报表服务器重复这些步骤。

  8. 重启为基本身份验证配置的所有报表服务器。 此步骤会清除当前打开的任何会话。

基本身份验证元素的值

使用 RSWindowsBasic 部分配置基本身份验证时,可以指定以下元素。

元素 必选 有效值
LogonMethod

如果未指定值,则使用 3。
对网络登录使用值 2。 将此值用于高性能服务器对明文密码进行身份验证。

将值 3 用于明文登录。 使用此值(默认值)时,登录凭据将保留在随每个 HTTP 请求一起发送的身份验证包中。 然后,服务器在连接到网络中的其他服务器时会模拟用户。

注意:SQL Server 2016 (13.x) Reporting Services 或更高版本 (SSRS) 不支持值 0(用于交互式登录)和 1(用于批量登录)
领域 可选 此元素指定包含授权和身份验证功能的资源分区,这些功能用于控制对组织中受保护资源的访问。
默认域 可选 此元素指定服务器对用户进行身份验证所使用的域。 此值是可选的。但如果忽略此值,报表服务器会将计算机名称用作域。 如果计算机是域的成员,则该域是默认域。 如果在域控制器上安装了报表服务器,则所用的域为该计算机控制的域。