Compartir a través de


Delegación de identidad de SQL Server Reporting Services (SharePoint Server 2010)

 

Se aplica a: SharePoint Server 2010

Última modificación del tema: 2016-11-30

En este escenario se configura un par de servidores de SQL Server Reporting Services (SSRS) de carga equilibrada en una configuración con escala que se ejecuta en modo integrado de SharePoint. Los servidores se configuran para aceptar la autenticación Kerberos y delegan la autenticación a un clúster del servidor SQL Server back-end.

En este escenario, tanto el conjunto o granja de servidores de SharePoint como el origen de datos de Reporting Services están en el mismo dominio. Por lo tanto, se configura la delegación limitada de Kerberos para que permita la delegación de identidad al origen de datos back-end. Si es necesario autenticar con orígenes de datos de otros dominios dentro del mismo bosque, deberá configurar la delegación Kerberos (sin restricciones) básica. Recuerde que Reporting Services no usa las Notificaciones del servicio de token de Windows (C2WTS) y, por lo tanto, puede usar la delegación básica.

Dependencias de escenarios

Lista de comprobación de configuración

Área de configuración Descripción

Active Directory

Crear una cuenta de servicio de SSRS

Configurar la delegación limitada de Kerberos

SQL Server Reporting Services

Instalar y configurar SSRS en modo de carga equilibrada con escala

Modificar Web.Config

Modificar ReportingServer.config

Configurar SharePoint Server

Configurar la integración de Reporting Services

Agregar un servidor de informes a la integración

Establecer los valores predeterminados del servidor

Comprobar la configuración

Crear una biblioteca de documentos para los informes

Establecer la configuración de la colección de sitios para Reporting Services

Crear y publicar un informe de pruebas de SQL Server Business Intelligence Studio

Ver el informe de pruebas en Internet Explorer

Detalles del entorno del escenario

Diagrama de entorno de escenario

En este escenario, se configuran las cuentas de servicio del grupo de aplicaciones de Internet Information Services (IIS) para delegar al servicio de SQL Server Reporting Services (SSRS). Se configura la cuenta de servicio de SSRS para que delegue las credenciales al servicio SQL Server. Tenga en cuenta que SQL Server Reporting Services en modo integrado de SharePoint no usa la autenticación de notificaciones interna de la granja de servidores y requiere la autenticación Kerberos para la autenticación delegada. Para obtener más información, vea el tema sobre la autenticación de notificaciones y Reporting Services.

Delegación Kerberos entre dominios

En este ejemplo, el origen de datos que SSRS conecta reside en el mismo dominio que los servidores de SSRS. Probablemente, en algunas situaciones quiera tener acceso a orígenes de datos fuera del dominio en el que SSRS reside. Para autenticar con delegación entre dominios, tiene que configurar la delegación (sin restricciones) básica en la cuenta de servicio de SSRS. Recuerde que esto es posible porque el servicio de SSRS no se basa en las Notificaciones del servicio de token de Windows (C2WTS), por lo que no requiere la transición de protocolo a través de la delegación limitada de Kerberos. Tenga en cuenta también que la delegación entre bosques no es posible, ni siquiera con la delegación básica.

Instrucciones detalladas de configuración

Configuración del DNS

Configure el Sistema de nombres de dominio (DNS) para el grupo de servidores de carga equilibrada de red (NLB) de SSRS en su entorno. En este ejemplo, tenemos dos servidores de SSRS, VMSSRS01 y VMSSRS02, que tienen carga equilibrada y se resuelven en la misma dirección IP virtual (VIP) de NLB (192.168.24.180/24). La dirección VIP se asignará al host FarmReports y tendrá la dirección URL http://FarmReports.

Para obtener información general acerca de cómo configurar el DNS, vea el tema sobre la administración de registros de DNS.

Configure un nuevo registro A de DNS para el host de SSRS. En este ejemplo, tenemos un host FarmReports configurado para resolverse en la VIP de carga equilibrada.

Servicio de directorio de Active Directory

Crear una cuenta de servicio de SSRS

Un procedimiento recomendado es ejecutar SQL Server Reporting Services bajo su propia identidad de dominio. En este ejemplo, se crearon las siguientes cuentas:

Servicio Identidad de servicio

SQL Server Reporting Services

vmlab\svcSQLRS

Configurar nombres de entidad de seguridad de servicio

Para que SSRS se conecte y autentique con orígenes de datos externos mediante la autenticación Kerberos, las cuentas de servicio del administrador de informes y el servicio web del servidor de informes, y la cuenta de servicio para el origen de datos externo, deben tener configurados nombres de entidad de seguridad de servicio (SPN). Consulte los escenarios 1 y 2 (Configuración principal y Autenticación Kerberos para el OLTP de SQL) en esta serie de artículos para configurar y validar los nombres de entidad de seguridad de servicio necesarios en las aplicaciones web de SharePoint Server y las cuentas de servicio de SQL Server. Para los servidores de SSRS, se definieron los siguientes SPN:

Host DNS Identidad del grupo de aplicaciones de IIS Nombres de entidad de seguridad de servicio

FarmReports.vmlab.local

vmlab\svcSQLRS

HTTP/FarmReports

HTTP/ FarmReports.vmlab.local

En este ejemplo se han ejecutado los comandos siguientes:

SetSPN -S HTTP/FarmReports vmlab\svcSQLRS

SetSPN -S HTTP/FarmReports.vmlab.local vmlab\svcSQLRS

Configurar la delegación

La delegación Kerberos debe estar configurada para que SSRS delegue la identidad del cliente al origen de datos back-end. En este ejemplo, SSRS consulta datos de una base de datos transaccional de SQL Server mediante el uso de la identidad del cliente. Por lo tanto, se requiere la delegación Kerberos. La delegación limitada de Kerberos (KCD) no es un requisito en este escenario (ya que la transición de protocolo no es necesaria), pero está configurada como práctica recomendada.

La cuenta de servicio de SSRS que está ejecutando los servicios de SSRS debe ser de confianza para la delegación de credenciales a cada servicio back-end. En nuestro ejemplo, se necesitan las siguientes rutas de acceso de delegación:

Tipo de entidad Nombre de entidad Delega al servicio

Usuario

Vmlab\svcPortal10App

HTTP/FarmReports

HTTP/FarmReports.vmlab.local

Usuario

Vmlab\svcSQLRS

MSSQLSVC/MySqlCluster.vmlab.local:1433

Opcionalmente, si desea informar tomando como referencia orígenes de datos de Analysis Services, configure las siguientes rutas de acceso de delegación:

Tipo de entidad Nombre de entidad Delega al servicio

Usuario

Vmlab\svcSQLRS

MSOLAPSvc.3/MySqlCluster.vmlab.local

Para configurar la delegación restringida

  1. Abra las propiedades del objeto de Active Directory en equipos y usuarios de Active Directory.

  2. Navegue a la ficha Delegación.

  3. Seleccione Confiar en este usuario para la delegación sólo a los servicios especificados.

    Nota

    Para la cuenta de servicio de SSRS, si necesita autenticar con orígenes de datos del mismo bosque, pero fuera del dominio en el que reside el servidor de SSRS, configure la delegación básica en lugar de la delegación restringida. Para ello, seleccione Confiar en este equipo para la delegación a cualquier servicio. Recuerde que no es posible la delegación Kerberos entre bosques.

  4. Opcionalmente, seleccione Usar cualquier protocolo de autenticación, lo que habilita la transición de protocolo.

  5. Haga clic en el botón Agregar para seleccionar la entidad de seguridad de servicio a la que puede delegarse.

  6. Seleccione Usuarios y equipos.

  7. Seleccione la cuenta de servicio que está ejecutando el servicio al que desea delegar. En este ejemplo, se trata de la cuenta de servicio para SQL Server Reporting Services.

    Nota

    La cuenta de servicio seleccionada debe tener un SPN aplicado. En nuestro ejemplo, el SPN para esta cuenta (HTTP/FarmReports.vmlab.local) se configuró anteriormente en el escenario.

  8. Haga clic en Aceptar. A continuación, deberá seleccionar los SPN a los que desea delegar en la siguiente página.

  9. Seleccione el servicio o Seleccionar todo y haga clic en Aceptar.

    Ahora debería ver los SPN seleccionados en la lista de los servicios a los que esta cuenta puede presentar credenciales delegadas:

  10. Repita estos pasos para cada ruta de acceso de delegación identificada anteriormente en esta sección. Tendrá que configurar la delegación desde la cuenta de servicio de SQL Server Reporting Services para uno o varios orígenes de datos back-end (OLTP de SQL o AS de SQL en nuestros escenarios).

    Nota

    Para la cuenta de servicio de SSRS, si necesita autenticar con orígenes de datos del mismo bosque, pero fuera del dominio en el que reside el servidor de SSRS, configure la delegación básica en lugar de la delegación restringida. Para ello, seleccione Confiar en este equipo para la delegación a cualquier servicio. Recuerde que no es posible la delegación Kerberos entre bosques.

Comprobar el SPN de MSSQLSVC para la cuenta de servicio que ejecuta el servicio en SQL Server (lo que se realiza en el escenario 2)

Compruebe que existe el SPN para la cuenta de servicio de Analysis Services (vmlab\svcSQL) mediante el siguiente comando de SetSPN:

SetSPN -L vmlab\svcSQL

Debería ver lo siguiente:

MSSQLSVC/MySqlCluster MSSQLSVC/MySqlCluster.vmlab.local:1433

Comprobar el SPN de MSOLAPSvc.3 para la cuenta de servicio que ejecuta el servicio de SSAS en el servidor de SQL Server Analysis Services (lo que se realiza en el escenario 3)

Compruebe que el SPN para la cuenta de servicio de SQL Server (vmlab\svcSQLAS) existe mediante el siguiente comando de SetSPN:

SetSPN -L vmlab\svcSQLAS

Debería ver lo siguiente:

MSOLAPSvc.3/MySqlCluster MSOLAPSvc.3/MySqlCluster.vmlab.local

SQL Server Reporting Services

Instalación de SharePoint Server 2010

SQL Server Reporting Services requiere la instalación de SharePoint Server 2010 en cada servidor de SSRS para ejecutar SSRS en modo integrado de SharePoint. Instale SharePoint Server 2010 en cada servidor de informes y una cada servidor a la granja de servidores de SharePoint.

Instalar y configurar SSRS en modo de carga equilibrada con escala

Este documento no incluye instrucciones detalladas paso a paso sobre cómo configurar SQL Server Reporting Services en una configuración de carga equilibrada con escala. Para ello, vea el tema sobre las topologías de implementación de Reporting Services en modo integrado de SharePoint. Una vez instalado SSRS, asegúrese de realizar los pasos de configuración adicionales de SSRS que se describen a continuación para completar la instalación.

Modificar Web.config en los servidores de SSRS

Los siguientes cambios deben realizarse en los archivos web.config en cada servidor de SSRS. Puede encontrar el archivo web.config en el directorio de Archivos de programa donde se instaló SSRS:

Agregar el elemento <machineKey>

Los servidores de SSRS en una configuración de carga equilibrada necesitan el mismo conjunto de claves del equipo en todos los servidores. El elemento de clave del equipo debe agregarse como elemento secundario del elemento <system.web> en web.config. A continuación se presenta una clave del equipo de ejemplo:

<machineKey
validationKey="54AEBD3BC893726E9B84D30F4970CB58F2086C2DAEE2F8D34A65A0632F4676DDBBC38779F2972C6596931E
13BD07A772BD4B9395BE38A43E461079E45D594E53"
decryptionKey=""
validation="SHA1"
decryption="AES"
/>

Importante

NO USE LA CLAVE DEL EQUIPO DE EJEMPLO EN NUESTRO ENTORNO. Genere sus propios valores de clave para su entorno.

Modificar ReportingServer.config

Los siguientes cambios deben realizarse en los archivos ReportingServer.config en cada servidor de SSRS. Puede encontrar el archivo ReportingServer.config en el directorio de Archivos de programa donde se instaló SSRS:

Habilitar la autenticación Kerberos

Para habilitar la autenticación Kerberos, establezca el tipo de autenticación como "RSWindowsNegotiate". Cambie el elemento <AuthenticationTypes/> y agregue <RSWindowsNegotiate/>:

<AuthenticationTypes>
    <RSWindowsNegotiate/>
</AuthenticationTypes>

Modificar la raíz de la dirección URL

Agregue la dirección URL para el servidor de informes a la etiqueta <UrlRoot> que se encuentran en la etiqueta <service> de ReportingServer.Config.

<UrlRoot>http://FarmReports/reportserver</UrlRoot>

Configurar BackConnectionHostNames en el Registro

Para permitir que los servicios de SQL Server Reporting Services se autentiquen entre sí en un único equipo, se tiene que solucionar la detección de bucle invertido de NTLM. En lugar de deshabilitar la detección de bucle invertido, una mejor práctica es configurar el valor de BackConnectionHostNames en el Registro de cada servidor de SSRS. Para obtener más información acerca de BackConnectionHostNames, vea el tema sobre la recepción de un mensaje de error cuando usa Microsoft SQL Server 2008 Reporting Services:.

En nuestro ejemplo, se configuran los valores siguientes para BackConnectionHostNames:

  • FarmReports

  • FarmReports.vmlab.local

Una vez que se establezcan los valores de BackConnectionHostNames, reinicie el servidor de SSRS.

Configurar SharePoint Server

En Administración central, encontrará las opciones de configuración de la granja de servidores para SSRS. Tenga en cuenta que en SharePoint Server 2010 no es necesario realizar una instalación de un componente de SSRS independiente para los elementos web y la administración de SSRS. Para tener acceso a las opciones de la granja de servidores de SSRS, navegue a Administración central y, a continuación, vea Reporting Services en la sección Configuración general de la aplicación.

Conceder los permisos de cuenta de servicio de Reporting Services en la base de datos de contenido de la aplicación web

Un paso necesario en la configuración de SQL Server Reporting Services en modo integrado de SharePoint es permitir el acceso de cuenta de servicio de Reporting Services a las bases de datos de contenido para las aplicaciones web que hospedan informes. En este ejemplo, le otorgamos el acceso de la cuenta de Reporting Services a la base de datos de contenido de la aplicación web "portal" a través de Windows PowerShell.

Ejecute el comando siguiente desde la Consola de administración de SharePoint 2010:

$w = Get-SPWebApplication -Identity http://portal

$w.GrantAccessToProcessIdentity("vmlab\svcSQLRS")

Configurar la integración de Reporting Services

En el cuadro de diálogo Integración de Reporting Services, especifique la dirección URL de carga equilibrada del servidor de informes. También, seleccione la opción Activar la característica en todas las colecciones existentes para activar automáticamente la característica Reporting Services en las colecciones de sitios.

Agregar cada servidor de informes a la integración

En el cuadro de diálogo Agregar un servidor de informes a la integración, especifique cada uno de los nodos del grupo de NLB de Reporting Services. Tiene que abrir este cuadro de diálogo para cada servidor que va a agregar a la integración. No hay ninguna forma de agregar varios servidores en una sola operación.

Establecer los valores predeterminados del servidor

En este momento se debe configurar la integración de SSRS. Para validar la configuración, abra la página de valores predeterminados del servidor. No se requiere ningún cambio para el ejemplo de este documento.

Comprobar la configuración

Crear una biblioteca de documentos para los informes

Cree una biblioteca de documentos para hospedar informes de SSRS en el sitio de SharePoint. En este ejemplo, se asume la existencia de una biblioteca de documentos denominada "reports" en http://portal/reports.

Validar la configuración de la colección de sitios para Reporting Services

En el explorador, navegue a la configuración del sitio que hospeda la biblioteca de documentos para los informes de SSRS. En Configuración del sitio, verá una nueva categoría denominada Reporting Services.

Si no ve la característica Reporting Services en la lista de características de las colecciones de sitios, deberá activarla desde la Administración central. Para obtener más información, vea el tema sobre el procedimiento para activar la característica de servidor de informes en Administración central de SharePoint (https://go.microsoft.com/fwlink/?linkid=196878&clcid=0xC0A).

Haga clic en el vínculo de configuración del sitio de Reporting Services para asegurarse de que pueda obtenerse acceso a los valores.

Nota

No se necesita ningún cambio en la configuración del sitio de Reporting Services para esta demostración.

Crear y publicar un informe de pruebas de SQL Server Business Intelligence Development Studio

Después de configurar SSRS y la integración con SharePoint Server, se crea un informe de pruebas para asegurarse de que la delegación de identidad está funcionando correctamente.

  1. Abra SQL Server Business Intelligence Development Studio. Haga clic en Archivo, seleccione Nuevo y, a continuación, haga clic en Proyecto.

  2. Seleccione el Asistente de proyectos de servidor de informes y escriba un nombre de proyecto.

  3. A continuación, configure un nuevo origen de datos. Elija el tipo Microsoft SQL Server y haga clic en el botón Editar.

  4. En Propiedades de conexión, escriba la información para conectarse con el clúster de SQL Server de demostración creado en el escenario 2.

  5. Abra el Diseñador de consultas, haga clic con el botón secundario en la ventana de consulta y seleccione Agregar tabla.

  6. Elija la tabla Ventas (creada en el escenario 2) y seleccione Todas las columnas.

  7. Seleccione un tipo de informe con formato tabular.

  8. En nuestro ejemplo se agrupa por región. Puede omitir este paso si lo desea.

  9. Una vez creado el proyecto, abra las propiedades del proyecto en el menú Proyecto.

  10. Configure las siguientes propiedades del proyecto:

    1. TargetDatasetFolder: se establece en la carpeta de informes de pruebas creada anteriormente

    2. TargetReportFolder: se establece en la carpeta de informes de pruebas creada anteriormente

    3. TargetReportPartFolder: se establece en la carpeta de informes de pruebas creada anteriormente

    4. TargetServerURL: se establece en la dirección URL de la aplicación web que hospeda el informe

  11. Implemente el informe en la biblioteca de SharePoint. En el menú Generar, seleccione Implementar <nombre de proyecto>.

  12. Si el resultado es correcto, verá el mensaje de que la implementación se realizó correctamente en la ventana Salida.

Ver el informe de pruebas en Internet Explorer

Abra la biblioteca de documentos del informe creada en los pasos anteriores de este escenario en el explorador. Debería ver el archivo de informe que acaba de publicar. Si no ve el informe, es posible que deba activar las características de Reporting Services en la colección de sitios. Para obtener más información, vea el tema sobre el procedimiento para activar la característica de servidor de informes en Administración central de SharePoint (https://go.microsoft.com/fwlink/?linkid=196878&clcid=0xC0A).

Haga clic en el informe y se representará en el explorador.

Para realizar una comprobación mayor de la delegación y la conexión de datos, puede cambiar el origen de datos en SQL Server Management Studio y actualizar la conexión de datos del informe de SSRS en el explorador. Debería ver los cambios de datos reflejados en el informe.

Configuración de SSL para Reporting Services

En algunos entornos puede ser necesario proteger las comunicaciones entre los servidores front-end web y de SSRS con SSL. En este material no se incluye un tutorial detallado sobre cómo configurar SSL para Reporting Services, pero, a grandes rasgos, estos son los pasos que debe tomar:

  1. Configure cada servidor de informes para SSL. Vea el tema sobre cómo configurar un servidor de informes para conexiones SSL (https://go.microsoft.com/fwlink/?linkid=196881&clcid=0xC0A).

  2. Actualice ReportingServer.config. Cambie <UrlRoot> por la nueva dirección URL https://.

  3. Reinicie el servicio de SQL Server Reporting Services.

  4. En Administración central, cambie la configuración de la integración de Reporting Services y cambie la dirección URL del servicio web del servidor de informes por la dirección URL https://.

  5. Reinicie IIS en cada instancia de SharePoint Server que se esté ejecutando el servicio de aplicación web.

No es necesario cambiar ninguno de los SPN que se creó al configurar Reporting Services con HTTP en los pasos anteriores. El SPN de un servicio HTTP sobre SSL sigue siendo HTTP/<servicio>. Esto se puede ver con NetMon para ver el servidor front-end web que se está comunicando con el servidor de Reporting Services.