Propriétés personnalisées de l'intercepteur de relations de confiance (TAI) SSO Web SAML

Les tableaux ci-dessous répertorient les propriétés personnalisées de l'intercepteur de relations de confiance (TAI) SAML (Security Assertion Markup Language). Vous pouvez définir ces propriétés dans le panneau des propriétés personnalisées de TAI SAML à l'aide de la console d'administration.

Pour attribuer des noms de propriétés uniques qui identifient chaque fournisseur de services de connexion unique (SSO) possible, un sso_<id> est inscrit dans le nom de propriété et utilisé dans le but de regrouper toutes les propriétés associées à chaque partenaire SSO. Les sso_<id> sont numérotés de manière séquentielle pour chaque partenaire de fournisseur de services SSO.

Les propriétés personnalisées TAI SAML peuvent être regroupées en trois catégories :
  1. Propriétés globales - ces propriétés s'appliquent à tous les partenaires SSO configurés pour TAI SAML.
  2. Propriétés IdP - ces propriétés s'appliquent à tous les fournisseurs de services configurés pour TAI SAML. Pour attribuer des noms de propriétés uniques qui identifient chaque partenaire fournisseur d'identité, un idp_<id> est inscrit dans le nom de propriété et utilisé dans le but de regrouper toutes les propriétés associées à chaque partenaire IdP SSO.
  3. Propriétés du fournisseur de services - ces propriétés s'appliquent à un fournisseur de services et sont regroupées pour chaque partenaire fournisseur de services SSO dans un sso_<id> unique.
Remarque : Tous les noms de propriétés personnalisées sont dépendants maj/min.

Le tableau ci-dessous décrit les propriétés personnalisées TAI SAML globales :

Tableau 1. Propriétés personnalisées TAI SAML globales
Nom de la propriété Valeurs Description
targetUrl Vous pouvez spécifier une valeur d'URL. Cette propriété est remplacée par sso_<id>.sp.targetUrl. Il s'agit de l'URL cible par défaut suite à la validation de SAMLResponse lorsqu'aucun RelayState n'a été reçu de l'IdP.
useRelayStateForTarget Vous pouvez indiquer l'une des valeurs suivantes :
  • true (valeur par défaut)
  • false
This property is overridden by sso_<id>.sp. useRelayStateForTarget. Elle permet de préciser s'il convient d'utiliser RelayState en tant qu'URL cible.
allowedClockSkew Vous pouvez indiquer un nombre positif. La valeur par défaut est de trois minutes. This property is overridden by sso_<id>.sp. allowedClockSkew. Elle permet d'indiquer le décalage d'horloge admis (en minutes) lors de la validation du jeton SAML.
enforceTaiCookie Vous pouvez indiquer l'une des valeurs suivantes :
  • true (valeur par défaut)
  • false
This property is overridden by sso_<id>.sp. enforceTaiCookie. Elle permet de préciser si TAI SAML doit vérifier si le cookie LTPA est mis en correspondance avec un sujet créé pour le partenaire SSO.
preventReplayAttackScope Cette propriété ne comporte pas de valeur par défaut. Vous pouvez spécifier la valeur suivante :
  • serveur
Par défaut, le TAI SAML utilise un cache distribué pour stocker des ID d'assertion SAML destinés à empêcher toute attaque par réinsertion. Si vous affectez la valeur server à cette propriété, le TAI SAML utilise un cache local à la place.
replayAttackTimeWindow Vous pouvez spécifier une valeur entière. La valeur par défaut est de 30 minutes. Cette propriété spécifie la durée, en minutes, au cours de laquelle la deuxième demande est rejetée si deux jetons SAML identiques sont reçus par le TAI. See also sso_<id>.sp. preventReplayAttack.
retryOnceAfterTrustFailure Vous pouvez indiquer l'une des valeurs suivantes :
  • true
  • false
Définissez cette propriété sur la valeur true pour que l'exécution recharge le magasin de relations de confiance lorsque la validation a échoué. Ceci permet de mettre à jour le fichier de clés avec de nouveaux certificats IdP lorsque le serveur d'applications est en cours d'exécution.
redirectToIdPonServerSide Vous pouvez indiquer l'une des valeurs suivantes :
  • true (valeur par défaut)
  • false
This property is overridden by sso_<id>.sp. redirectToIdPonServerSide. Cette propriété permet d'indiquer que le TAI doit être réacheminé vers l'IdP proprement dit. Affectez la valeur false à cette propriété pour effectuer un réacheminement côté client. Affectez la valeur false à cette propriété si des fragments d'URL sont perdus lors du réacheminement et pour que le TAI effectue un réacheminement côté client.

Le tableau ci-dessous décrit les propriétés personnalisées de TAI SAML IdP:

Tableau 2. Propriétés personnalisées de TAI SAML IdP
Nom de la propriété Valeurs Description
sso_<id>.idp_<id>.SingleSignOnUrl Vous pouvez spécifier une valeur d'URL. Cette propriété personnalisée indique l'URL du service SSO de l'IdP.
sso_<id>.idp_<id>.allowedIssuerDN Cette propriété personnalisée ne possède pas de valeur par défaut. Cette propriété personnalisée spécifie le nom distinctif de sujet du certificat qui est autorisé à signer le jeton SAML envoyé par le fournisseur d'identité. Si le jeton SAML n'est pas signé par ce certificat, il est rejeté. Si cette propriété est spécifiée, la propriété personnalisée sso_<id>.sp.wantAssertionSigned doit avoir pour valeur true. Utilisez cette propriété lorsque votre fichier de clés certifiées contient non pas le certificat de signataire du fournisseur d'identité, mais l'émetteur du certificat de signataire. Cela vous empêchera d'autoriser tous les signataires ayant des certificats émis par le même émetteur.
sso_<id>.idp_<id>.allowedIssuerName Cette propriété personnalisée ne possède pas de valeur par défaut. Cette propriété personnalisée spécifie la valeur de l'élément d'émetteur <saml:Issuer> dans le jeton SAML. Le jeton SAML reçu de l'IdP est rejeté si l'émetteur dans le jeton ne correspond pas à cette valeur.

Le tableau ci-dessous décrit les propriétés personnalisées TAI SAML du fournisseur de services :

Tableau 3. Propriétés personnalisées du TAI SAML du fournisseur de services
Nom de la propriété Valeurs Description
sso_<id>.sp.acsUrl Cette propriété ne comporte pas de valeur par défaut. Vous pouvez indiquer l'une des valeurs suivantes :
  • URL du service consommateur d'assertion (ACS) : https://<nom_hôte>:<sslport>/samlsps/<chaîne de masque URI>
  • URL de l'application métier
Il s'agit de la seule propriété obligatoire pour chaque sso_<id>. Elle spécifie l'URL de l'ACS ou de l'application métier.
Si vous avez besoin de plusieurs points d'entrée similaires pour vos flux de travaux SAML, vous pouvez spécifier une URL avec un caractère générique à la fin de la chaîne à la place d'une chaîne de masque URI spécifique pour cette propriété. Par exemple :
  • https://<serveur>/<racine_contexte>/ep1/path1/p*
  • https://<serveur>/<racine_contexte>/ep1/*
sso_<id>.sp.cookiegroup Cette propriété ne comporte pas de valeur par défaut. Cette propriété spécifie une balise à ajouter à un cookie ltpa pour le partenaire SAML SSO configuré. Lorsqu'une requête Web est reçue avec un cookie ltpa, ce cookie n'est valide que si la balise correspond à cette valeur.
sso_<id>.sp.EntityID Par défaut, la valeur sso_<id>.sp.aclUrl est attribuée à cette propriété. Cette propriété est utilisée pour vérifier AudienceRestriction dans l'assertion SAML.
sso_<id>.sp.targetUrl Cette propriété ne comporte pas de valeur par défaut. Cette propriété indique l'URL de l'application cible. Elle est utilisée lorsque la demande du client ne contient pas RelayState.
sso_<id>.sp.useRelayStateForTarget Vous pouvez indiquer l'une des valeurs suivantes :
  • true (valeur par défaut) - indiquez cette valeur si vous souhaitez utiliser la valeur de RelayState dans la demande du client en tant qu'URL de l'application cible.
  • false - indiquez cette valeur si vous souhaitez utiliser la valeur de sso_<id>.sp.targetUrl en tant qu'URL de l'application cible.
Cette propriété indique s'il convient d'utiliser ou non la valeur RelayState reçue dans la demande du client en tant qu'URL de l'application cible. Si la valeur false est attribuée à cette propriété, la propriété sso_<id>.sp.targetUrl est utilisée en tant qu'URL de l'application cible.
sso_<id>.sp.login.error.page Cette propriété ne comporte pas de valeur par défaut. Cette propriété spécifie la page d'erreur, la page de connexion IdP ou la classe de mappage personnalisé vers laquelle une demande de client authentifiée est réacheminée.

Si une classe de mappage personnalisée est spécifiée pour cette propriété personnalisée, le fichier .jar qui contient la classe personnalisée doit être placé dans le répertoire (WAS_HOME)/lib ou (WAS_HOME)/lib/ext.

sso_<id>.sp.acsErrorPage Cette propriété ne comporte pas de valeur par défaut. Cette propriété est utilisée pour remplacer sso_<id>.sp.login.error. page.
sso_<id>.sp.allowedClockSkew Cette propriété ne comporte pas de valeur par défaut. Cette propriété indique la durée, en minutes, ajoutée au délai d'expiration du jeton SAML envoyé par l'IdP.
sso_<id>.sp.trustStore Cette propriété ne comporte pas de valeur par défaut. Cette propriété indique le fichier de clés certifiées pour la validation de la signature SAML. Elle indique le nom d'un fichier de clés géré.
sso_<id>.sp.trustAnySigner Vous pouvez indiquer l'une des valeurs suivantes :
  • false (valeur par défaut) - le certificat de signataire est vérifié pour la validation des relations de confiance
  • true - un certificat de signataire est digne de confiance sans validation des relations de confiance
  • meilleures pratiques : N'utilisez cette propriété personnalisée que pour l'établissement d'un diagnostique. Ne l'utilisez pas dans un environnement de production.
Cette propriété indique si le certificat de signataire du jeton SAML est vérifié pour la validation des relations de confiance. Si la valeur true est attribuée à cette propriété, tout certificat de signataire est digne de confiance.
sso_<id>.sp.keyStore Cette propriété est requise pour la réception et le traitement des assertions EncryptedAssertions et n'a pas de valeur par défaut. Cette propriété indique le nom du fichier de clés géré qui contient la clé privée permettant de déchiffrer une assertion SAML chiffrée.
Exemples :
  • myKeyStoreRef
  • name=myKeyStoreRef managementScope=(cell):myCell:(node):myNode
myKeyStoreRef
sso_<id>.sp.keyName Cette propriété est requise pour la réception et le traitement des assertions EncryptedAssertions et n'a pas de valeur par défaut. Cette propriété spécifie le nom de clé pour le déchiffrement de l'assertion SAML.
sso_<id>.sp.keyPassword Cette propriété est requise pour la réception et le traitement des assertions EncryptedAssertions et n'a pas de valeur par défaut. Cette propriété spécifie le mot de passe de clé pour le déchiffrement de l'assertion SAML.
sso_<id>.sp.keyAlias Cette propriété est requise pour la réception et le traitement des assertions EncryptedAssertions et n'a pas de valeur par défaut. Cette propriété spécifie l'alias de clé pour le déchiffrement de l'assertion SAML.
sso_<id>.sp.wantAssertionsSigned Vous pouvez indiquer l'une des valeurs suivantes :
  • true (valeur par défaut) - le fournisseur de services requiert l'IdP pour signer l'assertion SAML
  • false - l'IdP n'est pas tenu de signer l'assertion SAML
Si la valeur false est attribuée à cette propriété, il n'est pas obligatoire de signer l'assertion SAML et la signature n'est pas validée.
sso_<id>.sp.preserveRequestState Vous pouvez indiquer l'une des valeurs suivantes :
  • true (valeur par défaut) - l'état du client est sauvegardé et restauré lors du réacheminement vers la connexion IdP
  • false - l'état du client n'est pas sauvegardé
Lorsque le fournisseur de services réachemine la demande du client vers la connexion IdP, cette propriété indique si l'état du client doit être sauvegardé et restauré à l'issue de la demande du client.
sso_<id>.sp.enforceTaiCookie Vous pouvez indiquer l'une des valeurs suivantes :
  • true (valeur par défaut)
  • false
Cette propriété permet de préciser si TAI SAML doit vérifier si le cookie LTPA est mis en correspondance avec un sujet créé pour le partenaire SSO.
sso_<id>.sp.realmName Il peut s'agir de toute valeur de chaîne. Par défaut, le nom de l'émetteur SAML est attribué à cette propriété. Cette propriété spécifie un attribut SAML et est utilisé conjointement avec realmNameRange. La valeur de cet attribut est utilisée en tant que domaine du sujet. Si ce domaine n'existe pas dans la liste des domaines spécifiée par realmNameRange, le domaine est rejeté.
sso_<id>.sp.realmNameRange Cette propriété n'a pas de valeur par défaut. Cette propriété spécifie une liste des noms de domaine admis, et est utilisée conjointement avec realmName. Reportez-vous à la description de sso_<id>.sp.realmName.
sso_<id>.sp.retryOnceAfterTrustFailure Vous pouvez indiquer l'une des valeurs suivantes :
  • true
  • false
Définissez cette propriété sur la valeur true pour que l'exécution recharge le magasin de relations de confiance lorsque la validation a échoué. Ceci permet de mettre à jour le fichier de clés avec de nouveaux certificats IdP lorsque le serveur d'applications est en cours d'exécution.
sso_<id>.sp.principalName Il peut s'agir de toute valeur de chaîne. Par défaut, l'ID de nom de sujet est attribué à cette propriété. Cette propriété spécifie un attribut SAML. La valeur de cet attribut est utilisée en tant que principal du sujet.
sso_<id>.sp.uniqueId Il peut s'agir de toute valeur de chaîne. Par défaut, l'ID de nom de sujet est attribué à cette propriété. Cette propriété spécifie un attribut SAML. La valeur de cet attribut est utilisée en tant qu'uniqueId du sujet.
sso_<id>.sp.groupName Cette propriété ne comporte pas de valeur par défaut. Cette propriété spécifie un attribut SAML. La valeur de cet attribut est utilisée en tant que groupes dans le sujet.
sso_<id>.sp.defaultRealm Vous pouvez indiquer l'une des valeurs suivantes :
  • IssuerName (valeur par défaut) - utilisez Issuer du jeton SAML en tant que domaine par défaut
  • NameQualifier - utilisez le NameQualifier du jeton SAML en tant que domaine par défaut
Cette propriété personnalisée indique si Issuer ou NameQualifier de l'assertion SAML est utilisé en tant que domaine par défaut.
sso_<id>.sp.useRealm Cette propriété ne comporte pas de valeur par défaut. Cette propriété indique un nom de domaine et est utilisée pour remplacer le domaine par défaut. Elle remplace également la propriété realmName.
sso_<id>.sp.idMap Vous pouvez indiquer l'une des valeurs suivantes :
  • idAssertion (valeur par défaut) - l'utilisateur spécifié dans l'assertion SAML n'est pas vérifié dans le registre local
  • localRealm - l'utilisateur du jeton SAML est vérifié dans le registre utilisateur local
  • localRealmThenAssertion - si l'utilisateur est introuvable dans le registre local, IDAssertion est utilisé
Cette propriété indique la manière dont le jeton SAML est mis en correspondance avec le sujet.
sso_<id>.sp.groupMap Vous pouvez indiquer l'une des valeurs suivantes :
  • localRealm - spécifiez cette valeur pour mettre en correspondance les groupes de jetons SAML aux groupes et groupes parent trouvés dans le registre utilisateur local
  • addGroupsFromLocalRealm - pour mettre en correspondance les groupes de jetons SAML avec des groupes et des groupes parent dans le registre d'utilisateurs local. L'appartenance au groupe pour cet utilisateur contiendra les groupes pour l'assertion SAML et les groupes trouvés dans le registre d'utilisateurs local.
Cette propriété est utilisée avec IDAssertion et indique la manière dont le jeton SAML est mis en correspondance avec les groupes.
sso_<id>.sp.userMapImpl Cette propriété ne comporte pas de valeur par défaut. Cette propriété spécifie la classe de module de mappage d'utilisateur personnalisé. Elle est utilisée pour mettre en correspondance un ID utilisateur dans le jeton SAML avec un autre ID utilisateur qui existe dans le registre utilisateur local.

La classe de mappage personnalisée doit implémenter l'interface com.ibm.wsspi.security.web.saml.UserMapping. Le fichier .jar contenant la classe personnalisée doit être placé dans le répertoire (WAS_HOME)/lib ou (WAS_HOME)/lib/ext.

sso_<id>.sp.X509PATH Cette propriété ne comporte pas de valeur par défaut. Cette propriété spécifie le magasin de certificats utilisé pour les certificats intermédiaires utilisés dans le cadre de la validation de la signature SAML.
sso_<id>.sp.CRLPATH Cette propriété ne comporte pas de valeur par défaut. Cette propriété spécifie le magasin de certificats utilisé pour la liste de révocation de certificat utilisée dans le cadre de la validation de la signature SAML.
sso_<id>.sp.filter Cette propriété ne comporte pas de valeur par défaut. Chaque propriété est utilisée pour spécifier une condition comparée à la requête HTTP afin de déterminer si la requête HTTP est sélectionnée ou non pour un partenaire SSO Web SAML. Voir la section Propriété du filtre TAI SAML pour plus d'informations sur cette propriété.
sso_<id>.sp.preventReplayAttack Vous pouvez indiquer l'une des valeurs suivantes :
  • true (valeur par défaut)
  • false
Cette propriété est utilisée pour indiquer si l'intercepteur de relations de confiance SAML doit empêcher l'envoi de deux jetons SAML identiques dans les demandes du client. Cette propriété est utilisée conjointement avec la propriété globale replayAttackTimeWindow.
sso_<id>.sp.preventReplayAttackScope Cette propriété ne comporte pas de valeur par défaut. Vous pouvez spécifier la valeur suivante :
  • serveur
Par défaut, le TAI SAML utilise un cache distribué pour stocker des ID d'assertion SAML destinés à empêcher toute attaque par réinsertion. Si vous affectez la valeur server à cette propriété, le TAI SAML utilise un cache local à la place.
sso_<id>.sp.trustedAlias Cette propriété ne comporte pas de valeur par défaut. Si cette propriété est spécifiée, seule la clé spécifiée par cet alias est utilisée pour valider la signature dans l'assertion SAML. Si la signature de l'assertion SAML entrante de SAMLResponse ne contient pas l'élément KeyInfo, spécifiez cette propriété pour résoudre l'élément KeyInfo.
sso_<id>.sp.redirectToIdPonServerSide Vous pouvez indiquer l'une des valeurs suivantes :
  • true (valeur par défaut)
  • false
Cette propriété permet d'indiquer que le TAI doit être réacheminé vers l'IdP proprement dit. Affectez la valeur false à cette propriété si des fragments d'URL sont perdus lors du réacheminement et pour que le TAI effectue un réacheminement côté client.

Propriété du filtre TAI SAML

La propriété du filtre TAI SAML sp.filter est utilisée lorsqu'un client appelle directement une application de fournisseur de services protégée, sans authentification auprès de l'IdP. La propriété de filtre est généralement utilisée conjointement avec la propriété sp.login.error.page pour réacheminer une demande de client authentifiée vers l'adresse URL spécifiée par la propriété sp.login.error.page. Les propriétés sp.filter ne s'appliquent pas à une réponse SAML. L'URL de demande contenue dans une réponse SAML est évaluée par rapport à sp.acsURL.

La propriété de filtre indique un ensemble de conditions comparé à la requête HTTP du client pour sélectionner un partenaire de fournisseur de services SSO Web SAML pour le traitement de la requête HTTP. Chaque condition est spécifiée par trois éléments :
  • entrée requise - en règle générale, l'élément d'entrée spécifie un nom d'en-tête HTTP, mais l'URL de requête et l'adresse distante peuvent également être utilisées en tant qu'éléments particuliers
  • opérateur - l'élément d'opérateur spécifie l'une des valeurs suivantes : ==, !=, %=, ^=, < et >
  • valeur de comparaison - cet élément spécifie généralement une chaîne, mais les plages d'adresses IP sont également admises

Les conditions sont évaluées de gauche à droite, tel que spécifié par la valeur de comparaison. Si toutes les conditions de filtre spécifiées par un partenaire de fournisseur de services SSO sont satisfaites dans une requête HTTP, le partenaire de fournisseur de services SSO est sélectionné pour la requête HTTP.

L'élément d'entrée identifie une zone d'en-tête de demande HTTP à extraire de la requête, sa valeur étant ensuite comparée à celle spécifiée dans la propriété de filtre conformément à la spécification de l'opérateur. Si la zone d'en-tête identifiée par l'élément d'entrée est absente de la requête HTTP, la condition est traitée comme n'étant pas satisfaite. L'une des zones d'en-tête HTTP standard peut faire office d'élément d'entrée dans la condition de filtre. Voir la spécification HTTP pour obtenir la liste des en-têtes valides.

Outre les zones d'en-tête HTTP standard, les deux éléments d'entrée spéciaux suivants peuvent être utilisés dans la propriété du filtre :
  • URL de requête - la valeur de comparaison de cette entrée est comparée à l'adresse URL utilisée par l'application client pour formuler la requête
  • adresse distante - la valeur de comparaison de cette entrée est comparée à l'adresse TCP/IP de l'application client qui envoie la demande HTTP

Exemples

Dans l'exemple suivant, la propriété de filtre spécifie une zone d'en-tête HTTP From en entrée avec samluser@xyz.com comme valeur de comparaison et == comme opérateur :
sso_1.sp.filter=From==samluser@xyz.com
Dans ce cas, si une demande du client contient une zone d'en-tête HTTP From avec une valeur samluser@xyz.com, TAI SAML sélectionne le partenaire de fournisseur de services SSO de ce filtre sso_1 pour traiter la demande du client.
Dans l'exemple suivant, la propriété de filtre spécifie une URL avec ivtlanding.jsp comme valeur de comparaison et %= comme opérateur :
sso_2.sp.filter=request-url%=ivtlanding.jsp
Dans ce cas, si l'URL de l'application cible appelée par le client contient la chaîne ivtlanding.jsp, le TAI SAML sélectionne le partenaire SSO de ce filtre sso_2 pour le traitement de la demande du client.
Dans l'exemple ci-dessous, la propriété de filtre spécifie un nom d'application avec DefaultApplication comme valeur de comparaison et == comme opérateur :
sso_3.sp.filter=applicationNames==DefaultApplication
Dans ce cas, si le nom de l'application cible appelée par l'application client est DefaultApplication, le TAI SAML sélectionne le partenaire SSO de ce filtre sso_3 pour le traitement de la demande du client.
Le tableau ci-dessous répertorie les différents opérateurs utilisés dans la propriété de filtre :
Tableau 4. Opérateurs de propriété de filtre
Opérateur Condition Exemple
== Cet opérateur indique une correspondance exacte. L'élément d'entrée doit être égal à la valeur de comparaison. From==jones@my.company.com
%= Cet opérateur indique une correspondance partielle. L'élément d'entrée contient la valeur de comparaison. user-agent%=IE 6request-url%=company.com/urlApp1
^= L'élément d'entrée l'une des valeurs de comparaison. C'est le seul opérateur qui peut être combiné avec l'opérateur |. request-url^=urlApp1|urlApp2| urlApp3
!= L'élément d'entrée ne contient pas la valeur de comparaison. request-url!=test105
> L'élément d'entrée est supérieur à la valeur de comparaison. remote-address>192.168.255.130
< L'élément d'entrée est inférieur à la valeur de comparaison. remote-address<192.168.255.135
; Opérateur logique AND request-url!=test105;From==jones@my.company.com5
Remarque : Il n'y a pas d'opérateur OR logique utilisable avec des propriétés de filtrage.

Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_samltaiproperties
Nom du fichier : rwbs_samltaiproperties.html