Una señal de portador SAML es una señal SAML que utiliza el método de confirmación de sujeto de portador. En un método de confirmación de sujeto de portador, un emisor de mensajes SOAP no es necesario para establecer correspondencia que enlace un símbolo SAML con el contenido del mensaje SOAP que contiene. Puede configurar los archivos adjuntos y los enlaces de conjunto de políticas
de cliente y proveedor para la señal SAML bearer.
Antes de empezar
WebSphere Application Server con SAML proporciona
varios conjuntos de políticas de aplicación de señal SAML predeterminados y varios
ejemplos de enlace de cliente y proveedor generales. Antes de configurar los enlaces de cliente y proveedor para la señal SAML bearer, debe:
- Crear uno o varios perfiles de servidor nuevos que incluyan valores de configuración SAML o añadir los valores de
configuración SAML a un perfil existente. Lea acerca de establecer la configuración de SAML para obtener más información sobre cómo añadir valores de configuración SAML a un perfil.
- Importar uno de los conjuntos de políticas por defecto siguientes:
- SAML20 Bearer WSHTTPS default
- SAML20 Bearer WSSecurity default
- SAML11 Bearer WSHTTPS default
- SAML11 Bearer WSSecurity default
Los conjuntos de políticas SAML11 son
casi idénticos a los conjuntos de políticas SAML20, salvo que los conjuntos
de políticas SAML20 admiten el tipo de señal SAML Versión 2.0, mientras que
los conjuntos de políticas SAML11 admiten el tipo de señal de la Versión 1.1.
Se necesitan dos conjuntos de políticas predeterminados. Importe dos conjuntos de políticas predeterminados: el conjunto de políticas predeterminado Username
WSHTTPS y uno de los conjuntos de políticas de portadora siguientes. Asegúrese de que el conjunto de políticas de portar que importa corresponda a la situación; por ejemplo SAML 1.1 o 2.0 y HTTPS o no HTTPS.
- SAML11 Bearer WSHTTPS por defecto para señales SAML 1.1 utilizando HTTPS
- SAML20 Bearer WSHTTPS por defecto para señales SAML 1.1 utilizando HTTPS
- SAML20 Bearer WSSecurity por defecto para señales SAML 2.0 utilizando HTTP
- SAML11 Bearer WSSecurity por defecto para señales SAML 2.0 utilizando HTTP
Para importar estos conjuntos de políticas, en la consola administrativa:
- Pulse Servicios > Conjuntos de políticas > Conjuntos de políticas de aplicación.
- Pulse Importar.
- Seleccione Desde el repositorio predeterminado.
- Seleccione los dos conjuntos de políticas por defecto deseados.
El conjunto de políticas predeterminado SAML elegido en este paso se conoce como la política SAML adecuada en los pasos de procedimiento siguientes.
- Pulse Aceptar para importar los conjuntos de políticas y, a continuación, pulse Guardar para guardar los cambios.
- Si las aserciones SAML van a ser firmadas por el STS y requerirá la evaluación de confianza del emisor (el firmante), deberá haber disponible un archivo de almacén de claves para la evaluación de confianza del certificado X.509 del emisor. Este almacén de datos puede contener el certificado del emisor público o toda la información necesaria para crear la vía de acceso del certificado. Los tipos de almacén de claves soportados son: jks, jceks y
pkcs12. Este archivo se conoce como el archivo del almacén de confianza en el siguiente procedimiento.
- La política Username WSHTTPS default se utilizará para comunicarse con el STS. Si el certificado del emisor STS que debe utilizarse con SSL no se ha importado a NodeDefaultSSLSettings, consulte el tema Recuperación de firmantes de un puerto SSL remoto para obtener una descripción de cómo importar este certificado. También es posible que desee revisar el tema Instalación segura para la recuperación de firmantes de cliente en SSL para obtener más información general sobre los certificados de emisor STS.
Acerca de esta tarea
Una extensión CustomToken define las políticas de señales SAML en
el servidor de aplicaciones. Para crear la extensión CustomToken, defina los parámetros de
configuración de la señal SAML en términos de propiedades personalizadas en el documento de enlaces de
cliente y
proveedor. El ejemplo de cliente de portador Saml y ejemplo de proveedor de portador Saml para enlaces generales contienen la configuración esencial para las propiedades personalizadas.
Los enlaces de ejemplo de cliente y proveedor contiene información de
configuración para las dos señales SAML11 y SAML20. Estos ejemplos se pueden utilizar con ambos conjuntos de políticas SAML11 y SAML20. En función de cómo prevea implementar las señales SAML,
debe modificar los valores de las propiedades de los ejemplos de
enlace instalados. En el procedimiento se proporcionan ejemplos de propiedades y valores de
propiedades.
El procedimiento para modificar el ejemplo de enlace empieza por la configuración del adjunto de
conjunto de políticas de cliente de servicio web y luego modifica el adjunto de conjunto de políticas de proveedor de servicios web. El ejemplo que se muestra en el procedimiento utiliza el ejemplo de aplicación de servicios web
JaxWSServicesSamples.
Procedimiento
- Configurar el cliente de confianza
Si va a utilizar los enlaces generales para acceder al STS externo, vaya al paso Conectar el conjunto de políticas y enlaces a la aplicación del cliente.
Si va a utilizar enlaces específicos de aplicación para acceder al STS externo, realice los siguientes pasos.
- Conecte temporalmente un conjunto de políticas para el cliente de confianza a la aplicación de cliente de servicios web de modo que los enlaces puedan configurarse.
El objetivo de este paso es permitir utilizar la consola administrativa para crear o
modificar el documento de enlace de cliente.Sólo tiene que completar esta acción si un enlace específico de aplicación se utiliza para acceder al STS externo.
- En la consola administrativa, pulse Aplicaciones >
Tipos de aplicación > Aplicaciones empresariales de WebSphere > JaxWSServicesSamples
> Conjunots de políticas y enlaces de cliente de servicio.
- Seleccione el recurso de cliente de servicios web (JaxWSServicesSamples).
- Pulse Conectar conjunto de políticas de cliente.
- Seleccione el conjunto de políticas Username WSHTTPS default.
- Crear el enlace de cliente de confianza.
- Vuelva a seleccionar el recurso de cliente de servicios web (JaxWSServicesSamples).
- Pulse Asignar enlace.
- Pulse Nuevo enlace específico de la aplicación para crear un
enlace específico de aplicación.
- Especifique un nombre de configuración de enlace para el nuevo enlace específico
de aplicación. En este ejemplo, el nombre del enlace es SamlTCSample.
- Añada el tipo de política de transporte SSL al enlace.
Pulse Añadir > Transporte SSL y, a continuación, pulse Aceptar.
- Añada el tipo de política WS-Security al enlace y, a continuación,
modifique los valores de autenticación del cliente de confianza.
- Si el tipo de política WS-Security todavía no está en la definición de enlace SamITCSample, pulse Aplicaciones >
Tipos de aplicación > Aplicaciones empresariales de WebSphere > JaxWSServicesSamples
> Conjunots de políticas y enlaces de cliente de servicio > SamlTCSample.
- Pulse Añadir > WS-Security > Autenticación y protección > request:uname_token.
- Pulse Aplicar.
- Seleccione Manejador de devolución de llamada
- Especifique un nombre de usuario y una contraseña para el cliente de servicios web para autenticar el STS externo.
- Pulse Aceptar y, a continuación, pulse Guardar.
- Después de guardar los valores de enlace, vuelva al panel Conjuntos de políticas y enlaces del cliente de servicios y desasocie el conjunto de políticas y enlaces.
- Pulse Conjuntos de políticas y enlaces del cliente de servicios en la navegación de esta página o Aplicaciones > Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples > Conjuntos de políticas y enlaces del cliente de servicios.
- Seleccione el recurso de cliente de servicios web (JaxWSServicesSamples) y, a continuación, pulse Desconectar conjunto de políticas de cliente.
La configuración de enlace específico de aplicación que ha creado en los pasos anteriores
no se suprime del sistema de archivos cuando el conjunto de políticas se desconecta. Esto significa que puede seguir utilizando el enlace específico de aplicación
que ha creado para acceder a la STS con el cliente de confianza.
- Conecte el conjunto de políticas y enlaces SAML con la aplicación del cliente
- Conectar el conjunto de políticas SAML con la aplicación cliente de servicios web.
- Si la política SAML no está ya en la página Conjuntos de políticas y enlaces del cliente de servicios para JaxWSServicesSamples, pulse Aplicaciones > Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples > Conjuntos de políticas y enlaces del cliente de servicios
- Seleccione el recurso de cliente de servicios web.
- Pulse Conectar conjunto de políticas de cliente.
- Seleccione la política SAML adecuada para el cliente de servicios web.
- Conecte el enlace general de ejemplo de cliente de portador Saml con el cliente.
- Vuelva a seleccionar el recurso de cliente de servicios web.
- Pulse Asignar enlace.
- Seleccione Ejemplo de cliente de portador Saml.
- Configure los enlaces de cliente de servicios web.
Configure el URL de punto final de STS en el enlace de ejemplo.
- Pulse Aplicaciones > Tipos de aplicación >
Aplicaciones empresariales de WebSphere > JaxWSServicesSamples > Conjuntos de políticas y enlaces de cliente de servicio > Ejemplo de cliente de portador Saml > WS-Security
> Autenticación y protección.
- Pulse gen_saml11token o gen_saml20token en la tabla
Señales de autenticación.
- Pulse Manejador de retorno de llamada.
- Modifique la propiedad stsURI para especificar
el punto final STS.
Esta propiedad no es necesaria para el autoservicio de emisor en un servidor intermedio. Sin embargo, si se especifica la propiedad para el emisor automático en un servidor intermedio, se establece en www.websphere.ibm.com/SAML/Issuer/Self.
- Verifique que las propiedades siguientes se establecen en los valores necesarios.
Si alguna de estas propiedades se establece en algún otro valor, debe cambiar el valor de la propiedad al valor necesario.
- La propiedad confirmationMethod se debe establecer en Bearer.
- La propiedad keyType se debe establecer en http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer.
- La propiedad wstrustClientPolicy debe establecerse en Username WSHTTPS default.
- El valor especificado para la propiedad wstrustClientBinding debe coincidir con el nombre de enlace específico de la aplicación de cliente de confianza creado en los pasos anteriores. Por ejemplo, en los pasos anteriores, hemos creado un enlace específico de aplicación denominado SamlTCSample. En este caso SamlTCSample se debe especificar como el valor de la propiedad wstrustClientBinding
- Opcional: Si desea cambiar cómo el servidor de aplicaciones busca el enlace, puede especificar la propiedad wstrustClientBindingScope
y establecer su valor en aplicación o dominio.
Cuando el valor se establece en domain,
el servidor de aplicaciones busca wstrustClientBinding en la ubicación del sistema de archivos
que contiene los documentos de enlace general.
Cuando el valor se establece en application,
el servidor de aplicaciones busca wstrustClientBinding en la ubicación del sistema de archivos
que contiene los documentos de enlace específico de aplicación.
Cuando no se especifica la propiedad
wstrustClientBindingScope, el comportamiento predeterminado del servidor de aplicaciones es buscar enlaces
específicos de aplicación y, a continuación, buscar enlaces generales.
Si no se puede localizar wstrustClientBinding, el servidor
de aplicaciones utiliza los enlaces predeterminados.
- Opcional: Si desea modificar la versión SOAP de cliente de confianza predeterminado, que es el mismo que el cliente de aplicación, especifique un nuevo valor para la propiedad personalizada wstrustClientSoapVersion.
Establezca la propiedad personalizada wstrustClientSoapVersion en 1.1 para cambiar a SOAP Versión 1.1.
Establezca la propiedad personalizada wstrustClientSoapVersion en 1.2 para cambiar a SOAP Versión 1.2.
- Pulse Aplicar y, a continuación, pulse Guardar.
Si son necesarias más modificaciones en la configuración de
wstrustClientBinding y la propiedad wstrustClientBinding apunta a un enlace específico de aplicación,
por ejemplo en este caso, SamlTCSampledebe, conectar el enlace específico de aplicación con el cliente de servicios web para poder
llevar a cabo las modificaciones. La conexión es temporal.
Como se detalla en los pasos anteriores, puede desconectar el enlace específico de aplicación modificado
del cliente de servicio web después de que se haya realizado la modificación.
Antes de continuar con el siguiente paso, asegúrese de que el certificado SSL del STS externo existe en el NodeDefaultTrustStore. Consulte la sección Antes de empezar para obtener más información.
- Reinicie la aplicación de cliente de servicios web para que las modificaciones en la
adjunción de conjunto de políticas puedan entrar en vigor.
La información del conjunto de políticas y enlace adjunto se actualiza cuando la aplicación se reinicia, pero la información actualizada en el enlace general no se refleja en ejecución hasta que todos los enlaces generales se renuevan.
La aplicación debe reiniciarse después de que se hayan vuelto a cargar los enlaces generales para aprovechar las actualizaciones. Consulte Recarga de enlaces generales de cliente y proveedor y reinicie el paso referido a las aplicaciones que sigue para obtener más información.
- Conecte el conjunto de políticas y enlaces SAML con la aplicación del proveedor.
- Conectar el conjunto de políticas SAML con el proveedor de servicios web.
- En la consola administrativa, pulse Aplicaciones >
Tipos de aplicación > Aplicaciones empresariales de WebSphere > JaxWSServicesSamples
> Conjuntos de políticas y enlaces de proveedor de servicio.
- Seleccione el recurso de proveedor de servicios web (JaxWSServicesSamples).
- Pulse Conectar conjunto de políticas.
- Seleccione la política SAML adecuada para el proveedor de servicios web.
- Asigne el enlace general de Saml Bearer Provider sample.
- Vuelva a seleccionar el recurso de proveedor de servicios web.
- Pulse Asignar enlace.
- Seleccione Ejemplo de proveedor de portador Saml.
- Configuración de los enlaces de proveedor de
servicios web.
- Si los enlaces de proveedor de servicios web todavía no se encuentran en la página de enlaces y conjuntos de políticas de proveedor de servicios para JaxWSServicesSamples, pulse Aplicaciones empresariales WebSphere > JaxWSServicesSamples
> Conjuntos de políticas y enlaces de proveedor de servicios > Ejemplo de proveedor de portador Saml.
- Pulse WS-Security > Autenticación y protección.
- En la tabla Señales de autenticación, pulse con_saml11token o con_saml20token.
- Pulse Manejador de retorno de llamada.
La página del manejador de retorno de llamada de la consola administrativa se utiliza para configurar los datos de enlace de validación de firma digital del emisor de la señal SAML para el STS externo.
- Opcional: Establezca la propiedad personalizada signatureRequired en false si desea suspender la validación de firmas digitales.
Establezca la propiedad personalizada signatureRequired en false si desea suspender la validación de firmas digitales. No obstante, una buena práctica
de seguridad es solicitar la firma de las aserciones SAML y requerir siempre una validación de firmas
digitales de emisores. Falso
es el valor predeterminado para esta propiedad.
- Opcional: Establezca la propiedad personalizada trustAnySigner
en true si no desea permitir la validación de certificados de firmante.
El valor de configuración Confiar en cualquier certificado se ignora a efectos de validación de firma de SAML.Esta propiedad sólo es válida si la propiedad personalizada signatureRequired se establece en true, que es el valor predeterminado para dicha propiedad.
- Complete las acciones siguientes si STS firma las aserciones, la propiedad personalizada
signatureRequired está establecida en el valor predeterminado de true y la propiedad personalizada
trustAnySigner está establecida en el valor predeterminado de false.
- Añada un certificado al almacén de confianza para el proveedor que permita que el certificado de firmante STS externo pase la validación de confianza, como el propio certificado de firmante STS o su certificado de entidad emisora de certificados raíz.
- Establezca la propiedad personalizada trustStorePath en un valor que coincida con el nombre de archivo del almacén de confianza. Este valor puede ser totalmente calificado o utilice palabras clave como ${USER_INSTALL_ROOT}.
- Establezca la propiedad personalizada trustStoreType en un valor que coincida con el tipo de almacén de claves. Los tipos de almacén de claves soportados son: jks, jceks y
pkcs12.
- Establezca la propiedad personalizada trustStorePassword en un valor que coincida con la contraseña del almacén de confianza. La contraseña se almacena como propiedad personalizada y la
consola administrativa la codifica.
- Opcional: Establezca la propiedad personalizada trustedAlias en un valor como samlissuer. Si se especifica esta propiedad,
el certificado X.509 representado por el alias es el único certificado de STS que es de
confianza para la verificación de firmas de SAML. Si no se especifica esta propiedad
personalizada, el entorno de ejecución de servicios web utiliza el certificado firmante de
las aserciones SAML para validar la firma SAML y, a continuación, verifica el certificado
en el almacén de confianza configurado.
- Opcional: Puede configurar el destinatario para que se valide el nombre del emisor o el SubjectDN de certificado
del emisor en la aserción SAML, o puede validar ambas cosas.
Cree una lista de nombres de emisores de confianza o una lista de SubjectDN de certificados de confianza o ambos tipos de listas. Si crea listas tanto de nombres
de emisor como de SubjectDN, se verifican tanto el nombre de emisor como el SubjectDN. Si el nombre de emisor SAML o el SubjectDN de firmante no
figuran en la lista de confianza, la validación SAML fallará y se emitirá una excepción.
Este ejemplo muestra cómo crear una lista de emisores de confianza y los SubjectDN de confianza. Para cada nombre de emisor de confianza, utilice trustedIssuer_n siendo n un entero positivo. Para cada SubjectDN de confianza, utilice trustedSubjectDN_n siendo n un entero positivo. Si crea los dos tipos de lista, el entero n
debe coincidir en las dos listas para la misma aserción SAML. El entero n empieza por 1 y
va aumentando de uno en uno.
En este ejemplo, confía en una aserción SAML con el nombre de emisor
WebSphere/samlissuer, independientemente del SubjectDN del firmante, por lo que añade
la siguiente propiedad personalizada:
<properties value="WebSphere/samlissuer" name="trustedIssuer_1"/>
Asimismo, confía en una aserción SAML emitida por IBM/samlissuer, cuando el
SubjectDN del firmante es ou=websphere,o=ibm,c=us, por lo tanto, añade las siguientes
propiedades personalizadas:
<properties value="IBM/samlissuer" name="trustedIssuer_2"/>
<properties value="ou=websphere,o=ibm,c=us" name="trustedSubjectDN_2"/>
- Descifre la aserción SAML.
Si la aserción SAML está cifrada por el STS, la señal SAML aparece en la cabecera de seguridad SOAP como un elemento EncryptedAssertion en lugar de un elemento de aserción. Para descifrar la aserción SAML, debe configurar la clave privada que corresponde a la clave pública que se ha utilizado para cifrar la aserción en el STS.
Las siguientes propiedades personalizadas
del manejador de retorno de llamada deben estar establecida en el valor que se describen en la tabla para que
el destinatario
pueda descifrar la aserción SAML.
Propiedad personalizada |
Valor |
keyStorePath |
Ubicación del almacén de claves |
keyStoreType |
Tipo de almacén de claves coincidente Los tipos de almacén de claves
admitidos son: jks, jceks y pkcs12
|
keyStorePassword |
Contraseña del almacén de claves |
keyAlias |
El alias de la clave privada utilizada para el cifrado SAML. |
keyName |
Nombre de la clave privada del cifrado de SAML |
keyPassword |
Contraseña del nombre de clave |
- Opcional: Puede configurar el enlace de llamante para seleccionar una señal SAML a fin de representar la identidad del solicitante. El entorno de ejecución de seguridad de servicios Web utiliza la configuración de inicio de sesión
JAAS especificada para adquirir el nombre de seguridad del usuario y los datos de miembros de grupo del
registro de usuarios que utiliza la señal SAML NameId o NameIdentifier como nombre de usuario.
- Pulse .
- Pulse Nuevo para crear la configuración de llamante.
- Especifique un Nombre, como llamante.
- Especifique un valor para Nombre local de identidad del llamante.
Para las señales SAML 1.1, especifique:
http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1Para las señales SAML 2.0, especifique:
http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0
- Pulse Aplicar y Guardar.
- Recarga de enlaces generales de cliente y proveedor y reinicio de las aplicaciones.
Cuando la información en los enlaces generales se actualiza, los nuevos valores no se reflejan inmediatamente en ejecución. Un enlace general actualizado se debe cargar mediante el gestor de conjuntos de políticas en el servidor de aplicaciones para que las actualizaciones surtan efecto. Puede recargar cualquier conjunto de políticas y enlace actualizados deteniendo y reiniciando el servidor de aplicaciones o utilizando el mandato de renovación en el MBean PolicySetManager en wsadmin. Para obtener más información acerca de renovar el gestor de conjuntos de políticas, consulte el tema Renovación de configuraciones de conjunto de políticas mediante scripts wsadmin.
Para recargar enlaces generales de cliente y proveedor y reinicio de las aplicaciones, lleve a cabo las acciones siguientes:
- Reinicie el servidor de aplicaciones o
- Renueve el MBean PolicySetManager y, a continuación, reinicie las aplicaciones de servicios web de cliente y proveedor.
Resultados
Cuando haya completado el procedimiento, la aplicación de servicios web JaxWSServicesSamples
estará lista para utilizar el conjunto de políticas predeterminado SAML Bearer, el ejemplo Saml Bearer
Client y los enlaces generales del ejemplo Saml Bearer Provider.