Propriétés de configuration de l'émetteur SAML

Quand vous créez un jeton SAML auto-généré, vous pouvez indiquer des propriétés de configuration pour ce jeton. Les propriété de configuration sont des paires nom/valeur qui décrivent les informations relatives au fournisseur, telles que l'emplacement de l'émetteur et les chemins d'accès au fichier de clés et au fichier de clés certifiées.

Les propriétés de configuration de l'émetteur SAML peuvent être stockées dans un fichier de propriétés appelé SAMLIssuerConfig.properties. L'utilisation du fichier SAMLIssuerConfig.properties est obsolète dans WebSphere Application Server version 8.

A compter de WebSphere Application Server version 8, vous pouvez également spécifier ces propriétés dans des liaisons de règles WS-Security ou dans les API WSS (Web Services Security) WSSGenerationContext.

Dans la console d'administration, les propriétés sont définies dans les propriétés personnalisées sortantes WS-Security. Un exemple de chemin est Services > Ensembles de règles > Liaisons générales de l'ensemble de règles du client > Saml Bearer Client Sample > WS-Security > Propriétés personnalisées. Vous pouvez également définir les propriétés dans les liaisons de règles WS-Security à l'aide de la tâche d'administration setSAMLIssuerConfigInBinding. Pour plus d'informations, voir Gestion de la configuration des jetons SAML auto-générés à l'aide de commandes wsadmin.

Dans les liaisons WS-Security, ces propriétés peuvent aussi être définies sur le consommateur du jeton SAML ou sur son gestionnaire de rappel. L'ordre des priorités, de la plus forte à la plus faible, est le suivant : gestionnaire de rappel, consommateur du jeton, propriétés générales personnalisées.

Si le générateur de jetons SAML est utilisé pour auto-générer un jeton SAML à l'aide des liaisons WS-Security, deux méthodes sont disponibles :
  1. Il auto-génère le jeton de toutes pièces.
  2. Il auto-génère le jeton à partir d'un jeton existant dans le sujet runAs. Si ce jeton n'est pas dans le sujet, le nouveau jeton est généré de toutes pièces.
Eviter les incidents Eviter les incidents: Si vous souhaitez que le jeton auto-généré soit systématiquement généré de toutes pièces, vous devez définir la propriété personnalisée NameID sur le gestionnaire de rappel du générateur de jetons SAML. Si la propriété NameID n'est pas définie sur le gestionnaire de rappel du générateur de jetons et si le sujet runAs ne contient pas de jeton SAML, la propriété NameID du sujet dans le jeton sera définie sur UNAUTHENTICATED.gotcha

Si le générateur de jetons SAML est utilisé pour générer automatiquement un jeton SAML à l'aide des API WSS, les propriétés personnalisées sont directement ajoutées à com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext à l'aide d'une mappe de hachage. Pour plus d'informations, recherchez com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext dans la documentation Java.

Si un jeton SAML auto-généré est créé à l'aide de l'API WSS com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory, la méthode SAMLTokenFactory.newDefaultProviderConfig() renvoie un objet com.ibm.wsspi.wssecurity.saml.config.ProviderConfig dont les valeurs correspondent aux propriétés spécifiées dans le fichier SAMLIssuerConfig.properties. Si aucun fichier SAMLIssuerConfig.properties n'est spécifié, ce qui correspond au style de programmation recommandé, un objet ProviderConfig avec un contenu vide est renvoyé. Utilisez les méthode d'accès set ProviderConfig pour alimenter son contenu. Pour plus d'informations, recherchez com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory dans la documentation Java.

Emplacement du fichier SAMLIssuerConfig.properties

Un fichier de configuration nommé SAMLIssuerConfig.properties est créé et stocké sur chaque serveur pour contenir les propriétés du fournisseur. Sur un serveur WebSphere le fichier réside dans le référentiel de niveau serveur ou le référentiel de niveau cellule. Dans un environnement non WebSphere, l'emplacement du fichier de configuration est défini par une propriété système Java™. Le nom de cette propriété est com.ibm.webservices.wssecurity.platform.SAMLIssuerConfigDataPath.

Par exemple, sur un serveur WebSphere, l'emplacement du fichier au niveau du serveur est : racine_serveur_app/profiles/$PROFILE/config/cells/$CELLNAME/nodes/$NODENAME/servers/$SERVERNAME/SAMLIssuerConfig.properties

Sur un serveur WebSphere, l'emplacement de ce fichier au niveau de la cellule est le suivant : racine_serveur_app/profiles/$PROFILE/config/cells/$CELLNAME/sts/SAMLIssuerConfig.properties

Propriétés du jeton SAML

Le tableau suivant récapitule les propriétés de configuration du fournisseur.
Tableau 1. Propriétés de configuration du fournisseur pour un nouveau jeton SAML. Utilisez ces propriétés pour contrôler la création du jeton. Ce tableau indique les propriétés utilisées dans le fichier SAMLIssuerConfig.properties et les liaisons de règles WS-Security.
Nom de la propriété SAMLIssuerConfig.properties Nom de la propriété des liaisons de règles Exemple de valeur Description de la propriété
com.ibm.wsspi.wssecurity.dsig.oldEnvelopedSignature com.ibm.wsspi.wssecurity.saml.config.issuer.oldEnvelopedSignature true A n'utiliser que si vous associez la propriété personnalisée JVM com.ibm.wsspi.wssecurity.dsig.enableEnvelopedSignatureProperty à la valeur true. Voir la rubrique relative aux propriétés personnalisées Java Virtual Machine (JVM) pour savoir quand utiliser cette propriété personnalisée JVM.
IssuerFormat com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerFormat urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName Valeur de l'attribut Format de l'élément Issuer dans le jeton SAML.
Remarque : Si vous voulez ajouter l'attribut Format à l'élément Issuer, vous devez spécifier cette propriété.
IssuerURI com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerURI http://www.websphere.ibm.com/SAML/SelfIssuer URI de l'émetteur.
TimeToLiveMilliseconds com.ibm.wsspi.wssecurity.saml.config.issuer.TimeToLiveMilliseconds 3600000 Délai maximum avant l'expiration du jeton. Cette propriété est utilisée pour définir les attributs NotOnOrAfter dans le jeton. NotOnOrAfter est défini sur (currentTime)+TimeToLive+(currentClockSkew).
KeyStoreRef com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreRef name=myKeyStoreRef managementScope=(cell):myCell:(node):myNode Référence à un fichier de clés géré dans le fichier security.xml qui contient la clé de signature.
KeyStorePath com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePath racine_serveur_app/etc/ws-security/samples/dsig-receiver.ks Emplacement du fichier fichier de clés contenant la clé de signature.
Remarque : Vous devez entrer le chemin correspondant à votre installation à la place de la valeur par défaut.
KeyStoreType com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreType JKS Type du fichier de clés.
KeyStorePassword com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePassword motdepasse Mot de passe du fichier de clés (le mot de passe doit être codé par la méthode XOR). Pour plus d'informations, consultez la rubrique relative au codage des mots de passe dans les fichiers.
KeyAlias com.ibm.wsspi.wssecurity.saml.config.issuer.KeyAlias fournisseurSOAP Alias de la clé privée de signature défini dans le magasin de clés.
KeyName com.ibm.wsspi.wssecurity.saml.config.issuer.KeyName CN=SOAPProvider, OU=TRL, O=IBM, ST=Kanagawa, C=JP Nom de la clé de la clé privée de signature défini dans le fichier de clés. Ce nom est donné à titre de référence et n'est pas évalué par l'environnement d'exécution.
KeyPassword com.ibm.wsspi.wssecurity.saml.config.issuer.KeyPassword motdepasse Mot de passe de la clé privée défini dans le fichier de clés (le mot de passe doit être codé par la méthode XOR).
TrustStoreRef com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreRef name=myTrustStoreRef managementScope=(cell):myCell:(node):myNode Référence à un fichier de clés géré dans le fichier security.xml qui contient le certificat de chiffrement.
TrustStorePath com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePath racine_serveur_app/etc/ws-security/samples/dsig-receiver.ks Emplacement du fichier de magasin contenant le certificat de chiffrement.
Remarque : Vous devez entrer le chemin correspondant à votre installation à la place de la valeur par défaut.
TrustStoreType com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreType JKS Type de magasin du fichier de magasin contenant le certificat de chiffrement.
TrustStorePassword com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePassword motdepasse Mot de passe du fichier de magasin contenant le certificat de chiffrement.
AttributeProvider com.ibm.wsspi.wssecurity.saml.config.issuer.AttributeProvider com.monentreprise.SAML.implFournisseurAttributs Classe d'implémentation du fournisseur d'attributs.
Remarque : Cette classe doit implémenter javax.security.auth.callback.CallbackHandler. Elle doit recevoir l'objet de rappel com.ibm.websphere.wssecurity.callbackhandler.Saml11AttributeCallback ou com.ibm.websphere.wssecurity.callbackhandler.Saml20AttributeCallback, puis mettre à jour la liste SAMLAttribute reçue de la méthode getSAMLAttributes appelée depuis cet objet.

Pour plus d'informations, reportez-vous à la rubrique Ajout d'attributs à des jetons SAML auto-générés à l'aide de l'API.

EncryptingAlias com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptingAlias soaprecipient Entrée du fichier indiqué par la propriété TrustStore, contenant le certificat public destiné au chiffrement du jeton SAML. Lors de la génération d'un jeton auto-généré avec les API, un alias défini sur RequesterConfig à l'aide de la méthode setKeyAliasForAppliesTo a la priorité sur la valeur de cette propriété.
EncryptSAML com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptSAML true Définissez cette propriété sur true pour générer un jeton SAML chiffré. La valeur par défaut de la propriété est false.

Lors de la génération d'un jeton auto-généré avec les API, vous pouvez aussi indiquer que vous souhaitez chiffrer le jeton SAML à l'aide de la méthode setEncryptSAML(true) sur l'objet RequesterConfig. Le jeton SAML sera chiffré si setEncryptSAML=true sur l'objet RequesterConfig ou la propriété personnalisée EncryptSAML a la valeur true.

NameIDProvider com.ibm.wsspi.wssecurity.saml.config.issuer.NameIDProvider com.monentreprise.SAML.implFournisseurIDNom Classe d'implémentation du fournisseur d'ID de nom.
Remarque : Cette classe doit implémenter javax.security.auth.callback.CallbackHandler. Elle doit recevoir l'objet de rappel com.ibm.websphere.wssecurity.callbackhandler.NameIDCallback, puis appeler la méthode setSAMLNameID sur cet objet pour mettre à jour l'ID de nom (NameID).

Pour plus d'informations, reportez-vous à la rubrique Personnalisation du NameID des jetons SAML auto-générés à l'aide de l'API.

UseSha2ForSignature com.ibm.wsspi.wssecurity.saml.config.issuer.UseSha2ForSignature true Affectez à cette propriété la valeur true de manière à utiliser l'algorithme de signature SHA-2 http://www.w3.org/2001/04/xmldsig-more#rsa-sha256, lors de la signature du jeton SAML.

Exemple

Observez l'exemple suivant de fichier de propriétés de configuration d'un jeton SAML :
IssuerURI=http://www.websphere.ibm.com/SAML/SelfIssuer
TimeToLiveMilliseconds=3600000
KeyStorePath=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
KeyStoreType=JKS
KeyStorePassword={xor}LDotKTot
KeyAlias=soapprovider
KeyName=CN=SOAPProvider, OU=TRL, O=IBM, ST=Kanagawa, C=JP
KeyPassword={xor}LDotKTot
TrustStorePath=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
TrustStoreType=JKS
TrustStorePassword={xor}LDotKTot 

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_samltokenproperties
Nom du fichier : rwbs_samltokenproperties.html