Sécurité des services web avec SAML (SSO) - comment?
Le Problème:
Je veux mettre en œuvre un ensemble de Webservices, protégé par SAML. Je dois authentifier les utilisateurs, et aussiautoriser en fonction du rôle de l'utilisateur. J'ai trouvé quelques questions similaires à celle-ci, mais aucune avec des réponses satisfaisantes.
Le scénario:
- Java webapp accessible uniquement à L'aide de Webservices;
- savon-métro;
- Les Clients utilisent une application de bureau qu'ils va se développer.
Caractéristiques principales dont j'ai besoin:
- logiciel Libre;
- SAML 2.0;
- LDAP (ou solution similaire) pour gérer les informations des Utilisateurs;
- niveau de sécurité du Message (SOAP).
La question:
J'étudie quelques solutions SAML (SSO) (par exemple Shibboleth, opemAM, JOSSO...);
- puis-je utiliser l'un de ceux-ci, sans compromettre l'une des fonctionnalités clés?
- ou dois-je implémenter ma propre façon de Gérer les jetons SAML?
- Comment le faire?
Merci!
Voici quelques résultats que j'ai trouvés, et / ou quelques conseils des réponses:
-
Shibboleth:
Http://shibboleth.1660669.n2.nabble.com/Web-Service-End-to-End-Security-td5526934.html
Shiboleth ne fait pas ent-to-end, juste point à point.Http://www.predic8.com/shibboleth-web-services-sso-en.htm
nécessite un module proxy pour l'authentification, avant le SP.
-
OpenAM:
-
https://wikis.forgerock.org/confluence/display/openam/Web+des Services de
ne présente pas de fournisseur de services (SP). Définir une architecture basée sur client-serveur, où le client demande explicitement des jetons, quand utiliser des méthodes web pour authentifier.
-
https://wikis.forgerock.org/confluence/display/openam/Web+des Services de
-
WSO2:
-
http://wso2.org/library/articles/2010/07/saml2-web-browser-based-sso-wso2-identity-server
ne fournit pas SP, vous devez l'implémenter en utilisant OpenSAML.
-
http://wso2.org/library/articles/2010/07/saml2-web-browser-based-sso-wso2-identity-server
Toujours à la recherche, s " il vous plaît contribuer!!
3 réponses
Je suis architecte chez WSO2. WSO2 produit WSO2 Identity Server prenant en charge toutes les fonctionnalités dont vous avez besoin. Vous pouvez déployer WSO2 Identity Server sur un magasin D'utilisateurs LDAP existant et le faire agir comme un IdP SAML2. Nous utilisons cette fonctionnalité de Identity Server dans notre offre Platform as a Service [PASS] - https://stratoslive.wso2.com pour SAML2 connexion unique sur.
Ce est un bon point de départ et vous pouvez télécharger WSO2 Serveur de l'Identité à partir de ici.
Puisque personne n'a répondu avec une option valide. Je décide de sécuriser les services avec METRO SAML, et essayer de fournir les jetons en utilisant OpenAM.