Evaluateurs d'ID dignes de confiance
Un évaluateur d'ID digne de confiance correspond au mécanisme qui détermine si un nom d'ID donné est digne de confiance.
Utilisation de l'évaluateur d'ID digne de confiance avec le modèle de programmation JAX-RPC
- Authentification de base (jeton de nom d'utilisateur)
- Le serveur en amont envoie un jeton de nom d'utilisateur avec un nom d'utilisateur et un mot de passe à un serveur en aval. Le destinataire ou récepteur du message authentifie le jeton de nom d'utilisateur et valide la fiabilité en fonction de l'implémentation TrusterIDEvaluator. L'implémentation TrustedIDEvaluator doit mettre en oeuvre l'interface Java™ com.ibm.wsspi.wssecurity.id.TrustedIDEvaluator.
- Signature
- Le serveur en amont signe le message, qui peut correspondre à n'importe quelle partie de message, telle que le corps SOAP (Simple Object Access Protocol). Le serveur en amont envoie le jeton X.509 à un serveur en aval. Le destinataire ou le récepteur du message vérifie la signature et valide le jeton X.509. L'identité ou le nom distinctif du jeton X.509 utilisé dans la signature numérique est validé en fonction de l'implémentation TrustedIDEvaluator. L'implémentation TrustedIDEvaluator doit mettre en oeuvre l'interface Java com.ibm.wsspi.wssecurity.id.TrustedIDEvaluator. Pour le certificat X.509, WebSphere Application Server utilise le nom distinctif dans le certificat comme identité du demandeur.
Les figures suivantes illustrent le processus sécurisé de vérification d'identité utilisé pour les deux modèles de programmation :
Dans cette figure, le serveur s1 est le serveur en amont et la vérification d'identité est configurée entre le serveur s1 et le serveur s2. Le serveur s1 authentifie l'identité appelée bob. Le serveur s1 veut envoyer bob au serveur s2 avec un mot de passe. Le mode de sécurisation est un justificatif s1 contenant l'identité et un mot de passe. Le serveur s2 reçoit la demande, authentifie l'utilisateur à l'aide du module de connexion Java JAAS (Java Authentication and Authorization Service) et utilise l'évaluateur d'ID dignes de confiance pour déterminer si l'identité est fiable. Si l'identité est fiable, bob sert d'appelant pour appeler le service. Si une autorisation est requise, bob est l'identité utilisée pour la vérification d'autorisation.
L'identité peut être l'identité RunAs (appel) du contexte de sécurité en cours. Par exemple, la passerelle de services Web authentifie un demandeur à l'aide d'une méthode sécurisée, telle que l'authentification d'un mot de passe, puis envoie l'identité du demandeur à un serveur dorsal uniquement. Vous pouvez également utiliser la vérification d'identité pour l'interopérabilité avec une autre implémentation de sécurité des services Web.
- Fichier texte
- Base de données
- Serveur LDAP (Lightweight Directory Access Protocol)
L'évaluateur d'ID digne de confiance est généralement utilisé par le dernier destinataire dans un environnement à sauts multiples. L'implémentation de la sécurité des Services Web appelle l'évaluateur d'ID digne de confiance et transmet l'identificateur de l'intermédiaire en tant que paramètre. Si l'identité est évaluée et considérée comme étant digne de confiance, la procédure continue. Sinon, une exception est émise et la procédure est arrêtée.
Utilisation de l'évaluateur d'ID digne de confiance avec le modèle de programmation JAX-WS
Dans le modèle de programmation JAX-WS, les mêmes concepts sont pris en charge pour l'évaluateur d'ID dignes de confiance, bien que l'implémentation doit différente. Pour l'exécution JAX-WS, utilisez la console d'administration pour sélectionner l'option Utiliser la vérification d'identité dans le panneau de liaison du demandeur. Ceci définit le type de jeton d'identité digne de confiance, puis une liste d'une ou de plusieurs identités fiables. L'évaluateur d'ID dignes de confiance valide le jeton d'identité digne de confiance par rapport à la liste des identités dignes de confiance. Pour plus d'informations sur la liste des identités dignes de confiance, reportez-vous à la rubrique Modification de l'ordre des demandeurs pour un jeton ou une partie de message.
Pour WebSphere Application Server Version 6.1 ou ultérieure, les éléments Caller et TrustMethod sont utilisés pour prendre en charge la connexion du demandeur. Le demandeur envoie un message à un intermédiaire et le message est transmis au service. Se basant sur les informations de sécurité, le service effectue une connexion pour le demandeur. Dans certains cas, il existe plusieurs jetons de sécurité, aussi le service doit choisir le quel utiliser. Lorsque l'ID du demandeur est inclus dans une vérification d'ID, le service peut spécifier comment valider l'intermédiaire. Les scénarios d'intermédiaire suivants sont pris en charge :
- <BasicAuth, null, null>
- Le nom d'utilisateur et le mot de passe du demandeur sont utilisés pour l'authentification. Dans ce cas, l'authentification est effectuée avec les propriétés du demandeur, aussi un mot de passe est-il requis pour l'authentification.
- <Signature, null, null>
- La signature du demandeur est utilisée pour l'authentification.
- <IDAssertion, Username, null>
- Le nom d'utilisateur du demandeur (sans mot de passe) est utilisé pour identifier le demandeur. Le jeton UsernameToken est utilisé comme vérification d'ID, de ce fait aucun mot de passe est requis pour accompagner le nom d' utilisateur. Dans ce cas, le service fait confiance à l'intermédiaire de manière inconditionnelle.
- <IDAssertion, Username, Username>
- Le nom d'utilisateur du demandeur (sans mot de passe) est utilisé pour identifier le demandeur et le nom d'utilisateur et le mot de passe de l'intermédiaire sont utilisés pour authentifier ce dernier. Le jeton UsernameToken, s'il est utilisé pour établir une identité digne de confiance, requiert toujours un mot de passe car l'objectif du jeton est d'établir une relation de confiance entre l'intermédiaire et le service.
- <IDAssertion, Username, X509>
- Le nom d'utilisateur du demandeur (sans mot de passe) est utilisé pour identifier le demandeur et la signature de l'intermédiaire est utilisée pour authentifier ce dernier. Dans ce cas, l'identité digne de confiance pour la signature de l'intermédiaire doit être établie à l'aide d'un certificat X.509.
- <IDAssertion, X509, null>
- L'identité du demandeur est établie à l'aide d'un certificat X.509. Dans ce cas, le certificat X.509 émanant du demandeur ne fournit pas de signature pour prouver la possession du certificat, et de ce fait le service fait confiance au service de manière inconditionnelle.
- <IDAssertion, X509, Username>
- L'identité du demandeur est établie à l'aide d'un certificat X.509 et le nom d'utilisateur et le mot de passe de l'intermédiaire sont utilisés pour authentifier ce dernier. Le jeton UsernameToken, s'il est utilisé pour établir une identité digne de confiance, requiert toujours un mot de passe car l'objectif du jeton est d'établir une relation de confiance entre l'intermédiaire et le service.
- <IDAssertion, X509, X509>
- L'identité du demandeur est établie à l'aide d'un certificat X.509 et la signature de l'intermédiaire est utilisée pour authentifier ce dernier.