Modelos de autorización de la seguridad de servicios web

Las aplicaciones de proveedor que se implementan como servlets o Enterprise JavaBeans (EJB) pueden utilizar servicios web y se pueden proteger mediante la seguridad de servicios web. La autorización basada en roles de Java Platform, Enterprise Edition (Java EE) se puede utilizar para controlar el acceso a aplicaciones de proveedor del servicio web que se implementan como servlets o EJB. Aunque los roles de seguridad de las implementaciones de servlet y EJB se configuran de la misma forma, el acceso a los servicios difiere por implementación.

Para un proveedor que se implementa como servlet, el contenedor web realiza la autorización basada en roles mediante la autenticación básica HTTP.
  1. Se pasa una señal de seguridad a la cabecera HTTP de la solicitud SOAP.
  2. El contenedor web autentica la señal de seguridad y luego realiza la autorización basada en roles del usuario.
  3. Después de una autorización de usuario satisfactoria, el contenedor web llama al motor de servicios web con el mensaje de entrada.

La figura siguiente ilustra dónde se produce cada paso del proceso de autorización basada en roles para servlets.

Figura 1. Autorización de servlets en la seguridad de servicios web. Esta figura muestra el proceso de autorización basada en roles para las implementaciones de servlet.
Autorización de servlets en la seguridad de servicios web
Para un proveedor que se implementa como un EJB, el contenedor EJB realiza la autorización basada en roles.
  1. Se pasa una señal de seguridad para la identidad de usuario a la cabecera de seguridad de la solicitud SOAP.
  2. La seguridad de servicios Web autentica la señal.
  3. Con una configuración del interlocutor, la seguridad de servicios Web establece la identidad de la señal autenticada en la hebra actual.
  4. Cuando el motor de servicios web invoca el punto final, el contenedor EJB realiza la autorización basada en roles en la identidad de la hebra actual.

La figura siguiente ilustra dónde se produce cada paso del proceso de autorización basada en roles para EJB.

Figura 2. Autorización EJB en la seguridad de servicio web. Esta figura muestra el proceso de autorización basada en roles para implementaciones EJB.
Autorización EJB en la seguridad de servicio web

Cuando se implementa un proveedor de servicio web como un servlet, una señal que la seguridad de servicios Web pasa a la cabecera de seguridad de la solicitud SOAP no se puede utilizar para la autorización basada en roles para acceder al servicio.

Cuando se implementa un servicio web como un EJB, una señal que la seguridad de servicios Web pasa a la cabecera de seguridad de la solicitud SOAP solo se puede utilizar para la autorización basada en roles por parte del contenedor EJB para acceder al servicio si hay una configuración de interlocutor para dicha señal en las restricciones de seguridad de servicios Web activas.

Los proveedores de servicio web que se implementan como EJB también pueden utilizar el contenedor web para realizar la autorización basada en roles. Para ello, el servlet del direccionador mostrado en la figura Autorización EJB en la seguridad de servicio web se protege con la autenticación básica HTTP. Cuando se siguen estos pasos, el proceso se realiza tal como se muestra en la figura Autorización de servlets en la seguridad de servicios web.

Cuando hay una configuración de interlocutor en las restricciones de seguridad de servicios Web activas para una señal de entrada, dicha señal se establecerá como la identidad runAs en el contexto de seguridad de la hebra actual. La misma aplicación de proveedor protegida puede tomar decisiones de autorización basadas en dicha entidad. Esto se aplica tanto a servlets como a EJB.

Consejo: Aunque los consumidores de señales WS-Security no pueden realizar la autorización basada en roles para un servlet, se puede crear un módulo de inicio de sesión personalizado que valida al usuario entrante por comparación con grupos específicos del registro de usuarios. Para ver un ejemplo de cómo hacer esto para un UsernameToken, consulte el tema "Sustitución del método de autenticación del consumidor de UsernameToken utilizando un módulo de inicio de sesión JAAS apilado".

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_secauthmodel
File name: cwbs_secauthmodel.html