Control de accesos para varios buses
El motor de mensajería en un bus de integración de servicios utiliza las autorizaciones basadas en roles para asegurar que los buses locales pueden intercambiar mensajes de forma segura con buses de integración de servicios foráneos y con IBM MQ.
La autorización de integración de servicios se basa en roles. Al asignar un grupo de identidades de usuario del repositorio de usuario a uno o varios roles de acceso para un destino de un bus local, puede controlar quién tiene autorización para acceder y realizar operaciones en dicho destino de bus. El motor de mensajería utiliza las asignaciones de roles en tiempo de ejecución para determinar qué operaciones pueden realizar los miembros del grupo en el destino. Si una aplicación cliente necesita intercambiar mensajes con otro bus, debe asignar la identidad de la aplicación cliente a los roles de emisor y receptor para el bus remoto (foráneo). Cuando la aplicación cliente envía un mensaje desde el destino de bus local al destino de bus foráneo, el motor de mensajería realiza una comprobación de dos fases acerca de la autorización de la identidad de la aplicación cliente:
- Primera fase de la comprobación de autorización
- Cuando la aplicación cliente envía un mensaje desde el destino local, el motor de mensajería comprueba que la identidad de la aplicación cliente tenga autorización en el rol de emisor para el destino de bus foráneo.
- Segunda fase de la comprobación de autorización
- Cuando el destino de bus foráneo recibe el mensaje, el motor de mensajería comprueba que la identidad del mensaje (que inicialmente está establecida en la identidad de la aplicación cliente emisora) tenga autorización en el rol de emisor para el destino de bus foráneo.
Los mensajes se envían a un destino de bus foráneo utilizando una definición de proxy del destino de bus foráneo o una definición de bus foráneo. La definición contiene la autorización que determina si el emisor está autorizado para enviar mensajes al bus foráneo. Las definiciones de destino foráneo permiten otorgar autorización sobre un destino de forma individual. Si una definición de destino foráneo no existe para un destino específico, el motor de mensajería utiliza la definición de bus foráneo predeterminada.
Es importante entender que las asignaciones de roles para el bus foráneo, o el destino de bus foráneo, controlan si una aplicación cliente puede enviar mensajes al bus foráneo. Cuando el bus foráneo recibe un mensaje, el motor de mensajería del bus foráneo utiliza las asignaciones de roles del bus foráneo para comprobar si el mensaje puede continuar hasta el destino de bus foráneo.
Durante la segunda fase de la comprobación de autorización, el motor de mensajería utiliza la identidad que está almacenada en el mensaje. Inicialmente está establecida en la identidad de la aplicación cliente emisora, pero puede ser reemplazada en el destino de bus foráneo por los valores especificados por las propiedades de ID de usuario de entrada o ID de usuario de salida. En este caso, el motor de mensajería utiliza el ID de usuario de entrada o salida para realizar sus comprobaciones de autorización en el bus foráneo, y no la identidad de la aplicación cliente emisora original.
- La aplicación cliente emisora debe tener autorización en el rol de emisor para los destinos de bus foráneo apropiados.
- Los destinos de bus foráneo deben existir.
Las comprobaciones de los ID de usuario de entrada y salida también se aplican cuando los mensajes se direccionan a través de varios buses y cuando los mensajes se envían a una red IBM MQ.
Si se enlazan buses seguros, el enlace entre los mismos debe ser seguro. Para proteger los datos transmitidos junto con el enlace virtual entre buses utilizando SSL, debe definir las cadenas de transporte necesarias y, a continuación, hacer referencia al nombre de la cadena de transporte.