Evaluador de ID de confianza
El evaluador de identificador de confianza es el mecanismo que evalúa si se puede confiar en un nombre de ID determinado.
Uso del evaluador de ID de confianza con el modelo de programación de JAX-RPC
- Autenticación básica (señal de nombre de usuario)
- El servidor en sentido ascendente envía una señal de nombre de usuario con un nombre de usuario y una contraseña al servidor en sentido descendente. El consumidor o el receptor del mensaje autentica la señal del nombre de usuario y valida la confianza en función de la implementación TrustedIDEvaluator. La implementación de TrustedIDEvaluator debe implementar la interfaz Java™ com.ibm.wsspi.wssecurity.id.TrustedIDEvaluator.
- Firma
- El servidor en sentido ascendente firma el mensaje, que puede ser cualquier parte del mensaje como, por ejemplo, el texto SOAP. El servidor en sentido ascendente envía la señal X.509 a un servidor en sentido descendente. El consumidor o el receptor del mensaje verifica la firma y valida la señal X.509. La identidad del nombre distinguido de la señal X.509 que se utiliza en la firma digital se valida en base a la implementación de TrustedIDEvaluator. La implementación de TrustedIDEvaluator debe implementar la interfaz Java com.ibm.wsspi.wssecurity.id.TrustedIDEvaluator. Para el certificado X.509, WebSphere Application Server utiliza el nombre distinguido del certificado como una identidad de solicitante.
Las figuras siguientes muestran el proceso de confianza de aserción de identidad para ambos modelos de programación:
En esta figura, el servidor s1 es el servidor en sentido ascendente y la aserción de identidad se configura entre el servidor s1 y el servidor s2. El servidor s1 autentica la identidad denominada bob. el servidor s1 desea enviar bob al servidor s2 con una contraseña. La modalidad de confianza es una credencial s1 que contiene la identidad y una contraseña. El servidor s2 recibe la solicitud, autentica al usuario utilizando un módulo de inicio de sesión JAAS (Java Authentication and Authorization Service) y utiliza el evaluador de ID de confianza para determinar si confía o no en la identidad. Si se confía en la identidad se utiliza bob como interlocutor que invoca el servicio. Si se requiere una autorización, la identidad que se utiliza para verificar la autorización es bob.
La identidad se puede confirmar como la identidad RunAs (invocación) del contexto de seguridad actual. Por ejemplo, la pasarela de servicios web autentica un solicitante utilizando un método seguro como autenticación de contraseña y, a continuación, envía la identidad del solicitante solamente a un servidor de programa de fondo. También puede utilizar la aserción de identidad para interoperatividad con otra implementación Web Services Security.
- Archivo de texto plano
- Base de datos
- Servidor LDAP (Lightweight Directory Access Protocol)
En un entorno de varios saltos, el receptor eventual es el que utiliza normalmente el evaluador de ID de confianza. La implementación de la seguridad de servicios web invoca el evaluador de ID de confianza y pasa el nombre de identidad del intermediario como un parámetro. Si la identidad se evalúa y se considera de confianza, el procedimiento continúa. De lo contrario, se crea una excepción y se detiene el procedimiento.
Uso del evaluador de ID de confianza con el modelo de programación de JAX-WS
En el modelo de programación de JAX-WS, se da soporte a los mismos conceptos para el evaluador del ID de confianza, aunque la implementación es distinta. Para el tiempo de ejecución de JAX-WS, utilice la consola administrativa para seleccionar la opción Utilizar aserción de identidad en el panel del enlace del interlocutor. Así, se define el tipo de señal de identidad de confianza y, a continuación, se define una lista de una o varias identidades de confianza. El evaluador de ID de confianza valida la señal de identidad de confianza con una lista de identidades de confianza. Para obtener más información sobre la lista de identidades de confianza, consulte el tema Cambio del orden de los interlocutores para una parte del mensaje o la señal.
En WebSphere Application Server Versión 6.1 y posterior, los elementos Caller y TrustMethod se utilizan para dar soporte al inicio de sesión del solicitante. El solicitante envía un mensaje a un intermediario y el mensaje se cursa al servicio. En función de la información de seguridad, el servicio realiza un inicio de sesión para el solicitante. En algunos casos, hay varias señales de seguridad, por lo que el servicio tiene que decidir cuál de ellos utilizar. Cuando se incluye el ID del solicitante como aserción de ID, el servicio puede especificar cómo confiar en el intermediario. Se admiten los escenarios intermediarios siguientes:
- <BasicAuth, null, null>
- Se utilizan para la autenticación el nombre de usuario y la contraseña del solicitante. En este caso, la autenticación se realiza con las propiedades del solicitante, por lo que es necesaria una contraseña para la autenticación.
- <Signature, null, null>
- La firma del solicitante se utiliza para la autenticación.
- <IDAssertion, Username, null>
- El nombre de usuario del solicitante (sin contraseña) se utiliza para identificar al solicitante. La señal UsernameToken se utiliza como aserción de ID, por lo que no se necesita una contraseña para acompañar al nombre d usuario. En este caso, el servicio confía de manera incondicional en el intermediario.
- <IDAssertion, Username, Username>
- Se utiliza el nombre de usuario del solicitante (sin una contraseña) para identificar al solicitante, y el nombre de usuario y la contraseña del intermediario se utilizan para autenticar al intermediario. La señal UsernameToken, cuando se utiliza para establecer la identidad de confianza, necesita siempre una contraseña, porque la finalidad de la señal es establecer confianza entre el intermediario y el servicio.
- <IDAssertion, Username, X509>
- Se utiliza el nombre de usuario del solicitante (sin una contraseña) para identificar al solicitante, y la firma del intermediario se utiliza para autenticar al intermediario. En este caso, la identidad fiable para la firma del intermediario se debe establecer utilizando un certificado X.509.
- <IDAssertion, X509, null>
- La identidad del solicitante se establece utilizando un certificado X.509. En este caso, el certificado X.509 del solicitante no proporciona una firma que demuestre la posesión del certificado y, por lo tanto, el servicio confía en el intermediario de manera incondicional.
- <IDAssertion, X509, Username>
- La identidad del solicitante se establece utilizando un certificado X.509, y el nombre de usuario y la contraseña del intermediario se utilizan para autenticar el intermediario. La señal UsernameToken, cuando se utiliza para establecer la identidad de confianza, necesita siempre una contraseña, porque la finalidad de la señal es establecer confianza entre el intermediario y el servicio.
- <IDAssertion, X509, X509>
- La identidad el solicitante se establece utilizando un certificado X.509, y la firma del intermediario se utiliza para autenticar al intermediario.