Arquitectura de seguridad para la sincronización Web

MicrosoftSQL Serverpermite tener un control preciso de la configuración de la seguridad de la sincronización web. En este tema se proporciona una lista exhaustiva de todos los componentes que pueden incluirse en una configuración de la sincronización Web e información acerca de las conexiones entre los componentes. Siempre que sea posible, utilice la autenticación de Windows.

En la siguiente ilustración se muestran todas las conexiones posibles, aunque es posible que no todas las conexiones sean necesarias en una determinada topología. Por ejemplo, una conexión a un servidor FTP sólo es necesaria si la instantánea se entrega mediante FTP.

Componentes y conexiones en la sincronización web

En las siguientes tablas se describen los componentes y las conexiones que se muestran en la ilustración.

A. Usuario de Windows con el que se ejecuta el Agente de mezcla

Durante la sincronización, el Agente de mezcla (A) se inicia en el suscriptor. El Agente de mezcla puede iniciarse desde un paso de trabajo del Agente SQL Server o desde una aplicación personalizada independiente. Si el Agente de mezcla se inicia desde un paso de trabajo del Agente SQL Server, el Agente de mezcla se ejecuta en el contexto del usuario de Windows que especifique. Si no especifica ningún usuario de Windows, el Agente de mezcla se ejecuta en el contexto de la cuenta de servicio de Windows para el Agente SQL Server.

Tipo de cuenta

Dónde se especifica la cuenta

Usuario de Windows

Transact-SQL: los parámetros @job_login y @job_password de sp_addmergepullsubscription_agent.

RMO (Objetos de administración de replicación): las propiedades Login()()()() y Password()()()() para SynchronizationAgentProcessSecurity.

Cuenta de servicio de Windows para el Agente SQL Server

Administrador de configuración de SQL Server

Aplicación independiente

El Agente de mezcla se ejecuta en el contexto del usuario de Windows que ejecuta la aplicación.

B. Conexión al suscriptor

El Agente de mezcla se conecta al suscriptor mediante la autenticación de Windows o la autenticación de SQL Server. El usuario de Windows o el inicio de sesión de SQL Server que especifique debe asociarse a un usuario de base de datos que sea miembro de la función fija de base de datos dbowner en la base de datos de suscripciones.

[!NOTA]

La autenticación de Windows se usa siempre que el Agente de mezcla se inicia desde un trabajo del Agente SQL Server. La autenticación de Windows también se usa cuando el Agente de mezcla se inicia mediante programación, a menos que se especifique explícitamente la autenticación de SQL Server.

Tipo de autenticación

Dónde se especifica la autenticación

  • Autenticación de Windows.

El Agente de mezcla realiza conexiones en el contexto del usuario de Windows que se especifica para el Agente de mezcla (A).

La autenticación de SQL Server se usa sólo si se especifica lo siguiente:

RMO: SubscriberLogin y SubscriberPassword.

Línea de comandos del Agente de mezcla: -SubscriberLogin y -SubscriberLogin.

C. Conexión a un servidor proxy saliente

Especifique un usuario de Windows para esta conexión sólo si hay un servidor proxy saliente que restringe el acceso a la red interna del suscriptor.

Tipo de autenticación

Dónde se especifica la autenticación

Autenticación de Windows

RMO: InternetProxyLogin e InternetProxyPassword con InternetProxyServer.

Línea de comandos del Agente de mezcla: -InternetProxyLogin e -InternetProxyPassword con -InternetProxyServer.

D. Conexión a IIS

Después de conectarse al suscriptor y extraer los cambios de la base de datos de suscripciones, el Agente de mezcla realiza una solicitud HTTPS a Microsoft Internet Information Services (IIS) y carga los cambios en los datos como un mensaje XML. El Agente de mezcla debe tener permisos de inicio de sesión para IIS.

Tipo de autenticación

Dónde se especifica la autenticación

La autenticación básica se usa si se especifica uno de los siguientes:

Transact-SQL: los parámetros @internet_login y @internet_password de sp_addmergepullsubscription_agent.

RMO: InternetLogin e InternetPassword.

Línea de comandos del Agente de mezcla: -InternetLogin e -InternetPassword.

La autenticación integrada 1 se usa si se especifica uno de los siguientes:

El Agente de mezcla realiza conexiones en el contexto del usuario de Windows que se especifica para el Agente de mezcla (A).

1 La autenticación integrada sólo puede usarse si todos los equipos están en el mismo dominio o están en varios dominios que tienen relaciones de confianza entre sí.

[!NOTA]

La delegación es necesaria si se usa la autenticación integrada. Se recomienda usar la autenticación básica y SSL para las conexiones del suscriptor a IIS.

E. Conexión al publicador

Los componentes del Reconciliador de replicación de mezcla y de la Escucha de replicación de SQL Server se alojan en el equipo en el que se ejecuta IIS. Estos componentes realizan las siguientes acciones:

  • Recogen la solicitud HTTPS descrita en la sección "D. Conexión a IIS".

  • Realizan una conexión SQL a la base de datos de publicaciones y aplican los cambios cargados en dicha base de datos.

  • Extraen los cambios descargados y devuelven una respuesta HTTPS al Agente de mezcla.

El Reconciliador de replicación de mezcla se conecta al publicador mediante la autenticación de Windows o la autenticación de SQL Server. El usuario de Windows o el inicio de sesión de SQL Server que especifique debe cumplir lo siguiente:

  • Estar en la lista de acceso a la publicación (PAL). Para obtener más información, vea Proteger el publicador.

  • Estar asociado a un usuario en la base de datos de publicaciones.

Tipo de autenticación

Dónde se especifica la autenticación

La autenticación de Windows se utiliza si se especifica uno de los siguientes:

El Agente de mezcla realiza conexiones al publicador en el contexto del usuario de Windows que se especifica para la conexión a IIS (D). Si el publicador e IIS están en distintos equipos y se utiliza la autenticación integrada para la conexión (D), debe habilitar la delegación Kerberos en el equipo en el que se ejecuta IIS. Para obtener más información, vea la documentación de Windows.

La autenticación de SQL Server se utiliza si se especifica uno de los siguientes:

Transact-SQL: los parámetros @publisher_login y @publisher_password de sp_addmergepullsubscription_agent.

RMO: PublisherLogin y PublisherPassword.

Línea de comandos del Agente de mezcla: -PublisherLogin y -PublisherPassword.

F. Conexión al distribuidor

El Reconciliador de replicación de mezcla alojado en el equipo en el que se ejecuta IIS también realiza conexiones al distribuidor. El Reconciliador de replicación de mezcla se conecta al distribuidor mediante la autenticación de Windows o la autenticación de SQL Server. El usuario de Windows o el inicio de sesión de SQL Server que especifique debe cumplir lo siguiente:

  • Estar en la lista de acceso de la publicación (PAL). Para obtener más información, vea Proteger el publicador.

  • Estar asociado a un usuario de base de datos en la base de datos de distribución. El usuario puede ser el usuario Guest.

Normalmente, el recurso compartido de instantáneas está en el distribuidor. Para obtener más información acerca de los recursos compartidos de instantáneas, vea la sección "H. Acceso al recurso compartido de instantáneas", más adelante en este tema.

  • Tipo de autenticación

Dónde se especifica la autenticación

La autenticación de Windows se utiliza si se especifica uno de los siguientes:

El Agente de mezcla realiza conexiones al distribuidor en el contexto del usuario de Windows que se especifica para la conexión a IIS (D). Si el distribuidor e IIS están en distintos equipos y se utiliza la autenticación integrada para la conexión (D), debe habilitar la delegación Kerberos en el equipo en el que se ejecuta IIS. Para obtener más información, vea la documentación de Windows.

La autenticación de SQL Server se utiliza si se especifica uno de los siguientes:

Transact-SQL: los parámetros @distributor_login y @distributor_password de sp_addmergepullsubscription_agent.

RMO: DistributorLogin y DistributorPassword

Línea de comandos del Agente de mezcla: -DistributorLogin y -DistributorPassword.

G. Conexión a un servidor FTP

Especifique un usuario de Windows para esta conexión sólo si va a descargar archivos de instantáneas desde un servidor FTP, en lugar de desde una ubicación UNC, al equipo en el que se ejecuta IIS antes de aplicar la instantánea al suscriptor. Para obtener más información, vea Transferir instantáneas mediante FTP.

Tipo de autenticación

Dónde se especifica la autenticación

Autenticación de Windows

Transact-SQL: los parámetros @ftp_login y @ftp_password de sp_addmergepublication.

RMO: FtpLogin y FtpPassword.

H. Acceso al recurso compartido de instantáneas

El Reconciliador de replicación de mezcla tiene acceso al recurso compartido de instantáneas que se aloja en el equipo en el que se ejecuta IIS.

Tipo de autenticación

Dónde se especifica la autenticación

Autenticación de Windows

El Agente de mezcla obtiene acceso al recurso compartido de instantáneas en el contexto del usuario de Windows que se especifica para la conexión a IIS (D). Si el recurso compartido de instantáneas e IIS están en distintos equipos y se utiliza la autenticación integrada para la conexión (D), debe habilitar la delegación Kerberos en el equipo en el que se ejecuta IIS. Para obtener más información, vea la documentación de Windows.

I. Cuenta del grupo de aplicaciones para IIS

Esta cuenta se utiliza para iniciar el proceso W3wp.exe en el equipo en el que se ejecuta IIS para Windows Server 2003 o el proceso Dllhost.exe en Windows 2000. Estos procesos alojan aplicaciones en el equipo en el que se ejecuta IIS, como el Reconciliador de replicación de mezcla y la Escucha de replicación de SQL Server. Esta cuenta debe tener permisos de lectura y ejecución en las siguientes DLL de replicación en el equipo en el que se ejecuta IIS:

  • Replisapi

  • Replrec

  • Replprov

  • Msgprox

  • Xmlsub

La cuenta también debe formar parte del grupo IIS_WPG. Para obtener más información, vea la sección "Establecer los permisos para SQL Server Escucha de replicación" en Cómo configurar IIS para la sincronización Web.

Tipo de cuenta

Dónde se especifica la cuenta

Cualquier usuario de Windows que tenga los permisos necesarios.

Administrador de Internet Information Services (IIS) De forma predeterminada, en Windows Server 2003, se utiliza la cuenta Servicio de red.