在报表服务器上配置基本身份验证
默认情况下,Reporting Services 接受指定 Negotiate 和 NTLM 身份验证的请求。 如果部署中包括使用基本身份验证的客户端应用程序或浏览器,则必须将基本身份验证添加到支持的类型列表中。 此外,若要使用报表生成器,必须启用对报表生成器文件的匿名访问。
若要对报表服务器配置基本身份验证,则需要在 RSReportServer.config 文件中编辑 XML 元素和值。 可以复制并粘贴本文中的示例来替换默认值。
启用基本身份验证之前,请验证您的安全基础结构是否支持。 在基本身份验证模式下,报表服务器 Web 服务会将凭证传递给本地安全机构。 如果凭证指定本地用户帐户,则报表服务器计算机上的本地安全机构将对用户进行身份验证。 然后,用户将获取对本地资源有效的安全令牌。 域用户帐户的凭据将转发给域控制器并由它进行身份验证。 生成的票证对网络资源有效。
若要降低凭据在传输到网络中的域控制器时被截获的风险,必须使用通道加密,如传输层安全性 (TLS)(旧称为“安全套接字层 (SSL)”)。 基本身份验证本身以明文形式传输用户名,以 Base-64 编码格式传输密码。 添加信道加密会使数据包不可读。 有关详细信息,请参阅在本机模式报表服务器上配置 TLS 连接。
启用基本身份验证后,在将连接属性设置为向报表提供数据的外部数据源时,用户不能选择“Windows 集成安全性”选项。 该选项会在数据源属性页中显示为灰色。
注意
以下说明针对本机模式报表服务器。 如果在 SharePoint 集成模式下部署报表服务器,则必须使用指定 Windows 集成安全性的默认身份验证设置。 报表服务器使用默认 Windows 身份验证扩展插件中的内部功能支持 SharePoint 集成模式下的报表服务器。
将报表服务器配置为使用基本身份验证
在文本编辑器中打开 RSReportServer.config。
若要查找配置文件,请参阅“RsReportServer.config 配置文件”一文中的文件位置部分。
查找
<Authentication>
。复制以下最能满足您需要的一个 XML 结构。 第一个 XML 结构提供了用于指定所有元素的占位符,将在下一部分对这些元素进行介绍:
适用于: 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(用于批量登录)。 |
领域 | 可选 | 指定包含授权和身份验证功能的资源分区,这些功能用于控制对组织中受保护资源的访问。 |
默认域 | 可选 | 指定服务器用来对用户进行身份验证的域。 此值是可选的,但如果忽略此值,报表服务器会将计算机名称用作域。 如果计算机是域的成员,则该域是默认域。 如果在域控制器上安装了报表服务器,则所用的域为该计算机控制的域。 |