Cómo registrar un Nombre principal de servicio (SPN) para un servidor de informes

Si está implementando Reporting Services en una red que utiliza el protocolo Kerberos para la autenticación mutua, debe crear un nombre principal de servicio (SPN, Service Principal Name) para el servicio Servidor de informes si lo configura para ejecutarse como una cuenta de usuario de dominio. Además, al configurar un usuario de dominio como la cuenta de servicio, el servidor de informes se debe configurar para utilizar la autenticación NTLM.

Acerca de los nombres principales de servicio

Un SPN es un identificador único para un servicio en una red que utiliza la autenticación Kerberos. Está compuesto de una clase de servicio, un nombre de host y un puerto. En una red que utiliza la autenticación Kerberos, un SPN para el servidor se debe registrar en una cuenta de equipo integrada (como NetworkService o LocalSystem) o en una cuenta de usuario. Los SPN se registran automáticamente para las cuentas integradas. Sin embargo, al ejecutar un servicio en una cuenta de usuario de dominio, debe registrar manualmente el SPN para la cuenta que desea utilizar.

Para crear un SPN, puede utilizar la utilidad de línea de comandos SetSPN. Para obtener más información, vea Información general sobre Setspn en Microsoft Windows Server TechCenter.

Debe ser administrador de dominio si desea ejecutar la utilidad en el controlador de dominio.

Sintaxis

La sintaxis de comandos para utilizar la utilidad SetSPN con el fin de crear un SPN para el servidor de informes es similar a la siguiente:

Setspn -a http/<computername>.<domainname>:<port> <domain-user-account>

SetSPN está disponible con el paquete de herramientas de compatibilidad de Windows Server 2003 Service Pack 1, que debe descargar de forma independiente. El argumento -a se utiliza para registrar un nombre de la entidad de seguridad del servicio con una cuenta determinada.

HTTP es la clase de servicio. El servicio web del servidor de informes se ejecuta en HTTP.SYS. Una consecuencia de la creación de un SPN para HTTP es que a todas las aplicaciones web del mismo equipo que se ejecutan en HTTP.SYS (incluidas las que se hospedan en IIS) se les concederán vales en función de la cuenta de usuario de dominio. Si esos servicios se ejecutan en una cuenta diferente, se producirá un error en las solicitudes de autenticación. Para evitar este problema, asegúrese de configurar todas las aplicaciones HTTP para ejecutarse en la misma cuenta, o considere la posibilidad de crear los encabezados de host para cada aplicación y crear después SPN independientes para cada encabezado de host. Al configurar los encabezados de host, se requieren cambios de DNS con independencia de la configuración de Reporting Services.

Los valores que especifique para <computername>, <domainname> y <port> identifican la dirección de red única del equipo que hospeda el servidor de informes. Puede ser un nombre de host local o un nombre de dominio completo (FQDN). Si solo tiene un dominio y está utilizando el puerto 80, puede omitir <domainname> y <port> en la línea de comandos. <domain-user-account> es la cuenta de usuario en la que el servicio del servidor de informes se ejecuta y para la que el SPN debe registrarse.

Nota

NOTA: si está utilizando Internet Explorer y la autenticación Kerberos, se recomienda que no especifique el puerto como parte de la línea de comandos. Para obtener más información, vea Internet Explorer no puede utilizar el protocolo de autenticación Kerberos para conectarse a un sitio web.

Registrar un nombre principal de servicio para la cuenta de usuario de dominio

Para registrar un SPN para un servicio Servidor de informes que se ejecute como un usuario de dominio

  1. Instale Reporting Services y configure el servicio Servidor de informes para ejecutarse como una cuenta de usuario de dominio. Observe que los usuarios no podrán conectarse al servidor de informes hasta que complete los pasos siguientes.

  2. Descargue e instale Herramientas de soporte técnico de Windows Server 2003 Service Pack 1 en el Centro de descarga.

  3. Inicie sesión en el controlador de dominio como administrador de dominio.

  4. Abra una ventana del símbolo del sistema.

  5. Copie el comando siguiente, reemplazando los valores de los marcadores de posición con valores reales que sean válidos para su red:

    Setspn -a http/<computer-name>.<domain-name>:<port> <domain-user-account>
    
  6. Ejecute el comando.

  7. Abra el archivo RsReportServer.config y busque la sección <AuthenticationTypes>. Agregue <RSWindowsNegotiate/> como primera entrada en esta sección para habilitar NTLM.