在报表服务器上配置基本身份验证
默认情况下,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 集成模式下的报表服务器。
将报表服务器配置为使用基本身份验证
在文本编辑器中打开 RSReportServer.config 配置文件。 有关配置文件的位置的详细信息,请参阅 RsReportServer.config 配置文件。
在文件中,转到
<Authentication>
行。查看以下 XML 结构,复制最能满足你需要的一个。 第一个 XML 结构提供了
Realm
和DefaultDomain
元素的占位符,将在下一部分对这些元素进行介绍。适用于: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>
在配置文件中,使用复制的结构替换现有的
<Authentication>
部分。如果使用的是多个身份验证类型,则添加
RSWindowsBasic
元素,而不能删除RSWindowsNegotiate
、RSWindowsNTLM
或RSWindowsKerberos
的条目。不能将
Custom
与其他身份验证类型一起使用。使用对环境有效的值替换
<Realm>
或<DefaultDomain>
的空值。 有关相应值的信息,请参阅下一章节。保存文件。
如果使用扩展部署,请对该部署中的其他报表服务器重复这些步骤。
重启为基本身份验证配置的所有报表服务器。 此步骤会清除当前打开的任何会话。
基本身份验证元素的值
使用 RSWindowsBasic
部分配置基本身份验证时,可以指定以下元素。
元素 | 必选 | 有效值 |
---|---|---|
LogonMethod | 是 如果未指定值,则使用 3。 |
对网络登录使用值 2。 将此值用于高性能服务器对明文密码进行身份验证。 将值 3 用于明文登录。 使用此值(默认值)时,登录凭据将保留在随每个 HTTP 请求一起发送的身份验证包中。 然后,服务器在连接到网络中的其他服务器时会模拟用户。 注意:SQL Server 2016 (13.x) Reporting Services 或更高版本 (SSRS) 不支持值 0(用于交互式登录)和 1(用于批量登录)。 |
领域 | 可选 | 此元素指定包含授权和身份验证功能的资源分区,这些功能用于控制对组织中受保护资源的访问。 |
默认域 | 可选 | 此元素指定服务器对用户进行身份验证所使用的域。 此值是可选的。但如果忽略此值,报表服务器会将计算机名称用作域。 如果计算机是域的成员,则该域是默认域。 如果在域控制器上安装了报表服务器,则所用的域为该计算机控制的域。 |