Planear la implementación de Internet o de la extranet

Aunque SQL Server Reporting Services no está diseñado expresamente para escenarios de implementación de informes de Internet o extranet, puede ubicar correctamente Reporting Services en un servidor web con Internet para publicar la información general al público global o datos corporativos privados a usuarios autorizados y autenticados.

Nota

La implementación de Reporting Services en un servidor web con Internet requiere una evaluación cuidadosa. El software de red y seguridad, la topología de la red y la configuración de dominio pueden presentar variables que dificulten la aplicación del número exacto de pasos para la implementación del servidor de informes. Al evaluar un servidor de informes para el acceso a Internet, asegúrese de incluir en los escenarios de prueba todas las características que tiene previsto usar y de realizar siempre las pruebas mediante conexiones seguras.

Diagrama de la arquitectura de Internet o extranet

En la ilustración siguiente se muestra un ejemplo de una configuración de implementación recomendada para extranet o Internet.

Implementación del servidor de informes de Internet o de la extranet

Los puntos clave que se deben tener en cuenta en el diagrama son:

  • Tres firewalls proporcionan una defensa optimizada en toda la implementación. En este tema se ofrecen recomendaciones para configurar los firewalls.

  • El punto de entrada es una aplicación de Internet personalizada con el control ReportViewer. El control hospeda un informe que se ejecuta en un servidor de informes detrás del segundo firewall.

  • Los informes utilizan datos de los orígenes de datos de solo lectura que se crean específicamente para los informes. Los orígenes de datos contienen datos que se copian de otros orígenes, pero sin los valores de datos confidenciales que nunca se utilizarían en un informe.

  • Los servidores de los datos corporativos contienen datos confidenciales que se protegen mediante permisos estrictos y una configuración de firewall restrictiva. También debe considerar la posibilidad de poner la base de datos del servidor de informes en esta zona de seguridad, de forma que todos los servidores de bases de datos que requieren acceso de lectura y escritura puedan utilizar la protección proporcionada por el tercer firewall.

Directrices generales

En la lista siguiente se ofrecen instrucciones generales para implementar Reporting Services en la topología descrita en este tema. Esta lista se proporciona como punto de partida para planear un plan de implementación personalizado. La configuración concreta de la topología de red requerirá probablemente que realice otros pasos, no descritos en esta lista.

Es importante que implemente la configuración en un entorno de pruebas para asegurarse de que entiende todos los requisitos, valores, pasos y el orden adecuado de dichos pasos:

  1. Instale los firewalls e identifique servidores, cuentas y permisos.

  2. Cree u obtenga certificados de servidor para las conexiones SSL. Instale los certificados en todos los equipos en los que haya componentes del servidor. Si ha instalado los certificados con valores de carácter comodín, puede utilizar el mismo certificado para varias direcciones URL.

  3. Diseñe e implemente un enfoque para copiar los datos corporativos en distintos orígenes de datos de informes. Puede utilizar tecnologías como la replicación, SQL Server Integration Services, o un producto de otro fabricante.

  4. Instale Reporting Services en el modo de instalación de solo archivos para poder configurarlo con valores válidos para el acceso externo. En el Asistente para la instalación de SQL Server es la opción Instalar, pero no configurar el servidor.

  5. Una vez completado el programa de instalación, ejecute la herramienta de configuración de Reporting Services para configurar el servidor de informes.

    1. Compruebe que el servicio se ejecuta bajo una cuenta con privilegios mínimos. No utilice la cuenta Sistema local. Si ha seleccionado Sistema local, cambie la cuenta para utilizar NetworkService o una cuenta de usuario de dominio.

    2. Defina una dirección URL del servidor de informes y, opcionalmente, una dirección URL del Administrador de informes:

      Debe crear varias direcciones URL para admitir el acceso a través de un nombre de dominio completo (FQDN) que utilizarán los usuarios externos, y otra dirección URL que utiliza el nombre de la red. Si usa dos direcciones URL diferentes podrá conectar al servidor de informes si la conexión a Internet está deshabilitada o sin conexión.

      Debe seleccionar certificados SSL para las direcciones URL del FQDN que defina.

    3. Crear la base de datos del servidor de informes. Si la instancia de SQL Server está en un dominio diferente y Kerberos 5.0 no está habilitado, utilice la autenticación de SQL Server para la conexión de la base de datos del servidor de informes. Proteja la conexión entre el equipo del servidor de informes y la instancia de SQL Server Motor de base de datos mediante SSL o IPSec.

  6. Cree e implemente una extensión de autenticación personalizada. Si está utilizando una tecnología de inicio de sesión único que se implementa como filtro ISAPI, debe utilizar ISA Server para que el filtro ISAPI sea compatible. El agente de escucha HTTP de Reporting Services no admite los filtros ISAPI.

  7. Configure asignaciones de roles que usen los principios de seguridad de la extensión de autenticación personalizada y asígnelas a los roles que transmiten los permisos a las operaciones del servidor de informes.

  8. Cree e implemente una aplicación front-end de Internet que utilice el control de servidor web ReportViewer.

  9. Publique los informes y los otros tipos de contenido en el servidor de informes.

  10. Configure el firewall. Compruebe que la configuración del firewall permite el acceso mínimo a los equipos y aplicaciones de nivel inferior.

Configuraciones de firewall

Las direcciones URL predeterminadas para las aplicaciones de servidor de informes asumen que el puerto 80 está habilitado y disponible para el servidor de informes. Si está utilizando Firewall de Windows, debe abrir el puerto 80 u otro puerto disponible para las solicitudes HTTP del servidor de informes. Si utiliza otro puerto, debe asegurarse de especificarlo en las direcciones URL del servidor de informes. Para obtener más información, vea Cómo configurar un firewall para el acceso al Servidor de informes. Para obtener más información acerca de la configuración predeterminada de Firewall de Windows y una descripción de los puertos TCP que afectan al motor de base de datos, Analysis Services, Reporting Services e Integration Services, vea Configurar Firewall de Windows para permitir el acceso a SQL Server.

Control de servidor web ReportViewer en una aplicación de Internet

Para implementar informes en una aplicación de Internet, el usuario puede incrustar el control de servidor web ReportViewer en una aplicación personalizada lista para Internet que cree e implemente él mismo. Visual Studio 2005 y posterior incluye el control de servidor web ReportViewer, que se puede distribuir libremente con su aplicación. Puede configurar el control para mostrar informes que se ejecutan en un servidor de informes. El control maneja la conexión entre la aplicación y el servidor de informes a través de la interfaz de programación del servicio web. La aplicación administra cualquier autenticación y autorización, y se conecta al servidor de informes a través de una sola conexión de usuario de confianza.

Para obtener más información, vea Reporting Services y controles ReportViewer en Visual Studio 2010.

El Administrador de informes como servidor web front-end de Internet o extranet

El Administrador de informes no se ha diseñado como una aplicación de Internet, pero si no puede crear una aplicación de Internet personalizada, puede utilizar el Administrador de informes para ver los informes a través de una conexión a Internet. Las sugerencias siguientes se ofrecen como recomendaciones para la implementación:

  • Considere la posibilidad de instalar el Administrador de informes como una instancia independiente en un servidor de aplicaciones. El Administrador de informes se ejecuta en el servicio del servidor de informes. Por consiguiente, para instalar el Administrador de informes debe instalar Reporting Services y, a continuación, desactivar el servicio web y las características de programación y entrega en el servicio. Para obtener resultados óptimos, instale Reporting Services en un servidor web con Internet mediante el modo de instalación de solo archivos. En el Asistente para la instalación de SQL Server es la opción Instalar, pero no configurar el servidor.

  • Cree e implemente una extensión de seguridad personalizada para admitir autenticación de formularios o una tecnología de inicio de sesión único.

  • Configure el Administrador de informes con los permisos mínimos. Los rol de Explorador y Usuario del sistema son suficientes para ver los informes.

  • Para dirigir el Administrador de informes otra instancia de servidor de informes que se ejecuta en un equipo independiente, debe configurar la dirección URL del Administrador de informes y, a continuación, modificar las opciones <ReportServerVirtualDirectory> y <ReportServerUrl> en el archivo RSReportServer.config para dirigir el Administrador de informes a la instancia del servidor de informes.

  • En el servidor de informes al que se va a conectar, desactive las características que no va a usar. Los ejemplos podrían ser Mi informes, suscripción y entrega, el Generador de informes y la impresión en el cliente.

Configurar los valores de proxy en los archivos Web.config

Si está utilizando el Administrador de informes como una aplicación front-end para la implementación en Internet y el servidor de informes está instalado en el mismo equipo, debe especificar un valor de Web.config que permita al Administrador de informes omitir el servidor proxy al enviar las solicitudes a un servidor de informes local instalado en el mismo equipo.

El valor de Web.config es el valor de red defaultProxy de System .NET. De forma predeterminada, defaultProxy está deshabilitado en el archivo Web.config para el Administrador de informes. Ésta es la configuración recomendada cuando el Administrador de informes y el servidor de informes se implementan conjuntamente en el mismo equipo.

Si ha realizado una actualización desde una versión anterior de Reporting Services, el archivo Web.config del Administrador de informes no incluye el valor de configuración defaultProxy. Puede agregar y establecer el valor defaultProxy para que omita el servidor proxy en las instalaciones donde el Administrador de informes y el servidor de informes se ejecutan en el mismo equipo. Copie el siguiente valor de configuración en el archivo Web.config del Administrador de informes:

<configuration>
...
<system.net>
  <defaultProxy enabled="false" />
</system.net>
</configuration>

Para obtener más información sobre estos valores, vea las secciones referentes a la configuración de las aplicaciones de Internet y al elemento defaultProxy (configuración de red) en la Guía del usuario de Microsoft .NET Framework.

Consideraciones de autenticación para la implementación en Internet y extranet

Para implementar un servidor de informes en un escenario de extranet que admite conexiones de las cuentas predefinidas de Microsoft Active Directory, puede utilizar la extensión de seguridad predeterminada de autenticación de Windows. Planee la configuración del servidor para las conexiones Capa de sockets seguros (SSL) y la autenticación básica. Puede utilizar la herramienta de configuración de Reporting Services para asignar un certificado existente a una dirección URL de servidor de informes. Puede modificar los archivos de configuración para especificar el tipo de autenticación.

Para implementar un servidor de informes en un escenario de extranet que admita conexiones de una tecnología de inicio de sesión único o de un modelo de autenticación basada en formularios que almacene información de identidad de usuario en una base de datos, debe crear una extensión de autenticación personalizada para reemplazar la extensión de seguridad predeterminada de la autenticación de Windows. La autenticación basada en formularios se suele utilizar cuando se abre un servidor de informes al público pero solo se desea que vean su contenido los usuarios autenticados. De manera predeterminada, SQL Server Reporting Services no proporciona un módulo de autenticación basada en formularios. Para obtener más información acerca de cómo crearlo, vea Implementar una extensión de seguridad en los Libros en pantalla de SQL Server.

Comprobar la implementación de Internet

Para comprobar que la conexión del servidor de informes está accesible, debería poder comprobar el espacio de nombres de la carpeta del servidor de informes a través de una conexión a Internet escribiendo http: (o https:)//<su-nombre-dominio-completo-servidor-web>/servidorDeInformes, donde /servidorDeInformes es el nombre predeterminado del directorio virtual del servidor de informes.