Cette procédure explique comment configurer les liaisons et l'ensemble de
règles WS-Security de niveau message pour consommer un jeton LTPA et/ou un
jeton UsernameToken. Cette procédure peut être modifiée pour s'appliquer à toute paire de types de valeur de jeton dissemblables. Vous ne pouvez pas créer de configuration qui rendra un jeton requis et l'autre facultatif.
Avant de commencer
Cette tâche suppose que le client et le fournisseur de service que vous configurez se trouvent dans l'application JaxWSServicesSamples.
Pour savoir comment obtenir et installer cette application, reportez-vous à la rubrique Accès aux exemples. Vous devez utiliser la spécification de trace ci-dessous sur votre serveur. Ces spécifications vous permettent de déboguer les problèmes de configuration qui peuvent se produire dans le futur.
*=info:com.ibm.wsspi.wssecurity.*=all:com.ibm.ws.webservices.wssecurity.*=all:
com.ibm.ws.wssecurity.*=all: com.ibm.xml.soapsec.*=all: com.ibm.ws.webservices.trace.*=all:
com.ibm.ws.websvcs.trace.*=all:com.ibm.ws.wssecurity.platform.audit.*=off:
Comme des jetons LTPA seront utilisés, la sécurité des applications
doit être activée sur les serveurs d'applications utilisés pour le client
et le service.
Pourquoi et quand exécuter cette tâche
Cette procédure explique les actions que vous devez effectuer pour configurer
une règle de sécurité de services Web afin de consommer un jeton LTPA et/ou un jeton UsernameToken. Normalement, cette configuration est utilisée sur une application de fournisseur. Pour
des raisons de simplicité, cette procédure supprime l'horodatage, la signature numérique
et le chiffrement de la règle ; si vous le souhaitez, vous pouvez les inclure dans votre
configuration finale. Pour plus d'informations, voir Configuration d'un ensemble de règles et des liaisons pour la signature numérique XML asymétrique et/ou le chiffrement XML.
Cette procédure inclut également les étapes
permettant de configurer une application client pour envoyer
un jeton UsernameToken ou LTPA.
Procédure
- Créez l'ensemble de règles personnalisé pour le fournisseur.
- Dans la console d'administration, cliquez sur Services > Ensembles de règles > Ensembles de règles d'application.
- Cliquez sur Nouveau.
- Spécifiez Name = AtwoTokenPolicy.
- Cliquez sur Appliquer.
- Sous Règles, cliquez sur Ajouter > WS-Security.
- Editez l'ensemble de règles personnalisé.
- Supprimez la signature numérique, le chiffrement et l'horodatage.
- Dans la console d'administration, cliquez sur WS-Security > Règle principale.
- Désélectionnez Protection au niveau des messages.
- Cliquez sur Appliquer.
- Ajoutez les jetons UsernameToken et LTPA.
- Cliquez sur Règles de jeton de demande.
- Cliquez sur Ajouter un type de jeton > LTPA.
- Nom du jeton LTPA : myLTPA
- Cliquez sur
OK.
- Cliquez sur Ajouter un type de jeton > Nom d'utilisateur.
- Nom du jeton de nom d'utilisateur : myUNT.
- Cliquez sur
OK.
- Sauvegardez la configuration.
- Cliquez sur
Sauvegarder.
- Configurez le fournisseur pour utiliser l'ensemble de règles AtwoTokenPolicy.
- Dans la console d'administration, cliquez sur Applications > Types d'application > Applications d'entreprise WebSphere > JaxWSServicesSamples > Liaisons et ensembles de règles de fournisseur de service.
- Sélectionnez la ressource de client de services Web.
- Sélectionnez la ressource de fournisseur de services Web.
- Cliquez sur Lier un ensemble de règles.
- Sélectionnez AtwoTokenPolicy.
- Créez une liaison personnalisée pour le fournisseur.
- Sélectionnez de nouveau la ressource de fournisseur de services Web.
- Cliquez sur Affecter une liaison.
- Cliquez sur Nouvelle liaison spécifique à l'application pour créer une liaison spécifique à l'application.
- Spécifiez Nom de configuration des liaisons:providerBinding.
- Cliquez sur Ajouter > WS-Security.
- Editez les liaisons personnalisées du fournisseur.
- Pour ajouter une configuration d'appelant pour le jeton LTPA, procédez comme suit :
- Cliquez sur Appelant.
- Cliquez sur Nouveau.
- Nom : ltpaCaller
- Partie locale de l'identité de l'appelant : LTPAv2
- URI espace de nom de l'identité de l'appelant : http://www.ibm.com/websphere/appserver/tokentype
- Cliquez sur
OK.
- Pour ajouter une configuration d'appelant pour le jeton UsernameToken, procédez comme suit :
- Cliquez sur Nouveau.
- Nom : untCaller
- Partie locale de l'identité de l'appelant : http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken
- URI espace de nom de l'identité de l'appelant : [leave blank]
- Cliquez sur
OK.
Remarque : Assurez-vous que les jetons ont la priorité souhaitée. Il ne peut y avoir qu'une identité d'appelant pour l'unité d'exécution. Si plusieurs jetons pour lesquels il existe des configurations d'appelant interviennent
dans le message SOAP entrant, la configuration d'appelant dont le numéro de position est
le plus faible est utilisée. Si l'ordre indiqué dans la zone Ordre de la table n'est pas
celui que vous souhaitez, procédez comme suit :
- Sélectionnez le jeton qui doit avoir la priorité la plus élevée.
- Cliquez sur Vers le haut jusqu'à ce que son numéro d'ordre soit 1.
- Répétez cette procédure à l'aide de Vers le
haut et Vers le bas pour obtenir l'ordre souhaité.
- Cliquez sur Sauvegarder pour sauvegarder la configuration.
- Créez un ensemble de règles qui n'a qu'un jeton UsernameToken dans le message de demande du client
- Dans la console d'administration, cliquez sur Services > Ensembles de règles > Ensembles de règles d'application.
- Cliquez sur Nouveau.
- Spécifiez Nom = AUntPolicy
- Cliquez sur Appliquer.
- Sous Règles, cliquez sur Ajouter > WS-Security.
- Supprimez la signature numérique, le chiffrement et l'horodatage.
Dans la console d'administration :
- Cliquez sur WS-Security > Règle principale.
- Désélectionnez Protection au niveau des messages.
- Cliquez sur Valider.
- Ajoutez le jeton UsernameToken.
- Cliquez sur Règles de jeton de demande.
- Cliquez sur Ajouter un type de jeton > Nom d'utilisateur.
- Nom du jeton de nom d'utilisateur : myUNT.
- Cliquez sur
OK.
- Sauvegardez la configuration. Cliquez sur Sauvegarder.
- Créez un ensemble de règles qui n'a qu'un jeton LTPA dans le message de demande du client.
- Dans la console d'administration, cliquez sur Services > Ensembles de règles > Ensembles de règles d'application.
- Cliquez sur Nouveau.
- Spécifiez Nom = AnLTPAPolicy
- Cliquez sur Appliquer.
- Sous Règles, cliquez sur Ajouter > WS-Security.
- Supprimez la signature numérique, le chiffrement et l'horodatage.
Dans la console d'administration :
- Cliquez sur WS-Security > Règle principale.
- Désélectionnez Protection au niveau des messages.
- Cliquez sur Valider.
- Ajoutez le jeton LTPA.
- Cliquez sur Règles de jeton de demande.
- Cliquez sur Ajouter un type de jeton > LTPA.
- Nom du jeton LTPA : myLTPA.
- Cliquez sur
OK.
- Sauvegardez la configuration. Cliquez sur Sauvegarder.
- Pour configurer le client afin qu'il utilise les règles UsernameToken et créer des liaisons, procédez comme suit :
- Configurez le client pour qu'il utilise l'ensemble de règles AUntPolicy.
- Dans la console d'administration, cliquez sur Applications > Types d'application > Applications d'entreprise WebSphere > JaxWSServicesSamples > Liaisons et ensembles de règles de client de service.
- Sélectionnez la ressource client de services Web.
- Cliquez sur Lier un ensemble de règles.
- Sélectionnez AUntPolicy.
- Créez une liaison personnalisée pour le client.
- Sélectionnez de nouveau la ressource de services Web.
- Cliquez sur Affecter une liaison.
- Cliquez sur Nouvelle liaison spécifique à l'application pour créer une liaison spécifique à l'application.
- Indiquez le nom de configuration des liaisons. name: untClientBinding.
- Cliquez sur Ajouter > WS-Security.
- Configurez les liaisons personnalisées du client.
- Sélectionnez Authentification et protection.
- Sous Jetons d'authentification, sélectionnez myUNT.
- Cliquez sur Appliquer.
- Cliquez sur Gestionnaire d'appel.
- Entrez le nom d'utilisateur et le mot de passe de votre choix.
- Ajoutez les propriétés personnalisées de la valeur nonce et de l'horodatage
: le consommateur de UsernameToken n'ayant pas été configuré lors de la configuration de
liaison personnalisée sur le fournisseur, l'environnement d'exécution utilisera les
liaisons générales par défaut pour la configuration du jeton UsernameToken. Le consommateur de jeton UsernameToken
dans la liaison générale par défaut requérant que l'horodatage et la valeur nonce soient envoyés
dans le jeton username, les propriétés d'émission de ces éléments doivent être entrées :
* com.ibm.wsspi.wssecurity.token.username.addTimestamp=true
* com.ibm.wsspi.wssecurity.token.username.addNonce=true
- Cliquez sur
OK.
- Sauvegardez la configuration.
- Cliquez sur
Sauvegarder.
- Pour configurer le client afin qu'il utilise les règles UsernameToken et créer des liaisons, procédez comme suit :
- Configurez le client pour utiliser l'ensemble de règles AnLTPAPolicypolicy.
- Dans la console d'administration, cliquez sur Applications > Types d'application > Applications d'entreprise WebSphere > JaxWSServicesSamples > Liaisons et ensembles de règles de client de service.
- Sélectionnez la ressource client de services Web.
- Cliquez sur Lier un ensemble de règles.
- Sélectionnez AnLTPAPolicy.
- Créez une liaison personnalisée pour le client.
- Sélectionnez de nouveau la ressource de services Web.
- Cliquez sur Affecter une liaison.
- Cliquez sur Nouvelle liaison spécifique à l'application pour créer une liaison spécifique à l'application.
- Indiquez le nom de configuration des liaisons. name: ltpaClientBinding.
- Cliquez sur Ajouter > WS-Security.
- Configurez les liaisons personnalisées du client.
- Sélectionnez Authentification et protection.
- Sous Jetons d'authentification, sélectionnez myLTPA.
- Cliquez sur Appliquer.
- Cliquez sur Gestionnaire d'appel.
- Entrez le nom d'utilisateur et le mot de passe de votre choix.
- Cliquez sur
OK.
- Sauvegardez la configuration.
- Cliquez sur
Sauvegarder.