Método de autenticación de la aserción de identidad
Cuando se utiliza el método de autenticación de aserción de identidad (IDAssertion), la señal de seguridad generada es un elemento <wsse:UsernameToken> que contiene un elemento <wsse:Username>.
En el lado del remitente de solicitudes, se invoca un manejador de devolución de llamada para generar la señal de seguridad. En el receptor de solicitudes, se valida la señal de seguridad. Estas dos operaciones de generación y validación de la señal se describen en las siguientes secciones.
Validación de la señal de aserción de identidad:
El receptor de solicitudes recupera la señal de seguridad IDAssertion del mensaje SOAP y la valida mediante un módulo de inicio de sesión JAAS (Java™ Authentication and Authorization Service). Con la aserción de identidad, se necesita un proceso especial para establecer la confianza antes de comprobar la identidad como la identidad establecida de la hebra en ejecución. Este proceso especial está definido por el elemento <IDAssertion> del archivo del descriptor de despliegue ibm-webservices-ext.xmi. Si todas las comprobaciones de validación son satisfactorias, la identidad comprobada se establece como la identidad de la hebra en ejecución. Si la validación no es satisfactoria, se rechaza la solicitud con una excepción de error de SOAP.
La configuración de inicio de sesión JAAS se especifica en el elemento <LoginMapping> del archivo de enlaces. Los enlaces predeterminados se especifican en el archivo ws-security.xml. No obstante, puede alterar temporalmente estos enlaces utilizando el archivo ibm-webservices-bnd.xmi específico de la aplicación. La información de configuración está formada por CallbackHandlerFactory y un ConfigName. CallbackHandlerFactory especifica el nombre de una clase que se utiliza para crear el objeto CallbackHandler de JAAS. WebSphere Application Server proporciona la implementación de CallbackHandlerFactory com.ibm.wsspi.wssecurity.auth.callback.WSCallbackHandlerFactoryImpl. ConfigName especifica una entrada de nombre de configuración JAAS.
WebSphere Application Server busca en el archivo security.xml una entrada de nombre de configuración que coincida. Si no se encuentra una coincidencia, la busca en el archivo wsjaas.conf. WebSphere Application Server proporciona la entrada de configuración predeterminada system.wssecurity.IDAssertion, que es adecuada para el método de autenticación de aserción de identidad.
El elemento <IDAssertion> del archivo del descriptor de despliegue ibm-webservices-ext.xmi especifica el proceso especial necesario cuando se utiliza el método de autenticación de aserción de identidad. El elemento <IDAssertion> está formado por dos subelementos: <IDType> y <TrustMode>.
- Nombre de usuario
- Nombre distinguido (DN)
- Certificado X.509
Cuando <IDType> es username, se proporciona una señal de nombre de usuario (por ejemplo, Pablo). Este nombre de usuario se correlaciona con un usuario del registro de usuario y es la identidad comprobada después de la validación satisfactoria de la confianza. Cuando el valor de <IDType> es DN, se proporciona una señal de nombre de usuario que contiene un nombre distinguido (por ejemplo, cn=Pablo Quintero, o=ibm, c=us). Este DN se correlaciona con un usuario del registro de usuario y este usuario es la identidad comprobada después de la validación satisfactoria de la confianza. Cuando <IDType> es X509Certificate, se proporciona una señal de seguridad binaria que contiene un certificado X509 y se extrae el valor de SubjectDN del certificado (por ejemplo, cn=Pablo Quintero, o=ibm, c=us). Este valor de SubjectDN se correlaciona con un usuario del registro de usuario y este usuario es la identidad comprobada después de la validación satisfactoria de la confianza.
- Firma
- Autenticación básica
- No se ha especificado ningún valor
Cuando el valor de <TrustMode> es Signature, se valida la signatura. A continuación, el firmante (por ejemplo, cn=IBM Authority, o=ibm, c=us) se correlaciona con una identidad en el registro de usuario (por ejemplo, IBMAuthority). Para garantizar que la autorización de comprobación es de confianza, se valida la identidad correlacionada (por ejemplo, IBMAuthority) en una lista de identidades de confianza. Cuando el elemento <TrustMode> es BasicAuth, hay una señal de nombre de usuario con un nombre de usuario y una contraseña, que son el nombre de usuario y la contraseña de la autorización de comprobación.
El nombre de usuario y la contraseña se validan. Si se validan satisfactoriamente, ese nombre de usuario (por ejemplo, IBMAuthority) se valida en una lista de identidades de confianza. Si no se especifica un valor para <TrustMode>, la confianza se presupone y no se realiza ninguna validación de confianza adicional. Este tipo de aserción de identidad se denomina modalidad de confianza asumida previamente. Utilice la modalidad de confianza asumida previamente sólo en aquellos entornos en los que la confianza se establezca utilizando otros mecanismos.
Si todas las validaciones descritas anteriormente son satisfactorias, la identidad comprobada (por ejemplo, Pablo) se establece como la identidad de la hebra en ejecución. Si alguna de las validaciones no es satisfactoria, se rechaza la solicitud con una excepción de error de SOAP.