Configurar la autenticación de Windows en el servidor de informes
De forma predeterminada, Reporting Services acepta solicitudes que especifican la autenticación NTLM o Negotiate. Si la implementación incluye aplicaciones cliente y exploradores que utilizan estos proveedores de seguridad, puede utilizar los valores predeterminados sin necesidad de ninguna configuración adicional. Si desea utilizar un proveedor de seguridad diferente para la seguridad integrada de Windows (por ejemplo, si desea utilizar directamente Kerberos) o si modificó los valores predeterminados y prefiere restaurar los originales, puede utilizar la información de este tema para especificar los valores de autenticación en el servidor de informes.
Para utilizar la seguridad integrada de Windows, cada usuario que requiera acceso a un servidor de informes debe tener una cuenta de usuario de dominio o local de Windows válida, o ser miembro de una cuenta de grupo de dominio o local de Windows. Puede incluir cuentas de otros dominios siempre que sean de confianza. Las cuentas deben tener acceso al equipo del servidor de informes y deben asignarse posteriormente a roles con el fin de lograr acceso a operaciones específicas del servidor de informes.
Además, se deben cumplir los requisitos adicionales siguientes:
Los archivos RSeportServer.config deben tener establecido AuthenticationType en RSWindowsNegotiate, RSWindowsKerberos o RSWindowsNTLM. De forma predeterminada, el archivo RSReportServer.config incluye el valor RSWindowsNegotiate si la cuenta de servicio del servidor de informes es NetworkService o LocalSystem; de lo contrario, se usa el valor RSWindowsNTLM. Puede agregar RSWindowsKerberos si tiene aplicaciones que solo utilizan la autenticación Kerberos.
Importante Al utilizar RSWindowsNegotiate, se producirá un error de autenticación Kerberos si configuró el servicio del servidor de informes para ejecutarse en una cuenta de usuario de dominio y no registró un nombre de la entidad de seguridad del servicio (SPN) para la cuenta. Para obtener más información, vea Resolver los errores de autenticación Kerberos al conectarse a un servidor de informes en este tema.
ASP.NET se debe configurar para la autenticación de Windows. De forma predeterminada, los archivos Web.config para el servicio web del servidor de informes y el Administrador de informes incluyen el valor <authentication mode ="Windows">. Si lo cambia a <authentication mode="Forms">, se producirá un error en la autenticación de Windows para Reporting Services.
Los archivos Web.config para el servicio web del servidor de informes y el Administrador de informes deben tener <identity impersonate= "true" />.
La aplicación cliente o el explorador deben admitir la seguridad integrada de Windows.
Para cambiar la configuración de autenticación del servidor de informes, modifique los valores y los elementos XML en el archivo RSReportServer.config. Puede copiar y pegar los ejemplos de este tema para implementar combinaciones concretas.
La configuración predeterminada funciona mejor si todos los equipos cliente y servidor se encuentran en el mismo dominio o en un dominio de confianza, y el servidor de informes se implementa para el acceso a la intranet detrás de un firewall corporativo. Los dominios únicos y de confianza son un requisito necesario para pasar credenciales de Windows. Las credenciales se pueden pasar más de una vez si se habilita la versión 5 del protocolo Kerberos para los servidores. De lo contrario, las credenciales se pueden pasar solo una vez antes de que expiren. Para obtener más información acerca de la configuración de credenciales para conexiones de varios equipos, vea Especificar información de credenciales y conexión para los orígenes de datos de informes.
Las instrucciones siguientes están pensadas para un servidor de informes en modo nativo. Si el servidor de informes se implementa en modo integrado de SharePoint, se deben utilizar los valores de autenticación predeterminados que especifican la seguridad integrada de Windows. El servidor de informes utiliza las características internas de la extensión de autenticación de Windows predeterminada para admitir los servidores de informes en modo integrado de SharePoint.
Protección ampliada para la autenticación
A partir de SQL Server 2008 R2, se admite la protección ampliada para autenticación. La característica de SQL Server admite el uso del enlace de canal y del enlace de servicio para mejorar la protección de la autenticación. Las características de Reporting Services tienen que usarse con un sistema operativo que admita la protección ampliada. Las opciones del archivo RSReportServer.config determinan la configuración de Reporting Services para la protección ampliada. El archivo puede actualizarse modificando el archivo o usando las API WMI. Para obtener más información, vea Protección ampliada para la autenticación con Reporting Services.
Para configurar un servidor de informes para usar la seguridad integrada de Windows
Abra RSReportServer.config en un procesador de texto.
Busque <Authentication>.
Copie una de las estructuras XML siguientes que mejor se ajuste a sus necesidades. Puede especificar RSWindowsNegotiate, RSWindowsNTLM y RSWindowsKerberos en cualquier orden. Debe habilitar la persistencia de autenticación si desea autenticar la conexión en lugar de cada solicitud individual. Con la persistencia de autenticación, todas las solicitudes que requieran autenticación se permitirán mientras dure la conexión.
La primera estructura XML es la configuración predeterminada cuando la cuenta de servicio del servidor de informes es NetworkService o LocalSystem:
<Authentication> <AuthenticationTypes> <RSWindowsNegotiate /> </AuthenticationTypes> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication>
La segunda estructura XML es la configuración predeterminada cuando la cuenta de servicio del servidor de informes no es NetworkService o LocalSystem:
<Authentication> <AuthenticationTypes> <RSWindowsNTLM /> </AuthenticationTypes> <EnableAuthPersistence>true</EnableAuthPersistence>
</Authentication>
La tercera estructura XML especifica todos los paquetes de seguridad que se utilizan en la seguridad integrada de Windows:
<AuthenticationTypes> <RSWindowsNegotiate /> <RSWindowsKerberos /> <RSWindowsNTLM /> </AuthenticationTypes>
La cuarta estructura XML solo especifica NTLM para las implementaciones que no admiten Kerberos o para solucionar los errores de autenticación Kerberos:
<AuthenticationTypes> <RSWindowsNTLM /> </AuthenticationTypes>
Péguela sobre las entradas existentes para <Authentication>.
Observe que no puede utilizar Custom con los tipos RSWindows.
Modifique los valores para la protección ampliada según corresponda. La protección ampliada está deshabilitada de forma predeterminada. Si estas entradas no están presentes, el equipo actual puede no estar ejecutando ninguna versión de Reporting Services que admita la protección ampliada. Para obtener más información, vea Protección ampliada para la autenticación con Reporting Services
<RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel> <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
Guarde el archivo.
Si configuró una implementación escalada, repita estos pasos con los demás servidores de informes de la implementación.
Reinicie el servidor de informes para borrar las sesiones que estén abiertas en este momento.
Resolver los errores de autenticación Kerberos al conectarse a un servidor de informes
En un servidor de informes que esté configurado para usar la autenticación Kerberos o Negotiate, se producirá un error en una conexión de cliente con el servidor de informes si hay un error de autenticación Kerberos. Se producen errores de autenticación Kerberos cuando:
El servicio del servidor de informes se ejecuta como una cuenta de usuario de dominio de Windows y no se registró un nombre de la entidad de seguridad del servicio (SPN) para la cuenta.
El servidor de informes se configura con el valor RSWindowsNegotiate.
El explorador elige Kerberos sobre NTLM en el encabezado de autenticación en la solicitud que envía al servidor de informes.
Puede detectar el error si habilitó el registro de Kerberos. Otro síntoma del error es que se solicitan varias veces las credenciales y, a continuación, aparece una ventana del explorador vacía.
Puede confirmar que se está produciendo un error de autenticación Kerberos si quita < RSWindowsNegotiate /> del archivo de configuración y vuelve a intentar establecer la conexión.
Después de confirmar el problema, puede abordarlo de las maneras siguientes:
Registre un SPN para el servicio del servidor de informes en la cuenta de usuario de dominio. Para obtener más información, vea Registrar un nombre principal de servicio (SPN) para un servidor de informes.
Cambie la cuenta de servicio para que se ejecute en una cuenta integrada como servicio de red. Las cuentas integradas asignan el SPN HTTP al SPN de host, que se define al unir un equipo a la red. Para obtener más información, vea Configurar una cuenta de servicio para Reporting Services.
Use NTLM. Generalmente, NTLM funcionará en los casos en que no lo haga la autenticación Kerberos. Para utilizar NTLM, quite RSWindowsNegotiate del archivo RSReportServer.config y compruebe que solo se especifica RSWindowsNTLM. Si elige esta solución, puede continuar utilizando una cuenta de usuario de dominio para el servicio del servidor de informes aunque no defina un SPN para él.
Registrar información
Hay varios orígenes de información de registro que pueden servir de ayuda para resolver problemas relacionados con Kerberos.
Atributo User-Account-Control
Determine si la cuenta de servicio de Reporting Services tiene el atributo suficiente establecido en Active Directory. Revise el archivo de registro del seguimiento del servicio de informe de errores para encontrar el valor registrado para el atributo UserAccountControl. El valor registrado está en formato decimal. Necesita convertir el valor decimal al formato hexadecimal y, a continuación, buscar ese valor en el tema MSDN que describe el atributo User-Account-Control.
La entrada del registro de seguimiento del servicio de informe de errores será similar a la siguiente:
appdomainmanager!DefaultDomain!8f8!01/14/2010-14:42:28:: i INFO: The UserAccountControl value for the service account is 590336
Una opción para convertir el valor decimal al formato hexadecimal es usar la Calculadora de Microsoft Windows. La Calculadora de Windows admite varios modos que muestran las opciones 'Dec' y 'Hexadecimal'. Seleccione la opción 'Dec', pegue o escriba en ella el valor decimal que encuentre en el archivo de registro y, a continuación, seleccione la opción 'Hex'.
Consulte a continuación el tema Atributo User-Account-Control para derivar el atributo para la cuenta de servicio.
SPN configurados en Active Directory para la cuenta de servicio de Reporting Services.
Para registrar los SPN en el archivo de registro de seguimiento del servicio de Reporting Services, puede habilitar temporalmente la característica Protección ampliada de Reporting Services.
Modifique el archivo de configuración de rsreportserver.config estableciendo lo siguiente:
<RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel> <RSWindowsExtendedProtectionScenario>Any</RSWindowsExtendedProtectionScenario>
Reinicie el servicio de Reporting Services y busque si hay entradas similares a la siguiente en el archivo de registro de seguimiento:
rshost!rshost!e44!01/14/2010-14:43:51:: i INFO: Registered valid SPNs list for endpoint 2: rshost!rshost!e44!01/14/2010-14:43:52:: i INFO: SPN Whitelist Added <Explicit> - <HTTP/sqlpod064-13.w2k3.net>.
Los valores debajo de <Explicit> contendrán los SPN configurados en Active Directory para la cuenta de servicio de Reporting Services.
Si no desea seguir utilizando la protección ampliada, establezca de nuevo los valores de configuración predeterminados y reinicie la cuenta de servicio de Reporting Services.
<RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
Para obtener más información, vea Protección ampliada para la autenticación con Reporting Services
Cómo el explorador elige Kerberos negociado o NTLM negociado
Cuando se utiliza Internet Explorer para conectarse al servidor de informes, se especifica Kerberos negociado o NTLM negociado en el encabezado de autenticación. NTLM se utiliza en lugar de Kerberos cuando:
La solicitud se envía a un servidor de informes local.
La solicitud se envía a una dirección IP del equipo del servidor de informes en lugar de a un nombre de servidor o encabezado de host.
El software de firewall bloquea los puertos que se usan para la autenticación Kerberos.
El sistema operativo de un servidor determinado no tiene habilitado Kerberos.
El dominio incluye versiones antiguas de los sistemas operativos Windows de servidor y de cliente que no admiten la característica de autenticación Kerberos integrada en las versiones más recientes del sistema operativo.
Además, Internet Explorer puede elegir Kerberos negociado o NTLM negociado, dependiendo de cómo se hayan configurado los valores de dirección URL, LAN y proxy.
Dirección URL del servidor de informes
Si la dirección URL incluye un nombre de dominio completo, Internet Explorer selecciona NTLM. Si la dirección URL especifica el host local, Internet Explorer selecciona NTLM. Si la dirección URL especifica el nombre de red del equipo, Internet Explorer selecciona Negotiate; esto tendrá éxito o no dependiendo de que exista un SPN para la cuenta de servicio del servidor de informes.
Configuración de LAN y proxy en el cliente
La configuración de LAN y proxy que se establece en Internet Explorer puede determinar si se elige NTLM antes que Kerberos. Sin embargo, dado que la configuración de LAN y proxy varía a través de las organizaciones, no es posible determinar con precisión los valores exactos que contribuyen a los errores de autenticación Kerberos. Por ejemplo, una organización puede exigir una configuración de proxy que transforme las direcciones URL de una intranet en direcciones URL de nombre de dominio completo que se resuelven a través de las conexiones a Internet. Si se usan proveedores de autenticación diferentes para tipos distintos de direcciones URL, puede suceder que algunas conexiones tengan éxito cuando se esperaba lo contrario.
Si se producen errores de conexión que considera que se deben a errores de autenticación, puede probar combinaciones diferentes de configuración de LAN y proxy para aislar el problema. En Internet Explorer, la configuración de LAN y proxy se encuentra en el cuadro de diálogo Configuración de la red de área local (LAN), que se abre haciendo clic en Configuración de LAN en la pestaña Conexión de Opciones de Internet.
Recursos externos
- Para obtener información adicional con respecto a Kerberos y los servidores de informes, vea Implementar una solución de Business Intelligence con SharePoint, Reporting Services y servidor de supervisión de PerformancePoint con Kerberos.
Vea también
Tasks
Configurar la autenticación básica en el servidor de informes
Configurar la autenticación de formularios o personalizada en el servidor de informes
Conceptos
Autenticación con el servidor de informes
Conceder permisos en un servidor de informes en modo nativo
Archivo de configuración RSReportServer
Protección ampliada para la autenticación con Reporting Services