Le support WebSphere
Application Server pour SAML fournit des interface API (Application Programming Interfaces) publiques que vous pouvez utiliser pour générer des applications à jetons SAML.
Utilisez l'API SAMLTokenFactory pour créer, valider et authentifier des jetons SAML, et pour créer des sujets JAAS qui représentent des jetons SAML.
L'implémentation de SAMLTokenFactory prend en charge les spécifications de jeton OASIS SAML v1.1 et v2.0. Utilisez l'API WSSTrustClient pour envoyer, émettre et valider des messages de demande destinés au service STS défini. L'implémentation de WSSTrustClient prend en charge les spécifications WS-Trust v1.3 et WS-Trust v1.2, ainsi que les espaces de nom SOAP v1.1 et SOAP v1.2.
Remarque : A compter de l'édition 8 de WebSphere Application Server,
vous pouvez utiliser la classe
com.ibm.websphere.wssecurity.wssapi.token.SAMLToken dans
l'API WSS (Web Services Security).
En l'absence de toute ambiguïté, nous utilisons le terme
SAMLToken pour désigner
cette classe plutôt que son nom de package complet. Vous pouvez utiliser l'API WSS pour demander
un traitement SAMLToken depuis un STS (Security Token Service) externe, afin de propager les
SAMLTokens dans les messages de demande SOAP, ainsi que pour utiliser une clé symétrique ou
asymétrique identifiée par des SAMLTokens pour protéger les messages SOAP.
Le support SAML de l'API WSS complète les interfaces com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory
et com.ibm.websphere.wssecurity.wssapi.trust.WSSTrustClient.
Les SAMLTokens générés par un appel à la méthode com.ibm.websphere.wssecurity.wssapi.WSSFactory
newSecurityToken() peuvent être traités par les interfaces de
programmation SAMLTokenFactory
et WSSTrustClient. Inversement, les SAMLTokens générés par SAMLTokenFactory ou
renvoyés par WSSTrustClient peuvent être utilisés dans l'API WSS.
Le choix de l'API à utiliser dans votre application dépend de vos besoins
spécifiques. Le support SAML de l'API WSS est intégré et autonome en ce sens qu'il fournit une fonctionnalité équivalente à
celle des interfaces SAMLTokenFactory et WSSTrustClient sur le
plan des applications client de services Web. L'interface SAMLTokenFactory dispose de
fonctions supplémentaires pour valider les SAMLTokens et créer le sujet
JAAS qui représente les SAMLTokens authentifiés. Cette validation
est utile du côté du fournisseur de services Web. Lorsque vous développez des applications appelées à
consommer des SAMLTokens, l'interface de programmation SAMLTokenFactory est celle qui
convient le mieux à vos besoins.
WebSphere
Application Server avec SAML contient les API ci-dessous qui implémentent SAML comme jeton de sécurité.
La documentation sur les API de bibliothèque de jetons SAML contient des informations sur les méthodes de ces API, décrit chacune d'entre elles et fournit des exemples de code.
L'API SAMLTokenFactory est la principale interface de programmation de jetons SAML. Elle vous permet de créer des jetons et d'inclure des attributs SAML, d'analyser et de valider des assertions SAML en tant que représentations XML des jetons SAML, et de créer des sujets JAAS qui représentent l'identité et les attributs de l'utilisateur tels qu'ils sont définis dans les jetons SAML.
- com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory
- com.ibm.websphere.wssecurity.wssapi.token.SAMLToken
Les interfaces de programmation de système (SPI) SAMLAttribute et SAMLNameID représentent les identificateurs des attributs et des noms d'utilisateur SAML.
- com.ibm.wsspi.wssecurity.saml.data.SAMLAttribute
- com.ibm.wsspi.wssecurity.saml.data.SAMLNameID
Les SPI SAML ci-dessous vous permettent de définir la manière dont les jetons SAML sont créés, et celle dont les documents XML des assertions SAML sont validés. Les objets ProviderConfig définissent les éléments de configuration de l'émetteur des assertions SAML, c'est-à-dire le nom de l'émetteur, sa clé de signature et le certificat signataire.
Les objets RequesterConfig contiennent les paramètres de configuration qui définissent les caractéristiques des assertions et des jetons SAML au moment de leur création. Ces paramètres de configuration comprennent la méthode de confirmation, la signature des assertions SAML, le type de clé de chiffrement intégrée et la méthode d'authentification. Les objets ConsumerConfig contiennent les paramètres de configuration qui définissent la façon dont les documents XML des assertions SAML sont validés, notamment les caractéristiques de la clé de déchiffrement, l'algorithme de chiffrement et le temporisateur du décalage d'horloge, et qui requièrent la signature numérique des émetteurs.
- com.ibm.wsspi.wssecurity.saml.config.ConsumerConfig
- com.ibm.wsspi.wssecurity.saml.config.CredentialConfig
- com.ibm.wsspi.wssecurity.saml.config.ProviderConfig
- com.ibm.wsspi.wssecurity.saml.config.RequesterConfig
- com.ibm.wsspi.wssecurity.saml.config.SamlConstants
- com.ibm.wsspi.wssecurity.core.token.config.ConsumerConfiguration
- com.ibm.wsspi.wssecurity.core.token.config.CredentialConfiguration
- com.ibm.wsspi.wssecurity.core.token.config.ProviderConfiguration
- com.ibm.wsspi.wssecurity.core.token.config.RequesterConfiguration
Les classes SAML Callback et CallbackHandler contiennent des paramètres de configuration utilisables pour la définition des caractéristiques des assertions SAML et le contrôle du comportement du module SAML LoginModule dans l'environnement d'exécution. Ces paramètres sont stockés dans les documents de liaison de sécurité des services Web. La configuration de jeton SAML est modélisé par l'extension dans la configuration de règles de sécurit é des services Web.
- com.ibm.websphere.wssecurity.callbackhandler.SAMLConsumeCallback
- com.ibm.websphere.wssecurity.callbackhandler.SAMLConsumerCallbackHandler
- com.ibm.websphere.wssecurity.callbackhandler.SAMLGenerateCallback
- com.ibm.websphere.wssecurity.callbackhandler.SAMLGenerateCallbackHandler
La méthode getXML(), dans l'interface de programmation com.ibm.websphere.wssecurity.wssapi.token.SecurityToken, renvoie des objets qui implémentent l'interface XMLStructure. Une extension contenue dans
WebSphere
Application Server prend en charge une implémentation personnalisée de SecurityToken. Une implémentation Axis2 Axiom OM ou DOM peut être déployée à l'aide des deux SPI ci-dessous. Le jeton SAML constitue une extension de l'interface GenericSecurityToken, qui constitue elle-même une extension de l'interface SecurityToken. GenericSecurityToken
est une nouvelle interface apportée par
WebSphere
Application Server avec SAML. Le jeton SAML implémente également l'interface OMStructure.
- com.ibm.wsspi.wssecurity.wssapi.DOMStructure
- com.ibm.wsspi.wssecurity.wssapi.OMStructure
L'API client WS-Trust contient la classe WSSTrustClient et d'autres API et SPI auxiliaires. L'API WSSTrustClient envoie des demandes SOAP WS-Trust à un service de jeton de sécurité (STS) externe défini, pour que celui-ci émette ou valide une ou plusieurs assertions SAML, ou d'autres types de jeton de sécurité. WSSTrustClient prend en charge les spécifications WS-Trust versions
1.3 et 1.2. L'API WSSTrustClient renvoie un jeton SAML lorsque les appels d'API demandent un jeton de ce type.
Lorsque les appels d'API demandent un jeton non SAML, l'API fait appel à l'interface GenericSecurityToken. La documentation relative à l'API client WS-Trust présente des exemples de code. Reportez-vous à la documentation sur les API pour une présentation détaillée des API et des SPI.
- com.ibm.websphere.wssecurity.wssapi.trust.WSSTrustClient
- com.ibm.websphere.wssecurity.wssapi.token.GenericSecurityToken
Les SPI ci-dessous définissent les caractéristiques des jetons, et leur comportement dans l'environnement d'exécution. Les objets ProviderConfig contiennent des paramètres de configuration qui définissent le noeud final du STS, l'ensembles de règles de sécurité des services Web, les documents de liaison utilisés pour l'accès au STS et l'utilisation éventuelle de liaisons générales ou spécifiques à une application. Les objets ProviderConfig définissent également si le document XML RequestSecurityTokenResponse (RSTR) est stocké dans les objets GenericSecurityToken ou SAMLToken. Les objets RequesterConfig contiennent les paramètres de configuration envoyés dans les demandes WS-Trust au STS défini. L'interface ConsumerConfig définit les attributs et les données des messages de réponse WS-Trust et des éléments RequestSecurityTokenResponse. Ces données sont extraites à l'aide de la méthode GenericSecurityToken getProperties(). L'élément XML RequestSecurityTokenResponse est stocké en tant que propriété lorsque ProviderConfig setIncludeRSTRProperties() est appelé. Si un attribut spécifique nécessaire à une application n'est pas défini par l'interface ConsumerConfig, l'élément RSTR peut être extrait et analysé à la place.
- com.ibm.wsspi.wssecurity.trust.config.ConsumerConfig
- com.ibm.wsspi.wssecurity.trust.config.ConsumerConfig.RSTR
- com.ibm.wsspi.wssecurity.trust.config.ProviderConfig
- com.ibm.wsspi.wssecurity.trust.config.RequesterConfig
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.Namespace
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.TokenType
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.WST12
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.WST13
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.Algorithm
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.SAML
Pour plus d'informations sur l'utilisation des API, y compris des scénarios pratiques illustrant le moment et la manière d'appliquer les API, consultez les scénarios d'utilisation de SAML.