Configuración de conjuntos de políticas y enlaces para establecer comunicación con STS

Configure conjuntos de política y documentos de enlace para que un cliente de servicios web pueda solicitar aserciones SAML de un servicio de señales de seguridad (STS).

Antes de empezar

Después de la instalación, debe crear un perfil de servidor nuevo o añadir valores de configuración de SAML a un perfil existente. Consulte la información acerca de cómo establecer la configuración de SAML para obtener más información.

Acerca de esta tarea

WebSphere Application Server con SAML admite clientes de servicios web que utilizan el conjunto de políticas de servicios Web y enlaces cuando se comunican con un servicio de señales de seguridad (STS) externo. Los clientes de servicios web utilizan el conjunto de políticas y los enlaces para comunicarse con el proveedor de servicios web de destino. Un cliente de servicios web utiliza dos conjuntos de adjuntos de conjunto de políticas: un conjunto de adjuntos de conjunto de políticas para comunicarse con el proveedor de servicios web de destino y el otro conjunto de adjuntos de conjunto de políticas para comunicarse con el STS. Los conjuntos de políticas y los enlaces que se utilizan al comunicarse con el proveedor de servicios web se adjuntan al cliente de servicios web. En cambio, los conjuntos de políticas y los enlaces que permiten la comunicación con el STS no se adjunta directamente a los clientes de servicios web. Los conjuntos de políticas y los enlaces que permiten la comunicación con el STS, en cambio, se especifican como propiedades personalizadas en el documento de enlace de cliente de servicios web. Puede utilizar enlaces generales o enlaces específicos de aplicación para comunicarse con un STS. El uso de un enlace general para acceder a un STS es directo y sólo se debe especificar el nombre del enlace general en las propiedades personalizadas.

El procedimiento para configurar enlaces específicos de aplicación para acceder a un STS implica más cosas. La consola administrativa está diseñada para gestionar los adjuntos de conjunto de políticas a fin de comunicarse con un proveedor de servicio web. La consola no está diseñada para gestionar un segundo conjunto de adjuntos de conjunto de políticas a fin de comunicarse con un STS. No obstante, puede utilizar la consola administrativa para gestionar un adjunto de conjunto de políticas con el fin de acceder a un STS, tal como se describe en el procedimiento.

Utilice la consola administrativa para adjuntar el conjunto de políticas que se utiliza para acceder a un STS a un cliente de servicios web y, a continuación, crear y modificar un enlace específico de aplicación. Una vez que se ha completado la configuración de enlace, desasocie el conjunto de políticas y los enlaces del cliente de servicios web. Este procedimiento es necesario porque el paso siguiente es adjuntar el conjunto de políticas y los enlaces para comunicarse con el proveedor de servicios web de destino. Los enlaces específicos de aplicación desasociados no se suprimen del sistema de archivos, por lo que las propiedades personalizadas del cliente de servicios web pueden hacer referencia correctamente a los enlaces específicos de aplicación desasociados.

El procedimiento utiliza un conjunto de políticas de aplicación predeterminado, Username WSHTTPS default, como ejemplo para describir los pasos de configuración para acceder al STS. Los pasos también se pueden aplicar a otros conjuntos de políticas. En el ejemplo se utiliza la aplicación de servicios web, JaxWSServicesSamples. JaxWSServicesSamples no está instalada de forma predeterminada.

Procedimiento

  1. Importe el conjunto de políticas Username WSHTTPS default. En este ejemplo se utiliza la política predeterminada Username WSHTTPS para ofrecer una demostración del procedimiento, pero puede utilizar otro conjunto de políticas para configurar los enlaces, si el conjunto de políticas cumple los requisitos de política del STS externo.
    1. Pulse Servicios > Conjuntos de políticas > Conjuntos de políticas de aplicación.
    2. Pulse Importar.
    3. Seleccione Desde el repositorio predeterminado.
    4. Seleccione el conjunto de políticas WSHTTPS default.
    5. Pulse Aceptar para importar el conjunto de políticas.
  2. Conecte un conjunto de políticas para el cliente de confianza. Pulse Aplicaciones > Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples > Conjuntos de políticas y enlaces del cliente de servicio. Los pasos pertenecientes a la conexión y desconexión del conjunto de políticas y la configuración del enlace de cliente de confianza son obligatorios sólo si se utiliza un enlace específico de aplicación para acceder al STS externo. Puede omitir estos pasos e ir al paso que describe la configuración de comunicación con el STS, si utiliza un enlace general para acceder al STS externo.
    1. Seleccione el recuadro de selección para el recurso de cliente de servicios web.
    2. Pulse Conectar conjunto de políticas de cliente.
    3. Seleccione el conjunto de políticas Username WSHTTPS default.
    En este paso se conecta el conjunto de políticas con el cliente de confianza de servicios web, como lo haría para utilizar este conjunto de políticas para que el cliente de aplicaciones acceda a los servicios web de destino. Sin embargo, puesto que prevé utilizar, en cambio, el conjunto de políticas WSHTTPS Username default para acceder a un STS externo, el conjunto de políticas sólo se conecta temporalmente al cliente de servicios Web. El objetivo de este paso es permitir utilizar la consola administrativa para crear o modificar el documento de enlace de cliente.
  3. Configure el enlace de cliente de confianza.
    1. Seleccione de nuevo el recurso de cliente de servicios web.
    2. En el panel Conjuntos de políticas y enlaces del cliente de servicio, pulse Asignar enlace.
    3. Pulse Nuevo enlace específico de la aplicación para crear un enlace específico de la aplicación.
    4. Especifique un nombre de configuración de enlace para el nuevo enlace específico de aplicación. En este ejemplo, el nombre de enlace es SamlTCSample.
    5. Añada el tipo de política Transporte SSL al enlace. Opcionalmente, puede modificar los valores de NodeDefaultSSLSettings. Pulse Seguridad > Certificado SSL y gestión de claves > Configuraciones SSL > NodeDefaultSSLSettings.
  4. Opcional: Puede crear un enlace de transporte HTTP siguiendo los pasos anteriores si desea configurar un nombre de usuario y una contraseña para añadirlos a la cabecera HTTP o si desea configurar un proxy. Si decide no crear un enlace de transporte HTTP, el entorno de ejecución de los servicios web utiliza los valores de transporte HTTP predeterminados.
  5. Añada el tipo de política WS-Security al enlace y, a continuación, modifique los valores de autenticación.
    1. Pulse Aplicaciones > Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples > Conjuntos de políticas y enlaces del cliente de servicio > SamlTCSample > Añadir > WS-Security > Autenticación y protección > request:uname_token.
    2. Pulse Aplicar.
    3. Seleccione Manejador de retorno de llamada.
    4. Especifique un nombre de usuario y una contraseña (y confirme la contraseña) para autenticar el cliente de servicios web en el STS externo.
    5. Pulse Aceptar y Guardar.
  6. Después de guardar los valores de enlace, vuelva al panel Conjuntos de políticas y enlaces del cliente de servicio para desconectar el conjunto de políticas y los enlaces.
    1. Pulse Aplicaciones > Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples > Conjuntos de políticas y enlaces del cliente de servicio.
    2. Pulse el recuadro de selección para el recurso de cliente de servicios web.
    3. 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.
  7. Importe el certificado SSL del STS externo.
    1. Pulse Seguridad > Certificado SSL y gestión de claves > Gestionar configuraciones de seguridad de punto final > punto_final_servidor_o_nodo > Almacenes de claves y certificados > NodeDefaultTrustStore > Certificados de firmante.
    2. Pulse Recuperar de puerto.
    3. Especifique el nombre de host y el número de puerto del servidor STS externo y asigne un alias al certificado. Utilice el puerto SSL del STS.
    4. Pulse Recuperar información de firmante.
    5. Pulse Aplicar y Guardar para copiar el certificado recuperado en el objeto NodeDefaultTrustStore.
  8. Opcional: 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, debe 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.

Resultados

Después de llevar a cabo estos pasos satisfactoriamente, el cliente de servicios web está listo para enviar solicitudes al STS externo. Para habilitar esta función, se han activado las condiciones y los valores siguientes al completar el procedimiento:
  • Adjunte un conjunto de políticas y enlaces que propaguen señales SAML. Por ejemplo, adjunte el conjunto de políticas SAML11 Bearer WSHTTPS default y el enlace general de ejemplo Saml Bearer Client al cliente de servicios web.
  • El conjunto de políticas Username WSHTTPS default y un enlace específico de aplicación, SamlTCSample, se referencian en el enlace de ejemplo Saml Bearer Client y se configuran para acceder al STS externo.
  • El certificado SSL del STS externo SSL se ha recuperado y añadido al almacén de confianza NodeDefaultTrustStore.
  • Para confirmar que ha habilitado correctamente la función, puede configurar el valor de rastreo, com.ibm.ws.wssecurity.*=all=enabled. El rastreo muestra que el STS emite aserciones SAML, por ejemplo:
    [8/23/09 18:26:59:252 CDT] 0000001f TrustSecurity 3   Security Token Service response:
    [8/23/09 18:26:59:392 CDT] 0000001f TrustSecurity 3   
    <?xml version="1.0" encoding="UTF-8"?><s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
       xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
        <s:Header>
            <a:Action s:mustUnderstand="1">http://docs.oasis-open.org/ws-sx/ws-trust/200512/RSTRC/IssueFinal</a:Action>
            <a:RelatesTo>urn:uuid:663A7B27BA8EB2CF9D1251070029934</a:RelatesTo>
            <o:Security xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" s:mustUnderstand="1">
                <u:Timestamp u:Id="_0">
                    <u:Created>2009-08-23T23:26:57.664Z</u:Created>
                    <u:Expires>2009-08-23T23:31:57.664Z</u:Expires>
                </u:Timestamp>
            </o:Security>
        </s:Header>
        <s:Body>
          <trust:RequestSecurityTokenResponseCollection xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
            <trust:RequestSecurityTokenResponse>
              <trust:Lifetime>
                <wsu:Created 
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2009-08-23T23:26:57.648Z</wsu:Created>
                <wsu:Expires 
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2009-08-24T09:26:57.648Z</wsu:Expires>
              </trust:Lifetime>
            <wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
              <a:EndpointReference>
                 <a:Address>https://taishan.austin.ibm.com:9443/WSSampleSei/EchoService12</a:Address>
                  </a:EndpointReference>
            </wsp:AppliesTo>
            <trust:RequestedSecurityToken>
              <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" MajorVersion="1" MinorVersion="1" 
    AssertionID="_3c656382-9916-4e5f-9a16-fe0287dfc409" Issuer="http://svt193.svt193domain.com/Trust" IssueInstant="2009-08-23T23:26:57.663Z">
              <saml:Conditions NotBefore="2009-08-23T23:26:57.648Z" NotOnOrAfter="2009-08-24T09:26:57.648Z">
              <saml:AudienceRestrictionCondition>
              <saml:Audience>https://taishan.austin.ibm.com:9443/WSSampleSei/EchoService12</saml:Audience>
              </saml:AudienceRestrictionCondition>
              </saml:Conditions>
              <saml:AuthenticationStatement AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password" 
    AuthenticationInstant="2009-08-23T23:26:57.640Z">
              <saml:Subject>
              <saml:SubjectConfirmation>
              <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</saml:ConfirmationMethod>
              </saml:SubjectConfirmation>
              </saml:Subject>
              </saml:AuthenticationStatement>
                <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                <ds:SignedInfo>
                <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
                <ds:Reference URI="#_3c656382-9916-4e5f-9a16-fe0287dfc409">
                <ds:Transforms>
                <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                <ds:DigestValue>YGySZX4VPv25R+oyzFpE0/T/tjs=</ds:DigestValue>
                </ds:Reference>
                </ds:SignedInfo>
                     <ds:SignatureValue>eP68...Vr08=</ds:SignatureValue>
                       <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
                          <X509Data>
                            <X509Certificate>MII...ymqg3</X509Certificate>
                          </X509Data>
                        </KeyInfo>
                      </ds:Signature>
                 </saml:Assertion>
             </trust:RequestedSecurityToken>
           <trust:RequestedAttachedReference>
              <o:SecurityTokenReference xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                <o:KeyIdentifier 
    ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID">_3c656382-9916-4e5f-9a16-fe0287dfc409</o:KeyIdentifier>
                </o:SecurityTokenReference>
            </trust:RequestedAttachedReference>
            <trust:RequestedUnattachedReference>
              <o:SecurityTokenReference xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                 <o:KeyIdentifier 
    ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID">_3c656382-9916-4e5f-9a16-fe0287dfc409</o:KeyIdentifier>
              </o:SecurityTokenReference>
            </trust:RequestedUnattachedReference>
            <trust:TokenType>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1</trust:TokenType>
            <trust:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</trust:RequestType>
            <trust:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer</trust:KeyType>
            </trust:RequestSecurityTokenResponse>
            </trust:RequestSecurityTokenResponseCollection>
        </s:Body>
    </s:Envelope>

Qué hacer a continuación

Realice la configuración del cliente y del proveedor de servicios web. Consulte la información sobre cómo configurar enlaces de cliente y proveedor para la señal SAML bearer para obtener más información.

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_configsamlpsbindsts
File name: twbs_configsamlpsbindsts.html