Configuración de enlaces de cliente y proveedor para la señal de clave simétrica SAML holder-of-key

Configure los archivos adjuntos y enlaces de conjunto de políticas de cliente y proveedor para la señal SAML holder-of-key. Esta situación de ejemplo de configuración utiliza una clave simétrica.

Antes de empezar

Después de la instalación, debe crear uno o más perfiles de servidor nuevo o añadir valores de configuración de SAML a un perfil existente. Por ejemplo, en un entorno de despliegue de red, hay varios perfiles. Consulte la información acerca de la configuración de SAML para obtener más información.

Acerca de esta tarea

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. Para poder configurar los enlaces de cliente y proveedor para la señal SAML holder-of-key, debe importar uno de los conjuntos de políticas predeterminados: SAML20 HoK Symmetric WSSecurity predeterminado o SAML11 HoK Symmetric WSSecurity predeterminado. Los conjuntos de políticas SAML11 son casi idénticos a los conjuntos de políticas SAML20, salvo que el conjunto de políticas predeterminado SAML20 HoK Symmetic WSSecurity admite el tipo de señal de SAML Versión 2.0, mientras que el conjunto de políticas predeterminado SAML11 HoK Symmetric WSSecurity admite el tipo de señal de la Versión 1.1.

Una extensión CustomToken define la política de señales SAML en el servidor de aplicaciones. Para crear la extensión CustomToken, defina los parámetros de configuración de señales SAML en términos de propiedades personalizadas en el documento de enlace de cliente y proveedor. Los enlaces generales del ejemplo Saml HoK Symmetric Client y del ejemplo Saml HoK Symmetric Provider contienen la configuración básica de las propiedades personalizadas. Los enlaces de ejemplo de cliente y proveedor contienen información de configuración de tipo de señal SAML11 y SAML20 y, por lo tanto, se pueden utilizar con los 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 con la configuración del archivo adjunto de conjunto de políticas de cliente de servicios web y, a continuación, con la configuración del archivo adjunto de conjunto de políticas de proveedor de servicios web. El ejemplo que se muestra en el procedimiento utiliza la aplicación de servicios web de ejemplo JaxWSServicesSamples.

Procedimiento

  1. Importe los dos conjuntos de políticas predeterminados: SAML20 HoK Symmetric WSSecurity predeterminado y Username WSHTTPS predeterminado.
    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 los dos conjuntos de políticas predeterminados.
    5. Pulse Aceptar para importar los conjuntos de políticas.
    Si no desea que el servidor solicite de forma automática una señal SAML del STS que utiliza el cliente WS-Trust, puede saltarse los pasos 2, 3 y 4 y continuar con el paso 5. Por ejemplo, puede saltarse los pasos 2, 3 y 4, si los servicios web actúan como cliente y autoemiten una señal SAML según la señal SAML original o el cliente de servicios web ya ha adquirido una señal SAML y ha almacenado en memoria caché la señal SAML en el RequestContext.
  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. 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.
  5. 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.
  6. Descargue el archivo de políticas de jurisdicción no restringido. La política de seguridad predeterminada SAML20 HoK Symmetric WSSecurity utiliza el tamaño de clave de cifrado de 256 bits, que requiere el archivo de políticas JCE (Java Cryptography Extension) sin limitaciones. Para obtener más información, consulte el apartado sobre utilización de los archivos de política JCE sin restricciones del tema de ajuste de la seguridad de los servicios Web.
  7. Adjunte el conjunto de políticas predeterminado SAML20 HoK Symmetric WSSecurity y asigne el enlace de ejemplo Saml HoK Symmetric Client al recurso de cliente.
    1. Pulse Aplicaciones > Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples > Conjuntos de políticas y enlaces del cliente de servicio.
    2. Seleccione el recurso de cliente de servicios web.
    3. Pulse Conectar conjunto de políticas de cliente.
    4. Seleccione el conjunto de políticas, SAML20 HoK Symmetric WSSecurity default.
    5. Seleccione de nuevo el recurso de cliente de servicios web.
    6. En el panel Conjuntos de políticas y enlaces del cliente de servicio, pulse Asignar enlace.
    7. Seleccione el enlace general Saml HoK Symmetric Client sample.
    8. Pulse Guardar.
  8. Configure el URL de punto final de STS y el nombre de usuario y la contraseña para autenticarse en el STS.
    1. Pulse Aplicaciones > Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples > Conjuntos de políticas y enlaces del cliente de servicio > Saml HoK Symmetric Client sample > WS-Security > Autenticación y protección.
    2. Pulse gen_saml20token en la tabla Señales de protección.
    3. Pulse Manejador de retorno de llamada.
    4. Modifique la propiedad stsURI y especifique el punto final de STS. Si no utiliza una STS externo y desea que el servidor de aplicaciones emita automáticamente una aserción de poseedor de clave con una clave simétrica, no complete este paso y vaya al paso 8i.
    5. Si es necesario, modifique la propiedad wstrustClientPolicy y cambie el valor por Username WSHTTPS default.
    6. Modifique la propiedad wstrustClientBinding y cambie el valor para que coincida con el enlace específico de la aplicación creado en los pasos anteriores. En este ejemplo, el valor es SamlTCSample. Este paso conecta el conjunto de políticas de cliente WS-Trust. Puede saltarse este paso si no desea que el servidor solicite de forma automática una señal SAML del STS que utiliza el cliente WS-Trust.
    7. Cambie el valor de la propiedad wstrustClientBindingScope, que controla la forma como el servidor de aplicaciones busca el enlace. Establezca el valor de propiedad por application o domain. 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.
    8. Compruebe que el valor de la propiedad confirmationMethod sea Holder-of-key.
    9. Compruebe que el valor de la propiedad keyType sea http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey o el alias symmetrickey. La propiedad wstrustClientWSTNamespace determina cómo se interpreta el alias symmetrickey. En este caso se presupone que se establece en el espacio de nombres WS-Trust 1.3. Si tenía valor WS-Trust 1.2, el alias symmetrickey se interpreta como http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey.
    10. Opcional: Puede modificar la versión SOAP del cliente de confianza predeterminado, que es la misma que la del cliente de aplicación. Establezca la propiedad personalizada wstrustClientSoapVersion en el valor 1.1 para cambiar a SOAP Versión 1.1 o establezca la propiedad en el valor 1.2 para cambiar a SOAP Versión 1.2.
    11. Opcional: Si no está utilizando un STS externo y desea que el servidor de aplicaciones emita automáticamente una aserción de titularidad de clave con una clave simétrica, establezca la propiedad personalizada recipientAlias en el valor del alias de clave del servicio de destino. Si se especifica esta propiedad protegerá la clave simétrica para el servicio de destino. Este alias debe ser un alias de clave válido que esté contenido en el almacén de confianza configurado del emisor SAML. La propiedad TrustStorePath especifica la ubicación del archivo del almacén de confianza. La propiedad TrustStorePath está definida en el archivoSAMLIssuerConfig.properties del servidor de aplicaciones. Por ejemplo, la ubicación del archivo SAMLIssuerConfig.properties a nivel de servidor en un WebSphere Application Server es:
      raíz_servidor_aplicaciones/profiles/$PROFILE/config/cells/$CELLNAME/nodes/$NODENAME/servers/$SERVERNAME/SAMLIssuerConfig.properties
      La ubicación de este archivo a nivel de célula en un WebSphere Application server es:
      raíz_servidor_aplicaciones/profiles/$PROFILE/config/cells/$CELLNAME/sts/SAMLIssuerConfig.properties
    12. Pulse Aplicar y Guardar.
  9. 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.
  10. 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.
  11. 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.
  12. Conecte el conjunto de políticas SAML20 HoK Symmetric WSSecurity default al proveedor de servicios web.
  13. Descargue el archivo de políticas de jurisdicción no restringido. La política de seguridad predeterminada SAML20 HoK Symmetric WSSecurity utiliza el tamaño de clave de cifrado de 256 bits, que requiere el archivo de políticas JCE (Java Cryptography Extension) sin limitaciones. Para obtener más información, consulte el apartado sobre utilización de los archivos de política JCE sin restricciones del tema de ajuste de las aplicaciones de seguridad de los servicios Web.
  14. Asigne el enlace general Saml HoK Symmetric Provider sample.
  15. Pulse Aplicaciones > Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples > Conjuntos de políticas y enlaces del proveedor de servicios > Saml HoK Symmetric Provider sample > WS-Security > Autenticación y protección.
    1. Pulse con_saml20token en la tabla Señales de autenticación.
    2. Pulse el enlace Manejador de devolución de llamada.
    3. Utilice este panel para configurar la configuración de descifrado de clave simétrica incorporada y la validación de firma digital de emisor de señales SAML con el STS externo, tal como se describe en el paso siguiente.
  16. Configure los datos de enlace para descifrar la clave secreta incorporada o la aserción SAML que se protege con la clave pública del destinatario. El STS debe tener acceso a la clave pública del destinatario. Existen dos opciones para configurar las claves de descifrado:
    • Opción 1: Configurar el almacén de claves y una clave privada, del modo siguiente:
      1. Verifique que el campo Nombre de almacén de claves tenga el valor personalizada.
      2. Pulse Configuración de almacén de claves personalizado para ver y editar la configuración del almacén de claves.
      3. Verifique que el valor inicial del archivo de claves sea raíz_servidor_aplicaciones/etc/ws-security/samples/enc-service.jceks.
    • Opción 2: Establecer las propiedades personalizadas en el manejador de devoluciones de llamada de la manera siguiente:
      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 Alias de la clave pública utilizada para el cifrado de SAML
      keyName Nombre de la clave pública del cifrado de SAML
      keyPassword Contraseña del nombre de clave
  17. Añada el certificado firmante de STS al almacén de claves. Este paso es obligatorio si las aserciones de SAML se firman mediante el STS y no se especifica la propiedad personalizada signatureRequired o ésta tiene un valor true. Este almacén de confianza se configura para el proveedor de servicios.
    1. Establezca la propiedad personalizada trustStoreType para que coincida con el tipo de almacén de claves. Los tipos de claves admitidas son: jks, jceks y pkcs12.
    2. Establezca la propiedad personalizada trustStorePath en la ubicación del archivo de almacén de claves. Por ejemplo, raíz_servidor_aplicaciones/etc/ws-security/samples/dsig-issuer.jceks. El archivo dsig_issuer.jceks no se proporciona cuando WebSphere Application Server está instalado, por lo que debe crear el archivo.
    3. Establezca la propiedad personalizada trustStorePassword en el valor codificado de la contraseña del almacén. La contraseña se almacena como una propiedad personalizada y la codifica la consola de administración.
    4. Opcional: Puede establecer la propiedad personalizada trustedAlias en un valor como, por ejemplo, samlissuer. No establezca la propiedad trustedAlias si la señal SAML está firmada por diferentes firmantes, por ejemplo, si el STS delega solicitudes de señal a diferentes proveedores de señal, y cada proveedor firma con un certificado. Si no se especifica esta propiedad personalizada, el entorno de ejecución de servicios web utiliza la contraseña del certificado de firmante en aserciones SAML para validar la firma y, a continuación, verifica el certificado en el almacén de confianza configurado.
    5. Opcional: Puede establecer la propiedad personalizada trustAnySigner en el valor true para que no se permita ninguna validación de certificado. El valor de configuración de confianza Confiar en cualquiera se ignora para fines de validación de firmas SAML.
    6. Opcional: Puede establecer la propiedad personalizada signatureRequired en false, lo que renuncia a la validación de firmas digitales. Sin embargo, por temas de seguridad se recomienda exigir firmar las aserciones SAML y solicitar siempre la validación de firma digital.
    7. Opcional: Puede configurar el destinatario para validar el nombre del emisor o el SubjectDN de certificado del emisor en la aserción SAML o puede validar los dos. Cree una lista de nombres de emisor de confianza, o una lista de SubjectDNs de certificado de confianza, o ambos tipos de listas. Si crea ambas listas, la del nombre de emisor y la de SubjectDN, se verificarán ambas listas. Si el nombre de emisor SAML o el valor de SubjectDN del firmante que ha recibido no está en la lista de confianza, fallará la validación de SAML y se emitirá una excepción. En este ejemplo se muestra cómo crear una lista de emisores de confianza y SubjectDN de confianza.

      Para cada nombre de emisor de confianza, utilice trustedIssuer_n donde n es un entero positivo. Para cada SubjectDN de confianza, utilice trustedSubjectDN_n donde n es 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 comienza por 1 y se incrementa en 1.

      En este ejemplo, se confía en una aserción SAML con el nombre del emisor WebSphere/samlissuer, independientemente del valor SubjectDN del firmante, por lo que se añade la siguiente propiedad personalizada:
      <properties value="WebSphere/samlissuer" name="trustedIssuer_1"/>
      Además, puede confiar en una aserción SAML emitida por IBM/samlissuer, cuando el valor de SubjectDN del firmante es ou,o=ibm,c=us, por lo que se añaden las propiedades personalizadas siguientes:
      <properties value="IBM/samlissuer" name="trustedIssuer_2"/> 
      <properties value="ou=websphere,o=ibm,c=us" name="trustedSubjectDN_2"/> 

      De forma predeterminada, WebSphere Application Server confía en todos los emisores SAML si no define un valor trustedIssuer_n. Si no conoce este comportamiento predeterminado, puede que acepte erróneamente aserciones SAML emitidas por un STS autorizado

    8. Opcional: Puede añadir una lista de entidades emisoras de certificados (CA) no root que se puede utilizar para comprobar la firma de la señal SAML. Para añadir certificados no root, añada una propiedad personalizada denominada X509PATH_n donde n es un entero no negativo como valor de los certificados no root.
    9. Opcional: Puede añadir una lista de listas de revocación de certificados (CRL) que se puede utilizar para validar la firma de la señal SAML. Para añadir las CRL, añada una propiedad personalizada denominada CRLPATH_n, donden es un entero no negativo como valor de las CLR.
    10. Pulse Aplicar y Guardar.
  18. 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 Web Services Security utiliza la configuración de inicio de sesión JAAS especificada para adquirir el nombre de seguridad del usuario y los datos de pertenencia a grupo del registro de usuarios utilizando la señal SAML NameId o NameIdentifier como nombre de usuario.
    1. Pulse Aplicaciones > Tipos de aplicación > Aplicaciones de empresa de WebSphere > JaxWSServicesSamples > Conjuntos de políticas y enlaces del proveedor de servicios > Saml HoK Symmetric Provider sample > WS-Security > Llamantes.
    2. Pulse Nuevo para crear la configuración de 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 es la parte local del elemento CustomToken en la política WS-Security adjunta.
    5. Pulse Aplicar y Guardar.
  19. Reinicie la aplicación de proveedor de servicios web para que las modificaciones en la adjunción de conjunto de políticas puedan entrar en vigor.

Resultados

Cuando haya completado el procedimiento, la aplicación de servicios web JaxWSServicesSamples estará lista para utilizar el conjunto de políticas predeterminado SAML20 HoK Symmetric, el ejemplo Saml HoK Symmetric Client y los enlaces generales del ejemplo Saml HoK Symmetric Provider.

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_configsamlhoktoken
File name: twbs_configsamlhoktoken.html