Puede proteger los servicios web configurando enlaces y conjuntos de políticas de WS-Security a nivel de mensaje para una señal de seguridad autónoma que sea una señal LTPA (Lightweight Third Party Authentication) o una señal de nombre de usuario.
Antes de empezar
En esta tarea se presupone que el proveedor y el cliente del servicio que está configurando están en la aplicación JaxWSServicesSamples.
Consulte la documentación sobre cómo acceder a ejemplos para aprender a obtener e instalar esta aplicación. Especifique la siguiente especificación de rastreo en el servidor para poder depurar cualquier problema de configuración que se pueda producir en un futuro.
*=info:com.ibm.wsspi.wssecurity.*=all:com.ibm.ws.webservices.wssecurity.*=all:
com.ibm.ws.wssecurity.*=all: com.ibm.xml.soapsec.*=all: com.ibm.ws.webservices.trace.*=all:
com.ibm.ws.websvcs.trace.*=all:com.ibm.ws.wssecurity.platform.audit.*=off:
Si se utilizan señales LTPA, debe habilitar la seguridad de aplicación en los servidores de aplicación que utilizan tanto el cliente como el servicio.
Acerca de esta tarea
En este tema se describe cómo configurar un conjunto de políticas WS-Security y enlaces de proveedor para una señal de nombre de usuario o una señal LTPA. Para simplificar, este procedimiento muestra cómo eliminar la indicación de fecha y hora, la firma digital y los atributos de cifrado de la política; no obstante, es posible que desee incluir estos atributos en la configuración final.
Para obtener más información, consulte la documentación sobre cómo configurar un enlaces y conjuntos de políticas para la firma digital asimétrica XML o el cifrad o XML con enlaces específicos de aplicación de proveedor y de cliente.
En esta tarea, los enlaces predeterminados y generales de proveedor se utilizan para que la aplicación de proveedor consuma las señales. Si es necesaria una configuración de interlocutor, se añadirá un enlace específico de aplicación para el proveedor.
Procedimiento
- Cree el conjunto de políticas personalizado.
- En la consola administrativa, pulse Servicios >
Conjuntos de políticas.
- Pulse Nuevo.
- Especifique Name = OneTokenPolicy.
- Pulse Aplicar.
- En Políticas, pulse Añadir > WS-Security.
- Edite el conjunto de políticas personalizado
- Elimine la firma digital, el cifrado y la indicación de fecha y hora.
- En la consola administrativa, pulse WS-Security
> Política principal.
- Desmarque la protección de nivel de mensaje.
- Pulse Aplicar.
- Añada una señal de nombre de usuario o una señal LTPA.
- En Detalles de política, pulse Solicitar políticas de señal.
- Seleccione Añadir tipo de señal.
- Si desea utilizar una señal de nombre de usuario, seleccione Nombre de usuario.
Si desea utilizar una señal LTPA, seleccione LTPA.
Token
name=myToken.
- Pulse Aceptar.
- Configure el cliente para que utilice un conjunto de políticas OneTokenPolicy.
- En la consola administrativa, pulse Aplicaciones >
Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples
> Conjuntos de políticas y enlaces de cliente de servicio.
- Seleccione el recurso de cliente de servicios web.
- Pulse Conectar conjunto de políticas.
- Seleccione OneTokenPolicy .
- Cree un enlace personalizado para el cliente.
- Vuelva a seleccionar el recurso de servicios web.
- Pulse Asignar enlace.
- Pulse Nuevo enlace específico de la aplicación para crear un enlace específico de la aplicación
- Especifique el nombre de configuración de enlace. nombre:
oneTokenClientBinding
- Pulse Añadir > WS-Security
- Si no aparece el panel Enlaces de política de seguridad de mensajes principales, seleccione WS-Security.
- Edite el enlace personalizado para el cliente.
- Pulse Autenticación y protección.
- Edite el generador de señales de identidad para enviar el nombre de usuario de la identidad.
- Pulse request:myToken.
- Pulse Aplicar.
- Pulse Manejador de retorno de llamada. User
name=(NombreUsuario) Password=(Contraseña)
Avoid trouble: Se trata de un ID de usuario y una contraseña que son válidos en el registro de usuario del sistema del proveedor. Si está utilizando señales LTPA, el ID de usuario y la contraseña deben ser válidos en los registros de proveedor y de consumidor.
gotcha
- (Opcional) Si configura una señal de nombre de usuario, añada las siguiente propiedades personalizadas de WS-Security:
*com.ibm.wsspi.wssecurity.token.username.addNonce=true
*com.ibm.wsspi.wssecurity.token.username.addTimestamp=true
Estas propiedades personalizadas se añaden porque son específicas en los enlaces generales y predeterminados del consumidor de la señal de nombre de usuario. Si no especificamos estas propiedades aquí, deberá eliminar estas propiedades de los enlaces predeterminados generales de proveedor o bien deberá crear enlaces específicos de aplicación para el proveedor que no incluya estas propiedades.
- Pulse OK (Aceptar).
- Pulse Guardar
- Configure el proveedor para que utilice el conjunto de políticas OneTokenPolicy.
- En la consola administrativa, pulse Aplicaciones
> Tipos de aplicación > Aplicaciones empresariales WebSphere > JaxWSServicesSamples
> Enlaces y conjuntos de políticas de lproveedor de servicios
- Seleccione el recurso de proveedor de servicios web (OneTokenPolicy)
- Pulse Conectar conjunto de políticas.
- Seleccione OneTokenPolicy
Nota: Puesto que no hay enlaces conectados a la aplicación de proveedor, se utilizarán los enlaces generales predeterminados de proveedor para los consumidores de señales.
- (Opcional) Si desea crear una configuración de interlocutor para el proveedor, cree enlaces personalizados para el proveedor.
- Vuelva a seleccionar el recurso de proveedor de servicios web.
- Pulse Asignar enlace
- Pulse Nuevo enlace específico de aplicación para crear un enlace específico de aplicación
- Especifique el nombre de configuración de enlaces: oneTokenProvBinding
- Pulse Añadir > WS-Security
- Si el Panel Enlaces de política de seguridad de mensajes principales no se muestra, seleccione WS-Security
- (Opcional) Si se crea una configuración de interlocutor, edite los enlaces personalizados del proveedor.
- Pulse Interlocutor > Nuevo. Nombre:
myCaller.
- Si utiliza una señal de nombre de usuario, especifique lo siguiente:
- Nombre local de identidad de interlocutor: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken
- Si utiliza una señal LTPA, especifique lo siguiente:
- Nombre local de identidad de interlocutor: LTPAv2
- URI local de identidad de interlocutor: http://www.ibm.com/websphere/appserver/tokentype
- Pulse Aceptar.
- Pulse Guardar para guardar los cambios realizados en la configuración.
- Reinicie el proveedor del cliente.
- Detenga el cliente y el proveedor
- Reinicie el cliente y el proveedor
- Pruebe el servicio.
- Apunte el navegador web a JaxWSServicesSamples: http://localhost:9080/wssamplesei/demo
Avoid trouble: Asegúrese de proporcionar el nombre de host y el puerto correctos si el perfil no está en la misma máquina o el puerto no es 9080.
gotcha
- Seleccione Eco síncrono del tipo de mensaje
- Asegúrese de que Utilizar SOAP 1.2 no esté seleccionado
- Escriba un mensaje y pulse Enviar mensaje. La aplicación de ejemplo debería responder con JAXWS==>Message.
Resultados
La aplicación de servicios web JaxWSServicesSamples está configurada para generar y consumir una señal de nombre de usuario o una señal LTPA en el mensaje de solicitud.