Cómo configurar la autenticación de Windows en Reporting Services
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 funciones 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 sólo 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 sólo 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.
Para configurar un servidor de informes para utilizar 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 sólo 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.
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 Cómo 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 Cómo 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 sólo 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.
Cómo elige el explorador 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 ficha Conexión de Opciones de Internet.
Vea también