Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La seguridad del cuadro de diálogo de Service Broker debe configurarse para las notificaciones de eventos que envían mensajes a un agente de servicio en un servidor remoto. La seguridad del cuadro de diálogo debe configurarse manualmente según el modelo de seguridad completa del cuadro de diálogo de Service Broker. El modelo de seguridad completa permite el cifrado y descifrado de mensajes que se envían a y desde servidores remotos. Aunque las notificaciones de eventos se envían en una dirección, otros mensajes, como errores, también se devuelven en la dirección opuesta.
Configuración de la seguridad del cuadro de diálogo para las notificaciones de eventos
El proceso necesario para implementar la seguridad del cuadro de diálogo para la notificación de eventos se describe en los pasos siguientes. Estos pasos incluyen acciones que se deben realizar en el servidor de origen y en el servidor de destino. El servidor de origen es el servidor en el que se crea la notificación de eventos. El servidor de destino es el servidor que recibe el mensaje de notificación de eventos. Debe completar las acciones de cada paso para el servidor de origen y el servidor de destino antes de continuar con el paso siguiente.
Importante
Todos los certificados deben crearse con fechas de inicio y expiración válidas.
Paso 1: Establecer un número de puerto TCP y un nombre de servicio de destino.
Establezca el puerto TCP en el que el servidor de origen y el servidor de destino recibirán mensajes. También debe determinar el nombre del servicio de destino.
Paso 2: Configurar el cifrado y el uso compartido de certificados para la autenticación de nivel de base de datos.
Complete las siguientes acciones en los servidores de origen y de destino.
| Servidor de origen | Servidor de destino |
|---|---|
| Elija o cree una base de datos para contener la notificación de eventos y la clave maestra. | Elija o cree una base de datos para contener la clave maestra. |
| Si no existe ninguna clave maestra para la base de datos de origen, cree una clave maestra. Se requiere una clave maestra en las bases de datos de origen y destino para ayudar a proteger sus respectivos certificados. | Si no existe ninguna clave maestra para la base de datos de destino, cree una clave maestra. |
| Cree un inicio de sesión y un usuario correspondiente para la base de datos de origen. | Cree un inicio de sesión y un usuario correspondiente para la base de datos de destino. |
| Cree un certificado que sea propiedad del usuario de la base de datos de origen. | Cree un certificado que sea propiedad del usuario de la base de datos de destino. |
| Realice una copia de seguridad del certificado en un archivo al que pueda acceder el servidor de destino. | Realice una copia de seguridad del certificado en un archivo al que pueda acceder el servidor de origen. |
| Crear un usuario, especificando el usuario de la base de datos de destino y SIN INICIO DE SESIÓN. Este usuario poseerá el certificado de base de datos de destino que se creará a partir del archivo de copia de seguridad. El usuario no tiene que asignarse a un inicio de sesión, ya que el único propósito de este usuario es poseer el certificado de base de datos de destino creado en el paso 3 siguiente. | Cree un usuario, especificando el usuario de la base de datos de origen y SIN INICIO DE SESIÓN. Este usuario poseerá el certificado de base de datos de origen que se creará a partir del archivo de copia de seguridad. El usuario no necesita estar vinculado a un inicio de sesión, ya que el único propósito de este usuario es ser propietario del certificado de la base de datos de origen creado en el paso 3 que sigue. |
Paso 3: Compartir certificados y conceder permisos para la autenticación de nivel de base de datos.
Complete las siguientes acciones en los servidores de origen y de destino.
| Servidor de origen | Servidor de destino |
|---|---|
| Cree un certificado a partir del archivo de copia de seguridad del certificado de destino, especificando el usuario de la base de datos de destino como propietario. | Cree un certificado a partir del archivo de copia de seguridad del certificado de origen y especifique el usuario de la base de datos de origen como propietario. |
| Conceda permiso para crear la notificación de eventos al usuario de la base de datos de origen. Para obtener más información sobre este permiso, vea CREATE EVENT NOTIFICATION (Transact-SQL). | Conceda el permiso REFERENCES al usuario de la base de datos de destino en el contrato de Service Broker de notificaciones de eventos existente: https://schemas.microsoft.com/SQL/Notifications/PostEventNotification. |
| Cree un enlace de servicio remoto al servicio de destino y especifique las credenciales del usuario de la base de datos de destino. El enlace de servicio remoto garantiza que la clave pública del certificado propiedad del usuario de la base de datos de origen autenticará los mensajes que se envían al servidor de destino. | Conceder permisos de CREATE QUEUE, CREATE SERVICE y CREATE SCHEMA al usuario de la base de datos de destino. |
| Si aún no está conectado a la base de datos como usuario de base de datos de destino, hágalo ahora. | |
| Cree una cola para recibir los mensajes de notificación de eventos y cree un servicio para entregar los mensajes. | |
| Conceda al usuario de la base de datos de origen el permiso SEND en el servicio de destino. | |
| Proporcione el identificador de Service Broker de la base de datos de origen al servidor de destino. Este identificador se puede obtener consultando la columna service_broker_guid de la vista de catálogo sys.databases . Para una notificación de eventos de nivel de servidor, use el identificador de Service Broker de msdb. | Proporcione el identificador de Service Broker de la base de datos de destino al servidor de origen. |
Paso 4: Crear rutas y configurar la autenticación de nivel de servidor.
Complete las siguientes acciones en los servidores de origen y de destino.
| Servidor de origen | Servidor de destino |
|---|---|
| Cree una ruta al servicio de destino y especifique el identificador de Service Broker de la base de datos de destino y el número de puerto TCP acordado. | Cree una ruta al servicio de origen y especifique el identificador de Service Broker de la base de datos de origen y el número de puerto TCP acordado. Para especificar el servicio de origen, use el siguiente servicio proporcionado: https://schemas.microsoft.com/SQL/Notifications/EventNotificationService. |
| Cambie a la base de datos maestra para configurar la autenticación de nivel de servidor. | Cambie a la base de datos maestra para configurar la autenticación de nivel de servidor. |
| Si no existe ninguna clave maestra para la base de datos maestra , cree una clave maestra. | Si no existe ninguna clave maestra para la base de datos maestra, cree una clave maestra . |
| Cree un certificado que autentique la base de datos. | Cree un certificado que autentique la base de datos. |
| Realice una copia de seguridad del certificado en un archivo al que pueda acceder el servidor de destino. | Realice una copia de seguridad del certificado en un archivo al que pueda acceder el servidor de origen. |
| Cree un punto de conexión y especifique el número de puerto TCP acordado, FOR SERVICE_BROKER (AUTHENTICATION = CERTIFICATE certificate_name) y el nombre del certificado de autenticación. | Cree un punto de conexión y especifique el número de puerto TCP acordado, FOR SERVICE_BROKER (AUTHENTICATION = CERTIFICATE certificate_name) y el nombre del certificado de autenticación. |
| Cree un inicio de sesión y especifique el inicio de sesión del servidor de destino. | Cree un inicio de sesión y especifique el inicio de sesión del servidor de origen. |
| Otorgue el permiso CONNECT en el punto de conexión para el login del autenticador de destino. | Conceda el permiso CONNECT sobre el punto de conexión al login del autenticador de origen. |
| Cree un usuario y especifique el inicio de sesión del autenticador de destino. | Cree un usuario y especifique el inicio de sesión del autenticador de origen. |
Paso 5: Compartir certificados para la autenticación de nivel de servidor y crear la notificación de eventos.
Complete las siguientes acciones en los servidores de origen y de destino.
| Servidor de origen | Servidor de destino |
|---|---|
| Cree un certificado a partir del archivo de copia de seguridad del certificado de destino, especificando el usuario autenticador de destino como propietario. | Cree un certificado a partir del archivo de copia de seguridad del certificado de origen, especificando el usuario autenticador de origen como propietario. |
| Cambie a la base de datos de origen en la que se va a crear la notificación de eventos y, si aún no está conectado como usuario de la base de datos de origen, hágalo ahora. | Cambie a la base de datos de destino para recibir mensajes de notificación de eventos. |
| Cree la notificación de eventos y especifique el servicio de agente y el identificador de la base de datos de destino. |
Véase también
GRANT (Transact-SQL)
CERTIFICADO DE RESPALDO (Transact-SQL)
sys.databases (Transact-SQL)
Jerarquía de cifrado
Implementar notificaciones de eventos
CREATE MASTER KEY (Transact-SQL)
CREATE LOGIN (Transact-SQL)
CREAR USUARIO (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
CREAR VÍNCULO DE SERVICIO REMOTO (Transact-SQL)
GRANT (Transact-SQL)
CREATE ROUTE (Transact-SQL)
CREATE QUEUE (Transact-SQL)
CREATE SERVICE (Transact-SQL)
CREAR PUNTO FINAL (Transact-SQL)
CREAR NOTIFICACIÓN DE EVENTO (Transact-SQL)