Sylvain RICHET
2011-08-30 14:14:41 UTC
Bonjour à Tous,
*Ma problèmatique :*
Appliquer une Authentification Kerberos sur ma 10aine de Web Services
publiés, de manière non intrusive au niveau du code.
*Mon environnement Serveur*
- JONAS 5.1.5
- stack WS : JAX-WS, avec une implémentation CXF sous-jacente
- mes WS sont développés sous forme d'EJB
*Les questions que je me pose :*
- Puis-je faire cela de manière non intrusive, c.a.d *sans avoir à ajouter
de code *dans mes WS tant au niveau serveur, qu'au niveau client ?
- Si oui, comment ? Avec WS-Security ? Avec WS-Policy ? En enrichissant la
WSDL de mes WS ?
- Qui joue le rôle de SPN Kerberos ? Comment le déclarer ?
*Bien entendu, j'ai pas mal browsé. Peut-être mal ?
*1) Il semblerait que je puisse configurer CXF pour faire du Kerberos,
Ici<http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html#ClientHTTPTransport%28includingSSLsupport%29-SpnegoAuthentication%28Kerberos%29>
(... mais rien de bien détaillé).
2) Ici <http://cxf.apache.org/docs/configuration.html>, il y a cette petite
enrichissant mes WSDL ?
C'est sans doute en rapport avec :
- WS-Security / WS-Policy
- WS Kerberos Token Profile
3) Apache CXF s'appuie sur WSS4J comme implémentation de WS-Security.
CXF s'appuie sur Spring pour tout ce qui est configuration, et probablement
celle lié à la sécurité.
Mais ici <http://www.jroller.com/gmazza/entry/cxf_usernametoken_profile>, il
*Bref, vous l'aurez compris : *
- je suis un peu (beaucoup) paumé dans tout ça, glurps
- je recherche un retour d'expérience
Je connais bien kerberos *en dehors du contexte des WS*.
Je veux dire par là que je sais implémenter/administrer une Authentification
Kerberos sur, par ex., une webapp tournant sous Apache
(avec un KDC sous Linux ou sous Windows), déclarer le SPN, récupérer le
KEYTAB, etc. etc....ok.
En revanche, je ne connais pas du tout WS-Security, WS-Policy, ...
C'est précisément là que ça pêche !
Merci d'avance à tous ceux qui prendront le temps de me répondre.
:-)
*Ma problèmatique :*
Appliquer une Authentification Kerberos sur ma 10aine de Web Services
publiés, de manière non intrusive au niveau du code.
*Mon environnement Serveur*
- JONAS 5.1.5
- stack WS : JAX-WS, avec une implémentation CXF sous-jacente
- mes WS sont développés sous forme d'EJB
*Les questions que je me pose :*
- Puis-je faire cela de manière non intrusive, c.a.d *sans avoir à ajouter
de code *dans mes WS tant au niveau serveur, qu'au niveau client ?
- Si oui, comment ? Avec WS-Security ? Avec WS-Policy ? En enrichissant la
WSDL de mes WS ?
- Qui joue le rôle de SPN Kerberos ? Comment le déclarer ?
*Bien entendu, j'ai pas mal browsé. Peut-être mal ?
*1) Il semblerait que je puisse configurer CXF pour faire du Kerberos,
Ici<http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html#ClientHTTPTransport%28includingSSLsupport%29-SpnegoAuthentication%28Kerberos%29>
(... mais rien de bien détaillé).
2) Ici <http://cxf.apache.org/docs/configuration.html>, il y a cette petite
*In some cases it also possible to achieve the same end by extending your
wsdl contract: you can add CXF specific extension elements to the wsdl:port
element and in that way fine tune the behaviour of the specified transport
*
Aurais-je donc la possibilité de poser de l'Auth Kerberos rien qu'enwsdl contract: you can add CXF specific extension elements to the wsdl:port
element and in that way fine tune the behaviour of the specified transport
*
enrichissant mes WSDL ?
C'est sans doute en rapport avec :
- WS-Security / WS-Policy
- WS Kerberos Token Profile
3) Apache CXF s'appuie sur WSS4J comme implémentation de WS-Security.
CXF s'appuie sur Spring pour tout ce qui est configuration, et probablement
celle lié à la sécurité.
Mais ici <http://www.jroller.com/gmazza/entry/cxf_usernametoken_profile>, il
*CXF provides two main options for adding UsernameToken security headers,
both of which will be covered below: standard WSS4J interceptors and
WS-SecurityPolicy.
The latter, which relies on a WS-Policy element defined within the WSDL,
offers a more automated approach to using security and is the preferred
approach if you have this element defined.
Use WSS4J interceptors when security is not defined in the WSDL or you need
more customized control of the security header construction.
*
Il semblerait donc qu'on ne soit pas obligé d'utiliser WSS4J...both of which will be covered below: standard WSS4J interceptors and
WS-SecurityPolicy.
The latter, which relies on a WS-Policy element defined within the WSDL,
offers a more automated approach to using security and is the preferred
approach if you have this element defined.
Use WSS4J interceptors when security is not defined in the WSDL or you need
more customized control of the security header construction.
*
*Bref, vous l'aurez compris : *
- je suis un peu (beaucoup) paumé dans tout ça, glurps
- je recherche un retour d'expérience
Je connais bien kerberos *en dehors du contexte des WS*.
Je veux dire par là que je sais implémenter/administrer une Authentification
Kerberos sur, par ex., une webapp tournant sous Apache
(avec un KDC sous Linux ou sous Windows), déclarer le SPN, récupérer le
KEYTAB, etc. etc....ok.
En revanche, je ne connais pas du tout WS-Security, WS-Policy, ...
C'est précisément là que ça pêche !
Merci d'avance à tous ceux qui prendront le temps de me répondre.
:-)