Establecimiento del contexto de seguridad para los clientes de servicios web mediante señales de seguridad SAML

WebSphere Application Server admite dos opciones de configuración de enlace de emisor de conjunto de políticas para establecer un contexto de seguridad del cliente mediante señales de seguridad SAML en los mensajes de solicitud SOAP de los servicios web. Las dos opciones de configuración son la correlación de señales SAML con entradas de usuario de un repositorio de usuarios local y la aserción de señales SAML basándose en una relación de confianza.

Antes de empezar

En esta tarea se supone que está familiarizado con la tecnología SAML de WebSphere Application Server.

Acerca de esta tarea

En esta tarea se describe el establecimiento de la opción de configuración del enlace de emisor de conjunto de políticas de WebSphere Application Server para establecer un contexto de seguridad del cliente mediante señales de seguridad SAML en los mensajes de solicitud SOAP de los servicios web. Puede correlacionar las señales SAML con una entrada de usuario en un repositorio de usuarios local o confirmar las señales SAML basándose en una relación de confianza. La segunda opción de configuración no necesita acceder al repositorio de usuarios local. En su lugar, el entorno de ejecución de WS-Security llenará el contexto de seguridad del cliente por completo utilizando el contenido de las señales de seguridad de SAML. Este proceso se basa en una relación de confianza con el emisor de señales SAML. Si una señal SAML especifica el método de confirmación de sujeto de autorización del remitente. El proceso se basa en una relación de confianza con el remitente del mensaje.

Procedimiento

  1. Configure un enlace de interlocutor del conjunto de políticas y seleccione el tipo de señal SAML para representar una solicitud de cliente de servicios web.
    1. Pulse Aplicaciones de empresa de WebSphere > nombre_aplicación > Conjuntos de políticas y enlaces del proveedor de servicios > nombre_enlace > WS-Security > Llamantes.
    2. Pulse Nuevo para crear la configuración del llamante.
    3. Especifique un Nombre, como llamante.
    4. Especifique un valor para Nombre local de identidad del llamante. Por ejemplo, http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0, que debe coincidir con la parte local del elemento CustomToken en la política WS-Security conectada.
    5. Pulse Aplicar y Guardar.
  2. Opcional: Correlacione las señales de seguridad SAML con una entrada de usuario en un repositorio de usuarios local. La correlación con una entrada de usuario es el comportamiento predeterminado al configurar un enlace de llamante sin especificar una opción de configuración. De forma alternativa y opcional, puede seleccionar esta opción de configuración explícitamente con estos pasos:
    1. En la página de configuración de enlace de llamante, añada un manejador de devolución de llamada: com.ibm.websphere.wssecurity.callbackhandler.SAMLIdAssertionCallbackHandler.
    2. Añada una propiedad personalizada de manejador de devolución de llamada, crossDomainIdAssertion, y establezca su valor en false.
  3. Opcional: Confirme las señales de seguridad SAML en función de la relación de confianza.
    1. En la página de configuración de enlace de llamante, añada un manejador de devolución de llamada: com.ibm.websphere.wssecurity.callbackhandler.SAMLIdAssertionCallbackHandler.
    2. Añada una propiedad personalizada de manejador de devolución de llamada, crossDomainIdAssertion, y establezca su valor en true.
    En WebSphere Application Server Versión 7.0 Fixpack 7 y releases posteriores, el entorno de ejecución de WS-Security adopta un nombre de emisor de señal SAML para representar el nombre de dominio de seguridad exterior. WS-Security adopta el elemento NameIDen el caso de señales de seguridad SAML 2.0 o el elemento NameIdentifier en el caso de señales de seguridad SAML 1.1 para representar el nombre de seguridad del usuario. Como alternativa, puede especificar explícitamente qué atributo de señal SAML va a utilizar para representar el nombre de seguridad del usuario. Por otra parte, también puede especificar qué atributo de señal SAML va a utilizar para representar la pertenencia a grupos de usuarios. Consulte información sobre aserciones SAML en los dominios de seguridad de WebSphere Application Server para obtener una descripción detallada del modelo de confianza de aserción de señales SAML y la configuración de enlace.

    La versión 8.x puede propagar el contenido de com.ibm.websphere.security.cred.WSCredential en una señal SAML. Debe establecer una propiedad personalizada tokenRequest con un valor de propiedad issueByWSCredential en la configuración de enlace de WS-Security del cliente de servicios web. Consulte la propagación de señales SAML para obtener una descripción detallada de esta opción de enlace. Si la propiedad crossDomainIdAssertion está establecida en true en la Versión 8.x, WS-Security comprueba si una señal SAML contiene un atributo UniqueSecurityName SAML con un elemento NameFormat con un valor de com.ibm.websphere.security.cred.WSCredential. Si se encuentra, WS-Security utiliza el valor del atributo NameQualifier del elemento NameID o NameIdentifier para representar el nombre de reino de seguridad del usuario. WS-Security utiliza también los valores de los atributos UniqueSecurityName y GroupIds para representar un nombre de usuario exclusivo y la pertenencia a grupos. Este comportamiento predeterminado es distinto entre la Versión 7 y la Versión 8.x del producto. Puede añadir una propiedad CallbackHandler, IssuerNameForRealm y establecer su valor en true con el fin de configurar la Versión 8.x para conservar el comportamiento de la Versión 7. Como alternativa, puede añadir una propiedad CallbackHandler, NameQualifierForRealm y establecer su valor en true con el fin de configurar la Versión 8.x para que se utilice siempre el atributo NameQualifier para representar el nombre de reino de seguridad del usuario.

  4. Habilite y configure la seguridad global de WebSphere Application Server.

    Puede utilizar el asistente de configuración de seguridad para habilitar la seguridad administrativa. También debe habilitar la seguridad de aplicaciones para que la aplicación de ejemplo pueda utilizar el sujeto de usuario autenticado en el contexto de seguridad para crear una señal SAML. Este paso implica configurar el tercer punto de verificación de relación de confianza en el lado del proveedor de servicios web. Este paso es necesario para utilizar el servidor de aplicaciones para simular el proveedor de servicios web del dominio de seguridad. El subsistema de autenticación de WebSphere Application Server V8.0 admite la aserción de la identidad de usuario con un nombre de reino foráneo, y comprueba el nombre del reino foráneo con respecto a la lista de reinos de autenticación de confianza de entrada. Tras completar este paso de configuración, WebSphere Application Server puede crear un sujeto de interlocutor de cliente con una identidad de usuario en un dominio de seguridad foráneo.

  5. Configure dominios de seguridad de confianza.
    1. En el panel Seguridad global, pulse el botón Configurar situado junto a Definiciones de reino disponibles.
    2. Pulse el enlace Reinos de autenticación de confianza - entrada.
    3. Seleccione la opción Confiar en reinos según se indica a continuación.
    4. Pulse el botón Añadir reino externo.
    5. Añada el nombre del emisor de aserción SAML a Nombre de reino externo.

      El nombre del emisor de aserción SAML proporciona información sobre el emisor de la aserción SAML, que puede ser dentro del elemento Issuer de la aserción SAML 2.0 o es el atributo Issuer de la aserción SAML.

Resultados

Ha configurado un servicio web para establecer un contexto de seguridad del cliente utilizando la señal de seguridad SAML en los mensajes de solicitud SOAP de los servicios web.

Ejemplo

En el ejemplo siguiente se muestran los elementos NameIdentifier y Attribute de una aserción SAML 1.1 autoemitida basándose en WSCredential:
<saml:AttributeStatement>
    <saml:Subject>
        <saml:NameIdentifier NameQualifier="ldap.example.com:9080">uid=alice,dc=example,dc=com</saml:NameIdentifier>
        <saml:SubjectConfirmation>
            <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</saml:ConfirmationMethod>
        </saml:SubjectConfirmation>
    </saml:Subject>
    <saml:Attribute AttributeName="UniqueSecurityName" AttributeNamespace="com.ibm.websphere.security.cred.WSCredential">
        <saml:AttributeValue>uid=alice,dc=example,dc=com</saml:AttributeValue>
    </saml:Attribute>
    <saml:Attribute AttributeName="GroupIds" AttributeNamespace="com.ibm.websphere.security.cred.WSCredential">
        <saml:AttributeValue>cn=development,dc=example,dc=com</saml:AttributeValue>
        <saml:AttributeValue>cn=deployment,dc=example,dc=com</saml:AttributeValue>
        <saml:AttributeValue>cn=test,dc=example,dc=com</saml:AttributeValue>
    </saml:Attribute>
</saml:AttributeStatement>
En el ejemplo siguiente se muestran los elementos NameID y Attribute de una aserción SAML 2.0 autoemitida basándose en WSCredential:
<saml2:AttributeStatement>
    <saml2:Attribute Name="UniqueSecurityName" NameFormat="com.ibm.websphere.security.cred.WSCredential" />
    <saml2:AttributeValue>uid=alice,dc=example,dc=com</saml2:AttributeValue>
    <saml2:Attribute>
        <saml2:Attribute AttributeName="GroupIds" NameFormat="com.ibm.websphere.security.cred.WSCredential" />
        <saml2:AttributeValue>cn=development,dc=example,dc=com</saml2:AttributeValue>
        <saml2:AttributeValue>cn=deployment,dc=example,dc=com</saml2:AttributeValue>
        <saml2:AttributeValue>cn=test,dc=example,dc=com</saml2:AttributeValue>
    </saml2:Attribute>
<saml2:AttributeStatement>

<saml2:NameID NameQualifier="ldap.example.com:9060">alice</saml2:NameID>

Icon that indicates the type of topic Task topic



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