Compartir a través de


Configurar la autenticación de Windows en el servidor de informes

De forma predeterminada, Reporting Services acepta solicitudes que especifican la autenticación Negotiate o NTLM. Si la implementación incluye aplicaciones cliente y exploradores que usan estos proveedores de seguridad, puede usar los valores predeterminados sin configuración adicional. Si desea usar un proveedor de seguridad diferente para la seguridad integrada de Windows (por ejemplo, si desea usar Kerberos directamente), o si ha modificado los valores predeterminados y desea restaurar la configuración original, puede usar la información de este tema para especificar la configuración de autenticación en el servidor de informes.

Para usar la seguridad integrada de Windows, cada usuario que requiera acceso a un servidor de informes debe tener una cuenta de usuario local o de dominio 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 esos dominios sean de confianza. Las cuentas deben tener acceso al equipo del servidor de informes y, posteriormente, deben asignarse a roles para obtener acceso a operaciones específicas del servidor de informes.

También se deben cumplir los siguientes requisitos adicionales:

  • Los archivos RSeportServer.config deben tener AuthenticationType establecido en RSWindowsNegotiate, RSWindowsKerberoso RSWindowsNTLM. De forma predeterminada, el archivo RSReportServer.config incluye la RSWindowsNegotiate configuración si la cuenta de servicio del servidor de informes es NetworkService o LocalSystem; de lo contrario, se usa la RSWindowsNTLM configuración. Puede agregar RSWindowsKerberos si tiene aplicaciones que solo usan la autenticación Kerberos.

    Importante

    El uso de RSWindowsNegotiate producirá un error de autenticación Kerberos si configuró el servicio Report Server para que se ejecute en una cuenta de usuario de dominio y no registró un Nombre Principal de Servicio (SPN) para la cuenta. Para obtener más información, consulte Resolución de errores de autenticación Kerberos al conectarse a un servidor de informes de este tema.

  • ASP.NET debe configurarse 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 la configuración <modo de autenticación="Windows".> Si cambia a <modo de autenticación="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 <identidad suplantada= "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, edite los valores y elementos XML en el archivo RSReportServer.config. Puede copiar y pegar los ejemplos de este tema para implementar combinaciones específicas.

La configuración predeterminada funciona mejor si todos los equipos cliente y servidor están en el mismo dominio o en un dominio de confianza y el servidor de informes se implementa para el acceso de intranet detrás de un firewall corporativo. Los dominios únicos y de confianza son un requisito para pasar las credenciales de Windows. Las credenciales se pueden pasar más de una vez si habilita el protocolo Kerberos versión 5 para los servidores. De lo contrario, las credenciales solo pueden transmitirse una vez antes de que expiren. Para obtener más información sobre cómo configurar credenciales para varias conexiones de equipo, vea Especificar información de credenciales y conexión para orígenes de datos de informe.

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, debe usar la configuración de autenticación predeterminada que especifique la seguridad integrada de Windows. El servidor de informes usa características internas en la extensión de autenticación de Windows predeterminada para admitir servidores de informes en modo integrado de SharePoint.

Protección ampliada para la autenticación

A partir de SQL Server 2008 R2, la compatibilidad con la protección ampliada para la autenticación está disponible. 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 deben usarse con un sistema operativo que admita la protección ampliada. La configuración de Reporting Services para la protección ampliada viene determinada por la configuración del archivo RSReportServer.config. El archivo se puede actualizar editando el archivo o mediante las API de WMI. Para obtener más información, consulte Protección ampliada para la autenticación con Reporting Services.

Para configurar un servidor de informes para usar la seguridad integrada de Windows

  1. Abra RSReportServer.config en un editor de texto.

  2. Busque <Authentication>.

  3. Copie una de las siguientes estructuras XML que mejor se adapten a sus necesidades. Puede especificar RSWindowsNegotiate, RSWindowsNTLMy RSWindowsKerberos en cualquier orden. Debe habilitar la persistencia de autenticación si desea autenticar la conexión en lugar de cada solicitud individual. En la persistencia de autenticación, todas las solicitudes que requieren autenticación estarán permitidas 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>  
    

    </Autenticación>

    La tercera estructura XML especifica todos los paquetes de seguridad que se usan en la seguridad integrada de Windows:

          <AuthenticationTypes>  
                 <RSWindowsNegotiate />  
                 <RSWindowsKerberos />  
                 <RSWindowsNTLM />  
          </AuthenticationTypes>  
    

    La cuarta estructura XML especifica NTLM solo para las implementaciones que no admiten Kerberos o para solucionar errores de autenticación Kerberos:

          <AuthenticationTypes>  
                 <RSWindowsNTLM />  
          </AuthenticationTypes>  
    
  4. Péguelo sobre las entradas existentes para <Authentication>.

    Tenga en cuenta que no se puede usar Custom con los RSWindows tipos .

  5. Modifique según corresponda la configuración de protección ampliada. La protección ampliada está deshabilitada de forma predeterminada. Si estas entradas no están presentes, es posible que el equipo actual no ejecute una versión de Reporting Services que admita la protección ampliada. Para obtener más información, vea Extended Protection for Authentication with Reporting Services.

          <RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>  
          <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>  
    
  6. Guarde el archivo.

  7. Si configuró una implementación escalada, repita estos pasos para otros servidores de informes de la implementación.

  8. Reinicie el servidor de informes para borrar las sesiones que estén abiertas en ese momento.

Resolución de errores de autenticación Kerberos al conectarse a un servidor de informes

En un servidor de informes configurado para la autenticación Negotiate o Kerberos, se producirá un error en una conexión de cliente al servidor de informes si se produce un error de autenticación Kerberos. Se sabe que 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 registró un Nombre Principal de Servicio (SPN) para la cuenta.

  • El servidor de informes se configura con la RSWindowsNegotiate opción .

  • El explorador elige Kerberos sobre NTLM en el encabezado de autenticación de la solicitud que envía al servidor de informes.

Puede detectar el error si ha habilitado el registro Kerberos. Otro síntoma del error es que se le pedirán credenciales varias veces y, a continuación, vea una ventana vacía del explorador.

Puede confirmar que se está produciendo un error de autenticación Kerberos quitando <RSWindowsNegotiate /> del archivo de configuración y restableciendo la conexión.

Después de confirmar el problema, puede solucionarlo 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, consulte Registrar un Service Principal Name (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 predefinidas asignan un SPN HTTP al SPN de host, que se define al unir a un ordenador a la red. Para obtener más información, vea Configurar una cuenta de servicio (Administrador de configuración de SSRS).

  • Use NTLM. NTLM generalmente funcionará en los casos en los que se produzca un error en la autenticación Kerberos. Para usar NTLM, quite RSWindowsNegotiate del archivo RSReportServer.config y compruebe que solo RSWindowsNTLM está especificado. Si elige este enfoque, puede seguir usando una cuenta de usuario de dominio para el servicio servidor de informes aunque no defina un SPN para él.

Información de registro

Hay varios orígenes de información de registro que pueden ayudar a 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 de trazas de los servicios de generación de informes para buscar el valor registrado para el atributo UserAccountControl. El valor registrado está en formato decimal. Debe convertir el valor decimal en formato hexadecimal y, a continuación, buscar ese valor en el tema de MSDN que describe User-Account-Control Attribute.

  • La entrada del registro de seguimiento del servicio "Reporting Services" tendrá un aspecto similar al 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 formulario hexadecimal es la Calculadora de Microsoft Windows. La calculadora de Windows admite varios modos que muestran la opción "Dec" y las opciones "Hex". Seleccione la opción "Dec", pegue o escriba el valor decimal que encontró en el archivo de registro y, a continuación, seleccione la opción "Hexadecimal".

  • A continuación, consulte el tema User-Account-Control Attribute para derivar el atributo de la cuenta de servicio.

SPNs configurados en Active Directory para la cuenta de servicio de Reporting Services.

Para registrar los SPN en el archivo de registro de trazas del servicio de Reporting Services, puede habilitar temporalmente la característica de protección ampliada de Reporting Services.

  • Modifique el archivo rsreportserver.config de configuración estableciendo lo siguiente:

    <RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>   
    <RSWindowsExtendedProtectionScenario>Any</RSWindowsExtendedProtectionScenario>  
    
  • Reinicie el servicio Reporting Services .

Si no desea seguir usando Protección ampliada, establezca los valores de configuración en valores predeterminados y reinicie la cuenta de Servicio de Reporting Services.

<RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel>  
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>  

Para obtener más información, consulte Protección ampliada para la autenticación con Reporting Services.

Cómo elige el navegador el protocolo Kerberos o NTLM negociado

Cuando usas Internet Explorer para conectarte al servidor de informes, especifica Kerberos negociado o NTLM en el encabezado de autenticación. NTLM se usa 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 un encabezado de host o un nombre de servidor.

  • El software de firewall bloquea los puertos usados para la autenticación Kerberos.

  • El sistema operativo de un servidor determinado no tiene Habilitado Kerberos.

  • El dominio incluye versiones anteriores de los sistemas operativos cliente y servidor de Windows que no admiten la característica de autenticación Kerberos integrada en versiones más recientes del sistema operativo.

Además, Internet Explorer puede elegir Kerberos negociado o NTLM en función de cómo haya configurado la dirección URL, LAN y la configuración del 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 localhost, Internet Explorer selecciona NTLM. Si la dirección URL especifica el nombre de red del equipo, Internet Explorer selecciona Negotiate, el cual funcionará o fallará dependiendo de si existe 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 establezcas en Internet Explorer pueden determinar si NTLM se elige sobre Kerberos. Sin embargo, dado que la configuración de LAN y proxy varía en todas las organizaciones, no es posible determinar con precisión la configuración exacta que contribuye a los errores de autenticación Kerberos. Por ejemplo, su organización podría aplicar la configuración de proxy que transforma las direcciones URL de la intranet en direcciones URL de nombre de dominio completamente cualificados que se resuelven a través de conexiones a Internet. Si se usan diferentes proveedores de autenticación para distintos tipos de direcciones URL, podrías encontrar que algunas conexiones tienen éxito cuando esperarías que fallaran.

Si encuentra errores de conexión que cree que se deben a errores de autenticación, puede probar diferentes combinaciones de la configuración de LAN y proxy para aislar el problema. En Internet Explorer, la configuración de LAN y proxy se encuentran en el cuadro de diálogo Configuración de 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

Véase también

Autenticación con el servidor de informes
Concesión de permisos en un servidor de informes en modo nativo
Archivo de configuración de RSReportServer
Configuración de la autenticación básica en el servidor de informes
Configuración de la autenticación de formularios o personalizada en el servidor de informes
Protección ampliada para la autenticación con Reporting Services