Propiedades personalizadas del interceptor de asociación de confianza (TAI) de inicio de sesión único (SSO) web SAML

Las tablas siguientes listan las propiedades personalizadas para el interceptor de asociación de confianza (TAI) de Security Assertion Markup Language (SAML). Puede definir estas propiedades en el panel de propiedades personalizadas para el TAI de SAML utilizando la consola administrativa.

Para asignar nombres de propiedades exclusivos que identifiquen a cada socio de proveedor de servicios (SP) de inicio de sesión único (SSO) posible, se incorpora un sso_<id> en el nombre de propiedad y se utiliza para agrupar las propiedades asociadas a cada socio de SSO. Los sso_<id> están numerados de forma secuencial para cada socio de proveedor de servicios de SSO.

Las propiedades personalizadas del TAI de SAML se pueden agrupar en tres categorías:
  1. Propiedades globales - estas propiedades son aplicables a todos los socios de SSO que se han configurado para el TAI de SAML.
  2. Propiedades de IdP - estas propiedades son aplicables a los proveedores de identidades que se han configurado para el TAI de SAML. Para asignar nombres de propiedades exclusivos que identifiquen a cada socio de proveedor de identidades, se incorpora un idp_<id> en el nombre de propiedad y se utiliza para agrupar las propiedades asociadas a cada socio de IdP de SSO.
  3. Propiedades del proveedor de servicios - estas propiedades son aplicables a un proveedor de servicios y se agrupan para cada socio proveedor de servicios de SSO bajo un único sso_<id>.
Nota: Todos los nombres de propiedades personalizadas son sensibles a mayúsculas y minúsculas.

En la tabla siguiente se describen las propiedades personalizadas del TAI de SAML global:

Tabla 1. Propiedades personalizadas del TAI de SAML global
Nombre de propiedad Valores Descripción
targetUrl Puede especificar cualquier valor de URL. Esta propiedad es alterada temporalmente por sso_<id>.sp.targetUrl. Éste es el URL de destino predeterminado después de la validación satisfactoria de SAMLResponse cuando no se recibe ningún RelayState del IdP.
useRelayStateForTarget Puede especificar uno de los siguientes valores:
  • true (valor predeterminado)
  • false
Esta propiedad se altera temporalmente mediante sso_<id>.sp. useRelayStateForTarget. Se utiliza para indicar si RelayState se debe utilizar como URL de destino.
allowedClockSkew Puede especificar cualquier número positivo. El valor predeterminado es tres minutos. Esta propiedad se altera temporalmente mediante sso_<id>.sp. allowedClockSkew. Se utiliza para especificar el desfase horario permitido en minutos cuando se valida la señal SAML.
enforceTaiCookie Puede especificar uno de los siguientes valores:
  • true (valor predeterminado)
  • false
Esta propiedad se altera temporalmente mediante sso_<id>.sp. enforceTaiCookie. Se utiliza para indicar si el TAI de SAML debe comprobar si una cookie LTPA se correlaciona con un sujeto creado para el socio de SSO.
preventReplayAttackScope Esta propiedad no tiene un valor predeterminado. Puede especificar el siguiente valor:
  • server
De forma predeterminada, el TAI de SAML utiliza una memoria caché distribuida para almacenar los ID de aserción SAML para evitar un ataque por reproducción. Si establece esta propiedad en server, el TAI de SAML utiliza la memoria caché local en su lugar.
replayAttackTimeWindow Puede especificar cualquier valor entero. El valor predeterminado es 30. Esta propiedad especifica el tiempo, en minutos, dentro del cual la segunda solicitud se rechaza si el TAI recibe dos señales SAML idénticas. Consulte también sso_<id>.sp. preventReplayAttack.
retryOnceAfterTrustFailure Puede especificar uno de los siguientes valores:
  • true
  • false
Establezca esta propiedad en true para permitir que el tiempo de ejecución vuelva a cargar el almacén de confianza cuando falle la validación de confianza. Esto permite actualizar el almacén de confianza con certificados de IdP nuevos mientras se ejecuta el servidor de aplicaciones.
redirectToIdPonServerSide Puede especificar uno de los siguientes valores:
  • true (valor predeterminado)
  • false
Esta propiedad se altera temporalmente mediante sso_<id>.sp. redirectToIdPonServerSide. Esta propiedad se utiliza para indicar que el TAI debe direccionarse al propio IdP. Establezca esta propiedad en false para realizar una redirección al lado de cliente. Establezca esta propiedad en false si los fragmentos de URL se pierden en la redirección; el TAI realizará una redirección al lado de cliente.

En la tabla siguiente se describen las propiedades personalizadas del TAI de SAML de IdP:

Tabla 2. Propiedades personalizadas del TAI de SAML de IdP
Nombre de propiedad Valores Descripción
sso_<id>.idp_<id>.SingleSignOnUrl Puede especificar cualquier valor de URL. Esta propiedad personalizada especifica el URL del servicio de inicio de sesión único de IdP.
sso_<id>.idp_<id>.allowedIssuerDN Esta propiedad personalizada no tiene un valor predeterminado. Esta propiedad personalizada especifica el DN de sujeto del certificado que está autorizado a firmar la señal SAML enviada por el IdP. Si la señal SAML no está firmada por este certificado, la señal se rechaza. Si se especifica esta propiedad, la propiedad personalizada sso_<id>.sp.wantAssertionSigned debe ser true. Utilice esta propiedad cuando, en lugar del certificado de firmante del IdP, tiene el emisor del certificado de firmante en el almacén de confianza. Esto impedirá que se admitan todos los firmantes con certificados emitidos por el mismo emisor.
sso_<id>.idp_<id>.allowedIssuerName Esta propiedad personalizada no tiene un valor predeterminado. Esta propiedad personalizada especifica el valor del elemento de emisor <saml:Issuer> en la señal SAML. La señal SAML recibida del IdP se rechaza si el emisor en la señal no coincide con este valor.

En la tabla siguiente se describen las propiedades personalizadas del TAI de SAML del proveedor de servicios:

Tabla 3. Propiedades personalizadas del TAI de SAML del proveedor de servicios
Nombre de propiedad Valores Descripción
sso_<id>.sp.acsUrl Esta propiedad no tiene un valor predeterminado. Puede especificar uno de los siguientes valores:
  • URL del servicio del consumidor de aserción (ACS): https://<nombre_host>:<puerto_ssl>/samlsps/<cualquier serie de patrón de URI>
  • URL de la aplicación empresarial
Esta es la única propiedad necesaria para cada sso_<id>. Especifica el URL de la aplicación empresarial o ACS.
Si necesita tener varios puntos de entrada similares para los flujos de trabajo de SAML, puede especificar un URL con un comodín al final de la serie, en lugar de una serie de patrón de URI específica para esta propiedad. Por ejemplo:
  • https://<servidor>/<raíz_contexto>/ep1/path1/p*
  • https://<servidor>/<raíz_contexto>/ep1/*
sso_<id>.sp.cookiegroup Esta propiedad no tiene un valor predeterminado. Esta propiedad especifica el distintivo que se va a añadir a una cookie ltpa para el socio de SSO SAML configurado. Cuando se recibe una solicitud web con una cookie ltpa, la cookie ltpa sólo es válida si el distintivo coincide con este valor.
sso_<id>.sp.EntityID De forma predeterminada, esta propiedad se establece en sso_<id>.sp.aclUrl. Esta propiedad se utiliza para verificar AudienceRestriction en la aserción SAML.
sso_<id>.sp.targetUrl Esta propiedad no tiene un valor predeterminado. Esta propiedad especifica el URL de la aplicación de destino. Se utiliza cuando RelayState no está presente en la solicitud del cliente.
sso_<id>.sp.useRelayStateForTarget Puede especificar uno de los siguientes valores:
  • true (valor predeterminado) - especifique este valor si desea utilizar el valor de RelayState en la solicitud del cliente como URL de la aplicación de destino.
  • false - especifique este valor si desea utilizar el valor de sso_<id>.sp.targetUrl como URL de la aplicación de destino.
Esta propiedad especifica si el valor de RelayState recibido en la solicitud de cliente se debe utilizar como URL de la aplicación de destino o no. Si esta propiedad se establece en false, la propiedad sso_<id>.sp.targetUrl se utiliza como URL de la aplicación de destino.
sso_<id>.sp.login.error.page Esta propiedad no tiene un valor predeterminado. Esta propiedad especifica la página de error, la página de inicio de sesión IdP o la clase de correlación personalizada a la que se redirige una solicitud de cliente no autenticado.

Si se especifica una clase de correlación personalizada en esta propiedad personalizada, el archivo .jar que contiene la clase personalizada debe colocarse en el directorio (WAS_HOME)/lib o (WAS_HOME)/lib/ext.

sso_<id>.sp.acsErrorPage Esta propiedad no tiene un valor predeterminado. Esta propiedad se utiliza para sustituir sso_<id>.sp.login.error.page.
sso_<id>.sp.allowedClockSkew Esta propiedad no tiene un valor predeterminado. Esta propiedad especifica, en minutos, el tiempo que se añade a la hora de caducidad de la señal SAML enviada por el IdP.
sso_<id>.sp.trustStore Esta propiedad no tiene un valor predeterminado. Esta propiedad especifica el almacén de confianza para validar la firma SAML. Especifica el nombre de un almacén de claves gestionado.
sso_<id>.sp.trustAnySigner Puede especificar uno de los siguientes valores:
  • false (valor predeterminado) - el certificado de firmante se verifica para la validación de confianza
  • true - se confía en cualquier certificado de firmante sin validación de confianza
  • Best practice Best practice: Utilice esta propiedad personalizada solamente con fines de diagnóstico. No la utilice en un entorno de producción.best-practices
Esta propiedad especifica si se verifica el certificado de firmante de la señal SAML para la validación de confianza. Si esta propiedad se establece en true, se confía en cualquier certificado de firmante.
sso_<id>.sp.keyStore Esta propiedad es necesaria para recibir y procesar EncryptedAssertions y no tiene valor predeterminado. Esta propiedad especifica el nombre del almacén de claves gestionado que contiene la clave privada para descifrar una aserción SAML cifrada.
Ejemplos:
  • myKeyStoreRef
  • name=myKeyStoreRef managementScope=(cell):myCell:(node):myNode
myKeyStoreRef
sso_<id>.sp.keyName Esta propiedad es necesaria para recibir y procesar EncryptedAssertions y no tiene valor predeterminado. Esta propiedad especifica el nombre de clave para descifrar la aserción SAML.
sso_<id>.sp.keyPassword Esta propiedad es necesaria para recibir y procesar EncryptedAssertions y no tiene valor predeterminado. Esta propiedad especifica la contraseña de clave para descifrar la aserción SAML.
sso_<id>.sp.keyAlias Esta propiedad es necesaria para recibir y procesar EncryptedAssertions y no tiene valor predeterminado. Esta propiedad especifica el alias de clave para descifrar la aserción SAML.
sso_<id>.sp.wantAssertionsSigned Puede especificar uno de los siguientes valores:
  • true (valor predeterminado) - el proveedor de servicios requiere que el IdP firme la aserción SAML
  • false - no es necesario que la aserción SAML sea firmada por el IdP
Si esta propiedad se establece en false, no es necesario que la aserción SAML esté firmada y la firma no se valida.
sso_<id>.sp.preserveRequestState Puede especificar uno de los siguientes valores:
  • true (valor predeterminado) - el estado del cliente se guarda y se restaura cuando se redirige al inicio de sesión de IdP
  • false - el estado del cliente no se guarda
Cuando el proveedor de servicios redirige la solicitud del cliente al inicio de sesión IdP, esta propiedad especifica si el estado del cliente debe guardarse y restaurarse después de que se haya completado la solicitud del cliente.
sso_<id>.sp.enforceTaiCookie Puede especificar uno de los siguientes valores:
  • true (valor predeterminado)
  • false
Esta propiedad se utiliza para indicar si el TAI de SAML debe comprobar si una cookie LTPA se correlaciona con un sujeto creado para el socio de SSO.
sso_<id>.sp.realmName Puede ser cualquier valor de serie. De forma predeterminada, esta propiedad se establece en el nombre de emisor SAML. Esta propiedad especifica cualquier atributo SAML y se utiliza junto con realmNameRange. El valor de este atributo se utiliza como reino del sujeto. Si este reino no existe en la lista de reinos especificados por realmNameRange, el reino se rechaza.
sso_<id>.sp.realmNameRange Esta propiedad no tiene valor predeterminado. Esta propiedad especifica una lista de nombres de reino permitidos y se utiliza junto con realmName. Establezca la descripción de sso_<id>.sp.realmName.
sso_<id>.sp.retryOnceAfterTrustFailure Puede especificar uno de los siguientes valores:
  • true
  • false
Establezca esta propiedad en true para permitir que el tiempo de ejecución vuelva a cargar el almacén de confianza cuando falle la validación de confianza. Esto permite actualizar el almacén de confianza con certificados de IdP nuevos mientras se ejecuta el servidor de aplicaciones.
sso_<id>.sp.principalName Puede ser cualquier valor de serie. De forma predeterminada, esta propiedad se establece en el ID de nombre del sujeto- Esta propiedad especifica cualquier valor de SAML. El valor de este atributo se utiliza como principal del sujeto.
sso_<id>.sp.uniqueId Puede ser cualquier valor de serie. De forma predeterminada, esta propiedad se establece en el ID de nombre del sujeto- Esta propiedad especifica cualquier valor de SAML. El valor de este atributo se utiliza como ID exclusivo del asunto.
sso_<id>.sp.groupName Esta propiedad no tiene un valor predeterminado. Esta propiedad especifica cualquier valor de SAML. El valor de este atributo se utiliza como grupos del sujeto.
sso_<id>.sp.defaultRealm Puede especificar uno de los siguientes valores:
  • IssuerName (valor predeterminado) - utilizar el emisor de señales SAML como reino por omisión
  • NameQualifier - utilizar el calificador de nombre (NameQualifier) de señales SAML como reino por omisión
Esta propiedad personalizada especifica si el emisor o el NameQualifier de la aserción SAML se utiliza como reino predeterminado.
sso_<id>.sp.useRealm Esta propiedad no tiene un valor predeterminado. Esta propiedad especifica un nombre de reino y se utiliza para alterar temporalmente el reino predeterminado. Esta propiedad también sustituye la a realmName.
sso_<id>.sp.idMap Puede especificar uno de los siguientes valores:
  • idAssertion (valor predeterminado) - el usuario especificado en la aserción SAML no se comprueba en el registro local
  • localRealm - el usuario de la señal SAML se verifica en el registro de usuarios locales
  • localRealmThenAssertion - si el usuario no se encuentra en el registro local, se utiliza IDAssertion
Esta propiedad especifica cómo se correlaciona la señal SAML con el asunto.
sso_<id>.sp.groupMap Puede especificar uno de los siguientes valores:
  • localRealm - especifique este valor para correlacionar los grupos de señales SAML con grupos y grupos padre que se encuentran en el registro de usuarios local
  • addGroupsFromLocalRealm - especifique este valor para correlacionar los grupos de señales SAML con grupos y grupos padres del registro de usuarios local. La pertenencia a grupos de este usuario contendrá los grupos de aserción SAML y los grupos que se encuentren en el registro de usuarios local.
Esta propiedad se utiliza con IDAssertion y especifica cómo se correlaciona la señal SAML con los grupos.
sso_<id>.sp.userMapImpl Esta propiedad no tiene un valor predeterminado. Esta propiedad especifica el nombre de una clase de módulo de correlación de usuarios personalizada. Se utiliza para correlacionar un ID de usuario de la señal SAML con otro ID de usuario que existe en el registro de usuarios local.

La clase de correlación personalizada debe implementar la interfaz com.ibm.wsspi.security.web.saml.UserMapping. El archivo .jar que contiene la clase personalizada debe colocarse en el directorio (WAS_HOME)/lib o (WAS_HOME)/lib/ext.

sso_<id>.sp.X509PATH Esta propiedad no tiene un valor predeterminado. Esta propiedad especifica el almacén de certificados que se utiliza para los certificados de intermediario utilizados para la validación de la firma SAML.
sso_<id>.sp.CRLPATH Esta propiedad no tiene un valor predeterminado. Esta propiedad especifica el almacén de certificados que se utiliza para las listas de revocación de certificados (CRL) utilizadas para la validación de la firma SAML.
sso_<id>.sp.filter Esta propiedad no tiene un valor predeterminado. Esta propiedad se utiliza para especificar una condición que se compara con la solicitud HTTP, para determinar si la solicitud HTTP está seleccionada o no para un socio de inicio de sesión web SAML. Consulte la sección Propiedad de filtro TAI de SAML para obtener más información sobre esta propiedad.
sso_<id>.sp.preventReplayAttack Puede especificar uno de los siguientes valores:
  • true (valor predeterminado)
  • false
Esta propiedad se utiliza para especificar si el TAI de SAML debe evitar que se envíen dos señales SAML idénticas en las solicitudes de cliente. Esta propiedad se utiliza junto con la propiedad global replayAttackTimeWindow.
sso_<id>.sp.preventReplayAttackScope Esta propiedad no tiene un valor predeterminado. Puede especificar el siguiente valor:
  • server
De forma predeterminada, el TAI de SAML utiliza una memoria caché distribuida para almacenar los ID de aserción SAML para evitar un ataque por reproducción. Si establece esta propiedad en server, el TAI de SAML utiliza la memoria caché local en su lugar.
sso_<id>.sp.trustedAlias Esta propiedad no tiene un valor predeterminado. Si se especifica esta propiedad, sólo se utiliza la clave especificada por este alias para validar la firma en la aserción SAML. Si la firma de la aserción SAML de entrada de SAMLResponse no incluye el elemento KeyInfo, especifique esta propiedad para resolver el elemento KeyInfo.
sso_<id>.sp.redirectToIdPonServerSide Puede especificar uno de los siguientes valores:
  • true (valor predeterminado)
  • false
Esta propiedad se utiliza para indicar que el TAI debe direccionarse al propio IdP. Establezca esta propiedad en false si los fragmentos de URL se pierden en la redirección; el TAI realizará una redirección al lado de cliente.

Propiedad de filtro TAI de SAML

La propiedad de filtro TAI de SAML sp.filter se utiliza cuando un cliente invoca una aplicación de proveedor de servicios protegida directamente, sin autenticarse en el IdP. La propiedad de filtro suele utilizarse junto con la propiedad sp.login.error.page para redirigir una solicitud de cliente no autenticada a la dirección URL especificada por la propiedad sp.login.error.page. Las propiedades sp.filter no se aplican a una SAMLResponse. El URL de solicitud en una SAMLResponse se evalúa con sp.acsURL.

La propiedad de filtro especifica un conjunto de condiciones que se comparan con la solicitud HTTP del cliente para seleccionar un proveedor de servicios de inicio de sesión web SAML para procesar la solicitud HTTP. Cada condición se especifica mediante tres elementos:
  • se requiere entrada - el elemento de entrada normalmente especifica un nombre de cabecera HTTP, pero también se pueden utilizar request-url y remote-address como elementos especiales
  • operator - el operador del elemento especifica uno de los valores siguientes: ==, !=, %=, ^=, < y >
  • valor de comparación - este elemento normalmente especifica una serie, pero también se permiten rangos de direcciones IP

Las condiciones se evalúan de izquierda a derecha, tal como especifica el valor de comparación. Si se cumplen todas las condiciones de filtro especificadas por un proveedor de servicios de inicio de sesión único en una solicitud HTTP, el socio del proveedor de servicios de inicio de sesión único se selecciona para la solicitud HTTP.

El elemento de entrada identifica un campo de cabecera de solicitud HTTP para extraerlo de la solicitud y comparar su valor con el valor especificado en la propiedad de filtro según la especificación del operador. Si el campo de cabecera identificada mediante el elemento de entrada no está presente en la solicitud HTTP, se considera que no se cumple la condición. Cualquiera de los campos de cabecera de solicitud HTTP estándar se puede utilizar como el elemento de entrada en la condición de filtro. Consulte la especificación HTTP para obtener la lista de cabeceras válidas.

Además de los campos de cabecera HTTP estándar, también se pueden utilizar los dos siguientes elementos de entrada especiales en la propiedad de filtro:
  • request-url - el valor de comparación de esta entrada se compara con la dirección de URL que la aplicación cliente utiliza para realizar la solicitud
  • remote-address - el valor de comparación de esta entrada se compara con la dirección TCP/IP de la aplicación cliente que ha enviado la solicitud HTTP

Ejemplos

En el ejemplo siguiente, la propiedad de filtro especifica un campo de cabecera HTTP From como entrada con samluser@xyz.com como valor de comparación y == como operador:
sso_1.sp.filter=From==samluser@xyz.com
En este caso, si una solicitud de cliente contiene un campo de cabecera HTTP From con un valor de samluser@xyz.com, el TAI de SAML selecciona el socio proveedor de servicios de inicio de sesión único de este filtro sso_1 para procesar la solicitud del cliente.
En el ejemplo siguiente, la propiedad de filtro especifica un URL con ivtlanding.jsp como valor de comparación y %= como operador:
sso_2.sp.filter=request-url%=ivtlanding.jsp
En este caso, si el URL de la aplicación de destino invocada por el cliente contiene la serie ivtlanding.jsp, el TAI de SAML selecciona el socio de inicio de sesión único de este filtro sso_2 para procesar la solicitud del cliente.
En el ejemplo siguiente, la propiedad de filtro especifica un nombre de aplicación con DefaultApplication como valor de comparación y == como operador:
sso_3.sp.filter=applicationNames==DefaultApplication
En este caso, si el nombre de la aplicación de destino invocada por la aplicación cliente es DefaultApplication, el TAI de SAML selecciona el socio de inicio de sesión único de este filtro sso_3 para procesar la solicitud del cliente.
En la tabla siguiente se enumeran los diferentes operadores utilizados en la propiedad de filtro:
Tabla 4. Operadores de propiedad de filtro
Operador Condición Ejemplo
== Este operador especifica una coincidencia exacta. El elemento de entrada debe ser igual al valor de comparación. From==jones@my.company.com
%= Este operador especifica una coincidencia parcial. El elemento de entrada contiene el valor de comparación. user-agent%=IE 6request-url%=company.com/urlApp1
^= El elemento de entrada contiene uno de los valores de comparación. Éste es el único operador que se puede combinar con el operador |. request-url^=urlApp1|urlApp2| urlApp3
!= El elemento de entrada no contiene el valor de comparación. request-url!=test105
> El elemento de entrada es mayor que el valor de comparación. remote-address>192.168.255.130
< El elemento de entrada es menor que el valor de comparación. remote-address<192.168.255.135
; Operador lógico AND request-url!=test105;From==jones@my.company.com5
Nota: No hay ningún operador lógico OR que pueda utilizar con las propiedades de filtrado.

Icon that indicates the type of topic Reference topic



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