En la
WebSphere MQ Publicación/Suscripción, todas las
comprobaciones sobre autorizaciones de publicación y suscripción se
realizan con la cola de corriente de datos:
- Las aplicaciones de publicación requieren autorización para transferir mensajes a la
cola de corriente de datos.
- El intermediario de WebSphere MQ Publicación/Suscripción comprueba
la autorización de las aplicaciones de suscripción que desean examinar la cola de corriente de datos.
- Las aplicaciones de suscripción requieren autorización para transferir mensajes a la
cola que han indicado como receptora de sus publicaciones.
Los intermediarios de WebSphere Message Broker efectúan la misma comprobación,
pero la autorización de suscripción (examen) ya no se comprueba.
En vez de eso, WebSphere Message Broker permite definir el acceso de publicación y suscripción de forma jerárquica
hasta llegar a un nivel de tema individual.
Para ello, utilice el entorno de trabajo para crear listas de control de acceso (ACL).
Antes de migrar
un intermediario de
WebSphere MQ Publicación/Suscripción a un intermediario de
WebSphere Message Broker de sustitución o antes de migrar sus aplicaciones de
WebSphere MQ Publicación/Suscripción para que se ejecuten en
WebSphere Message Broker,
ha de tener en cuenta sus implicaciones en cuanto a seguridad:
- Las aplicaciones de publicar están sujetas a las mismas comprobaciones incluso si el intermediario no está funcionando con la seguridad de
temas habilitada, debido a que la autorización para transferir un mensaje a la cola de corriente de datos o de publicación
sigue siendo comprobada por WebSphere MQ.
No obstante, las publicaciones de corrientes de datos puede procesarlas
WebSphere Message Broker en cualquier cola de entrada, puesto que los publicadores ya no necesitan
colocar los datos en una cola con el mismo nombre de la corriente. Por lo tanto, deberá establecer ACL equivalentes para todas las corrientes de datos utilizando
los calificadores de nivel de tema correspondientes.
- El intermediario de WebSphere Message Broker no
comprueba si las aplicaciones de suscripción tienen autorización para
examinar la cola de corriente de datos. En vez de esto,
WebSphere Message Broker modela las corrientes de datos
añadiendo el prefijo exclusivo, $SYS/STREAM/<nombreCorrienteDatos>/, a
todos los temas que no forman parte de la corriente de datos por omisión.
Esto mantiene las características de particionamiento de las
corrientes de datos y permite la creación de ACL específicas de la
corriente de datos. El intermediario no modifica los temas de la corriente de datos por omisión.
Por lo tanto, se puede utilizar el tema raíz para especificar las autorizaciones para los temas de la corriente de datos
por omisión.
El diagrama de abajo muestra las autorizaciones que se requieren sobre la corriente de datos.
En el ejemplo se presupone que ha actualizado la ACL por omisión en el tema raíz para el principal
PublicGroup dando a las autorizaciones para publicar, suscribir y para la entrega persistente
el valor
deny.
Utilizando este ejemplo, se supone que se han definido los siguientes grupos:
- PDefault: el grupo de usuarios autorizado para publicar en la corriente de datos por omisión
- SDefault: el grupo de usuarios autorizado para suscribirse a la corriente de datos
por omisión
- PStreamX: El grupo de usuarios autorizado para publicar en StreamX
- SStreamX: El grupo de usuarios autorizado para suscribirse a StreamX
- PStreamY: El grupo de usuarios autorizado para publicar en StreamY
- SStreamY: El grupo de usuarios autorizado para suscribirse a StreamY
Debe otorgar y denegar las autorizaciones creando las ACL como sigue:
- A PDefault se le ha de otorgar autorización de publicar en el tema raíz; a SDefault
se le ha de otorgar la autorización de suscripción al tema raíz.
- A PDefault se le ha de denegar la autorización de publicar en $SYS/STREAM/; a SDefault
se le ha de denegar la autorización de suscripción a $SYS/STREAM/.
Estos valores aseguran que los publicadores y suscriptores de la corriente de datos por
omisión no podrán publicar en ni suscribirse a otras corrientes de datos automáticamente; se ha de definir
una ACL que altere temporalmente y explícitamente este valor.
- PStreamX ha de tener autorización de publicación sobre $SYS/STREAM/StreamX/ y
SStreamX ha de tener autorización de suscripción a $SYS/STREAM/StreamX/.
Estos valores alteran temporalmente cualquier valor que haya en temas padres y limita la
actividad de publicación y suscripción a usuarios que estén dentro de esos grupos
específicos.
- PStreamY ha de tener autorización de publicación sobre $SYS/STREAM/StreamY/ y
SStreamY ha de tener autorización de suscripción a $SYS/STREAM/StreamY/.
Estos valores alteran temporalmente cualquier valor que haya en temas padres y limita la
actividad de publicación y suscripción a usuarios que estén dentro de esos grupos
específicos.
Si desea establecer excepciones a lo anterior, deberá introducir una
ACL en el punto adecuado. Por ejemplo, si desea otorgar a los publicadores
autorización sobre la corriente de datos por omisión (PDefault) para que
puedan publicar en StreamX, deberá crear una ACL explícita en el punto (3)
para proporcionar dicha autorización, alterando de este modo temporalmente
la denegación en el punto (2). En este ejemplo, los usuarios de PDefault
siguen sin poder publicar en StreamY.