Avec l'outil wsadmin, qui accepte les langages de script Jython
et Jacl, vous pouvez définir la configuration d'ensemble de règles
destinée à vos applications de service Web.
Avant de commencer
Si la sécurité administrative est activée, vérifiez que vous utilisez le rôle administratif correct, comme indiqué dans le tableau suivant :
Tableau 1. Rôles d'administration. Le rôle d'administration détermine si vous pouvez créer des associations d'ensemble de règles.Rôle administratif |
Autorisation |
Administrateur |
Le rôle Administrateur doit avoir accès au niveau de la cellule pour créer des associations d'ensemble de règles. Si vous avez accès à une ressource spécifique uniquement, vous pouvez créer des associations d'ensemble de règles pour la ressource à laquelle vous avez accès. |
Configurateur |
Le rôle Configurateur doit avoir accès au niveau de la cellule pour créer des associations d'ensemble de règles. Si vous avez accès à une ressource spécifique uniquement, vous pouvez créer des associations d'ensemble de règles pour la ressource à laquelle vous avez accès. |
Responsable du déploiement |
Le rôle Responsable de déploiement avec accès au niveau de la cellule ou à une ressource spécifique peut créer des associations d'ensemble de règles pour les ressources de l'application uniquement. |
Opérateur |
Le rôle Opérateur ne peut pas créer d'association d'ensemble de règles. |
Moniteur |
Le rôle Moniteur ne peut pas créer d'association d'ensemble de règles. |
Avant d'utiliser les commandes décrites dans cette rubrique, assurez-vous d'utiliser la version la plus récente de l'outil wsadmin. Les commandes de gestion de l'ensemble de règles admettant l'objet properties comme valeur pour les paramètres attributes ou bindingLocation ne sont pas prises en charge dans les versions précédentes. Par exemple, elles ne fonctionnent pas sur un noeud dont la version est 6.1.0.x.
Pourquoi et quand exécuter cette tâche
Pour gérer les règles d'une application avec un nouvel
ensemble de règles, vous devez associer celui-ci à l'artefact ou aux
artefacts de l'application.
Lors de son redémarrage, l'application utilise
les règles de l'ensemble de règles que vous venez d'associer.
Environnement de version mixte: Dans un
environnement de cellule mixte, les restrictions suivantes s'appliquent aux
associations de référence de service ou de ressources indiquées dans le format
de paire valeur-nom :
- Vous ne devez pas créer ces types d'associations pour des applications
qui sont déployées sur un serveur d'applications antérieur à WebSphere
Application Server Version 8.0. Les associations de référence de service sont prises en charge uniquement sur WebSphere Application Server version 8.0 et ultérieure.
- Une application contenant ces types d'associations ne peut pas être déployée
sur un serveur d'applications antérieur à WebSphere Application
Server Version 8.0.
- Si une application déployée dans un environnement en clusters contient
ces types d'associations, vous ne devez pas ajouter un serveur d'applications membre
antérieur à WebSphere Application Server Version 8.0 au cluster.
mixv
Procédure
- Lancez une commande de script. Pour plus d'informations, voir Démarrage du client de scriptage wsadmin.
- Sélectionnez l'application avec services Web à mettre à jour. La commande listWebServices permet de répertorier tous les services Web et les applications associées. Pour répertorier tous les services Web et leurs attributs, entrez la commande suivante :
AdminTask.listWebServices()
Pour chaque service Web, la commande renvoie le nom de
l'application associée, le nom du module, le nom du service et le type de
service. Par exemple, les informations suivantes sont renvoyées : '[ [service {http://www.ibm.com}service1] [client false] [application application1]
[module webapp1.war] [type JAX-WS] ]'
- Créez une association d'ensemble de règles pour une application.
Pour les commandes du groupe PolicySetManagement, le terme ressource se rapporte à un artefact de service Web. Pour les
ensembles de règles associés au client de services et d'application, les
artefacts utilisent la hiérarchie de l'application. Cette hiérarchie de
l'application inclut un service Web, un nom de module, un noeud final ou
une opération.
Entrez la valeur du paramètre -resource sous la forme d'une
chaîne, avec le caractère barre oblique inversée ( / ) comme délimiteur.
Eviter les incidents: Lors d'une tentative de connexion à un service Web à partir d'un client léger, vérifiez que les ressources que vous spécifiez sont valides, avant d'exécuter la commande updatePolicySetAttachment. Aucune modification de configuration n'est effectuée si la ressource
demandée ne correspond pas à une ressource dans le fichier d'association
de l'application.
gotcha
Pour les associations d'ensemble de règles de client et d'application,
utilisez le format suivant :
- WebService:/
Associe tous les artefacts de l'application à
l'ensemble de règles.
- WebService:/webapp1.war:{http://www.ibm.com}myService
Associe tous les artefacts du service Web
{http://www.ibm.com}myService à l'ensemble de règles. Vous devez entrer le nom qualifié complet (QName) du
service.
- WebService:/webapp1.war:{http://www.ibm.com}myService/endpointA
Associe toutes les opérations du noeud final endpointA à
l'ensemble de règles.
- WebService:/webapp1.war:{http://www.ibm.com}myService/endpointA/operation1
Associe uniquement l'opération operation1 à l'ensemble de règles.
Le format de la chaîne -resource diffère lorsqu'il s'agit d'associations de référence de service. Pour les associations de référence de service,
utilisez le format suivant :
- type=WebService:/
Associe tous les artefacts de l'application à
l'ensemble de règles.
- type=WebService:/,module=myModule.war,service={ http://www.mynamespace.com}myService
Associe tous les artefacts du service Web
{http://www.mynamespace.com}myService à l'ensemble de règles. Vous devez entrer le nom qualifié complet (QName) du
service.
- type=WebService:/,module=myModule.war,service={ http://www.mynamespace.com
}myService,serviceRef=myServiceRef
Associe tous les artefacts de la référence de service Web myServiceRef à l'ensemble de règles.
- type=WebService:/,module=myModule.war,service={namespace}myService,serviceRef=myServiceRef,endpoint=endpointA
Associe toutes les opérations du noeud final de la référence de service endpointA dans la référence de service myServiceRef à l'ensemble de règles.
- type=WebService:/,module=myModule.war,service={namespace}myService,serviceRef=myServiceRef,endpoint=endpointA
operation=operation1
Associe uniquement l'opération operation1 dans la référence de service myServiceRef à l'ensemble de règles.
Le format de la chaîne -resource diffère lorsqu'il s'agit
d'associations d'ensemble de règles système pour le service
d'accréditation. Pour les associations
d'ensemble de règles système, utilisez le format suivant :
- Trust.opName:/
L'attribut opName peut prendre la
valeur issue, renew, cancel ou validate.
- Trust.opName:/url
L'attribut opName peut prendre
la valeur issue, renew, cancel ou validate. Vous pouvez indiquer toute
adresse URL valide pour l'attribut url.
- Entrez la commande qui permet d'associer l'ensemble de règles à l'application.
Cette commande associe l'ensemble de règles d'application policyset1 à tous les artefacts de l'application WebService.
Pour les utilisateurs en transition: Bien
qu'il soit possible d'indiquer la valeur
application pour le paramètre -attachmentType,
utilisez la valeur
provider à la place de la valeur
application,
car les associations sont utilisées par les applications, mais
également par les associations système pour le service d'accréditation.
Pour les associations d'ensembles de règles système, attribuez la valeur
provider au paramètre attachmentType et la valeur
"[systemType
trustService]" au paramètre -attachmentProperties. Pour les associations WSNClient, attribuez la valeur
client au paramètre attachmentType et les propriétés
bus et
WSNService au paramètre -attachmentProperties.
trns
Pour associer un ensemble de règles à une application de services Web, spécifiez la valeur
provider pour le paramètre -attachmentType :
AdminTask.createPolicySetAttachment('[-policySet policyset1 -resources
"WebService:/" -applicationName WebService -attachmentType provider]')
Pour associer un ensemble de règles à une application client de services, affectez la valeur
client au paramètre -attachmentType, comme dans l'exemple suivant :
AdminTask.createPolicySetAttachment('[-policySet policyset1 -resources
"WebService:/" -applicationName WebService -attachmentType client]')
Pour créer une association de service d'accréditation pour un ensemble de règles système, spécifiez la valeur
provider pour le paramètre -attachmentType et la valeur
[systemType trustService] pour le paramètre -attachmentProperties, comme le montre l'exemple suivant :
AdminTask.createPolicySetAttachment('[-policySet policyset1 -resources
"WebService:/" -attachmentType provider -attachmentProperties "[systemType trustService]"]')
Pour associer un ensemble de règles à une référence de service, entrez la commande suivante :
AdminTask.createPolicySetAttachment('[-resources "type=WebService:/,module=webapp1.war,service=
{http://www.mynamespace.com}myService,serviceRef=myServiceRef" -applicationName application1
–attachmentType client -policySet PolicySet1 –inheritFromService false]')
La commande renvoie l'ID association sous lequel vous devez référencer l'association concernée. Au cours de l'étape suivante, utilisez cet ID association pour définir la configuration de liaison.
Dans cet exemple, l'ID association est 124.
- Exécutez la commande pour définir la liaison.
Pour associer un ensemble de règles à une application de services Web, spécifiez la valeur provider pour le paramètre -attachmentType.
L'exemple suivant montre comment définir l'attribut d'expiration de l'horodatage sur la liaison
SecureConversation123binding pour la règle
WSSecurity, dans l'application de service Web
WebService.
AdminTask.setBinding('-policyType WSSecurity -bindingLocation "[ [application WebService] [attachmentId 124] ]" -attachmentType provider -bindingName SecureConversation123binding -attributes "[application.securityoutboundbindingconfig.timestampexpires.expires 5]"')
Pour associer un ensemble de règles à un client d'application de services Web
ou à une référence de service, spécifiez la valeur client pour le paramètre
-attachmentType.
- Sauvegardez les modifications de configuration.
Entrez la commande suivante pour sauvegarder les modifications :
AdminConfig.save()
Résultats
Vous avez associé l'ensemble de règles à l'artefact ou aux artefacts d'application indiqués. Redémarrez l'application pour utiliser les règles de l'ensemble de règles que vous venez d'associer.
Que faire ensuite
Gérez et mettez à jour les associations.