web-dev-qa-db-fra.com

Gluu vs keycloack vs wso2 gestion des identités

Mon entreprise utilise Auth0 pour la gestion des identités et nous aimerions migrer vers l'un des:

  • Cape de protection
  • Gluu
  • Gestion des identités Wso2

Pouvez-vous suggérer quels avantages et inconvénients ont une plate-forme? Existe-t-il des fonctionnalités qui se démarquent en particulier ou qui seraient particulièrement pertinentes pour la migration depuis Auth0?

Jusqu'à présent, j'ai pu installer le serveur gluu, keycloak et wso2 semble très délicat.

11
Klevin Kona

Je suis le fondateur de Gluu. Je peux éclairer les décisions de conception:

  • Il est vrai que nous exploitons de bons composants open source, là où une communauté active existe. Pourquoi devrions-nous réinventer la roue? Le Shibboleth IDP est une excellente mise en œuvre complète. Les problèmes sont résolus rapidement par le Shibboleth Consortium, qui finance les développeurs pour rechercher tout problème potentiel et corriger rapidement le logiciel. Nous utilisons également Passport-js. Avec plus de 300 stratégies pour de nombreux réseaux sociaux, nous ne pouvions pas couvrir la gamme de connecteurs nécessaires si nous écrivions tout nous-mêmes. Enfin, nous avons bifurqué la dernière version open source d'OpenDJ, qui est stable pour nous en production depuis plus d'une décennie. On pourrait dire qu'à bien des égards, Gluu est l'aspirateur de l'open source - nous trouvons de bons composants open source et les intégrons dans notre plateforme. Cela nous permet de nous concentrer sur le développement des composants où nous ajoutons le plus de valeur - OAuth2, UMA, OpenID Connect et les outils de développement. Dans ces domaines, nous ne pouvons pas compter sur une communauté externe pour innover assez rapidement. Rien de nouveau dans SAML ou LDAP. Mais OAuth évolue rapidement. Notre objectif est donc d'adopter des logiciels où les normes sont très stables, et d'écrire des logiciels là où nous devons innover rapidement. Méfiez-vous des entreprises qui veulent écrire la pile entière - cela conduit à des faiblesses majeures dans le produit, car aucune entreprise ne peut être experte en tout. La force de la méthodologie de développement open source est de tirer parti de la communauté.

  • Nous travaillons très fort pour intégrer les composants ensemble afin de réduire les coûts de déploiement et d'exploitation. Si vous ne me croyez pas, essayez d'installer le serveur Gluu. Tout ce que vous avez à faire est d'installer le package, d'exécuter le programme d'installation, de répondre à environ 10 questions, et il est opérationnel. Comparez cela aux instructions de déploiement d'autres plates-formes IAM - open source ou commerciales. Ce que vous constaterez, c'est qu'ils vous permettront de supprimer des fichiers war dans des conteneurs de servlets, de modifier manuellement des fichiers de configuration, de configurer des bases de données, de démarrer de nombreux services, de configurer des serveurs Web, etc. On pourrait dire que toute distribution Linux est également un tas de logiciels open source collés ensemble. Mais comme une distribution Linux, le serveur Gluu est intégré, testé et pris en charge pendant une longue période. Depuis plus d'une décennie, nous soutenons des déploiements critiques dans les secteurs de la finance, du gouvernement, des télécommunications, des soins de santé, du commerce de détail, de l'université et de nombreux autres secteurs. De plus, au fil du temps, nous avons optimisé le serveur Gluu pour un faible coût d'exploitation. Au fil du temps, le coût d'exploitation est le principal contributeur au TCO (coût total de possession). Le coût d'exploitation dépasse même le coût de la licence - donc si vous pensez qu'un produit commercial est moins cher à exploiter - vous devez payer la licence. Nous avons atteint un faible coût total de possession en fournissant des interfaces graphiques et des outils d'administration. Et en réduisant les intégrations ponctuelles et les solutions de sécurité propriétaires (en ne prenant en charge que les normes ouvertes de sécurité largement adoptées). La solution propriétaire rapide d'un fournisseur est le casse-tête de support/mise à niveau de demain.

  • Gluu a fait un énorme investissement dans le "courtage d'identité", que nous appelons la gestion de "l'identité entrante". C'est pourquoi nous avons intégré Passport-JS. Vous pouvez accepter les identités entrantes de SAML, OpenID Connect, CAS, Facebook, Microsoft Azure AD, Linkedin ou plus de 300 fournisseurs de connexion sociale différents. En fait, l'identité entrante est un moteur pour notre entreprise. Aucune autre plate-forme n'offre autant de flexibilité pour contrôler le flux de travail sur la façon de mapper les attributs, d'enregistrer dynamiquement les utilisateurs (qui apparaissent sur votre site Web pour la première fois via une connexion sociale ou SAML), ou d'appliquer des techniques de détection de fraude supplémentaires après l'assertion.

  • Nous avons testé avec OpenJDK. La version 2.4.4 utilisait uniquement OpenJDK. La question de savoir quelle JVM open source utiliser est un problème de l'industrie qui est le même pour tout le monde: Keycloak, WS02 et Gluu utilisent tous Java. Coût opérationnel, vitesse, mise en cluster, fonctionnalités: ce sont les pilotes de la plate-forme IAM à déployer - pas la JVM.

  • Lorsque vous considérez l'IAM open source, vous devez examiner quatre ingrédients essentiels: le code, les documents, les packages et le support. Si vous considérez tous ces facteurs, vous verrez que Gluu est le seul à avoir une histoire forte dans chaque catégorie. Les packages sont particulièrement importants. Gluu fournit des packages pour Centos, Red Hat, Ubuntu et Debian. Nous fournissons également une distribution de conteneurs Linux, Kubernetes et bientôt des graphiques Helm. Les administrateurs système ne veulent pas du code, ils veulent des binaires faciles à installer (et faciles à mettre à niveau). Une documentation complète est également un problème. Et enfin, le soutien communautaire est essentiel. Une liste de diffusion ne suffit pas pour IAM. Les problèmes sont trop complexes. C'est pourquoi nous avons lancé un portail d'assistance: https://support.gluu.org Gluu passe beaucoup de temps à répondre aux questions de la communauté. Bien qu'il y ait toujours des limites - nous n'allons pas soutenir les grandes entreprises indéfiniment (nous gagnons notre vie en vendant des contrats de support) - nous examinons chaque problème de support et essayons d'aider la communauté à être regardée et à surmonter les problèmes de blocage .

  • Keycloak fait partie de Red Hat, qui est en cours d'acquisition par IBM. Cela a créé un peu d'incertitude autour du produit, ce qui est regrettable. J'aimerais voir un marché robuste pour l'IAM open source. Cependant, la réalité est qu'IBM a une plate-forme IAM, et si Keycloak est plié dans cette offre, en fin de vie ou fourchu est une question ouverte que ni IBM ni Red Hat n'ont abordée. IBM ne permettra pas aux ingénieurs de travailler sur des projets open source qui concurrencent leurs propres produits. Donc, si Keycloak continue, l'équipe actuelle devra quitter son employeur, ou quelqu'un d'autre devra le débourser. C'est plus facile à dire qu'à faire. Chez Gluu, nous avons bâti une entreprise autour de la plate-forme open soure, et c'est vraiment un marché difficile. Il existe de grands concurrents et de solides offres SaaS (comme Okta, Microsoft Azure AD et Google Identity). Il ne suffit pas de bifurquer le code - compte tenu de l'innovation et de l'augmentation de la surface de sécurité, un IAM le produit a besoin d'un effort soutenu pour rester pertinent. L'infrastructure IAM est difficile à remplacer. Assurez-vous de comprendre que ce que vous installerez durera longtemps. Chez Gluu, nous y travaillons depuis 10 ans. Nous sommes financés en interne , nous n'avons donc pas de VC qui respirent dans notre cou pour leur fournir une sortie. Nous avons une vision à long terme pour gagner sur le marché IAM sur site en créant le meilleur produit et en attirant la plus grande communauté vers notre produit. prendre encore plusieurs décennies, mais nous sommes là pour le long terme.

  • Assurez-vous que les produits que vous envisagez ont au moins passé les certifications OpenID Connect: https://openid.net/certification/

  • Même si le serveur Gluu fait beaucoup, il n'est encore qu'une partie d'une communauté d'identité/sécurité open source plus large. C'est l'une des raisons pour lesquelles j'ai écrit un livre sur le sujet, intitulé "Sécuriser le périmètre". Il couvre la théorie derrière le produit (qu'est-ce que SAML?) Et montre également des exemples d'utilisation du serveur Gluu et ... d'autres produits open source pour atteindre vos objectifs. Vous pouvez le trouver sur Apress à: https://gluu.co/book

  • Le serveur Gluu a été conçu avec trois objectifs en tête: 1) la vitesse; 2) redondance; 3) Faible TCO. Il y a une grande différence entre un "projet" et un "produit". Les produits incluent les documents, l'assurance qualité, l'emballage, le marketing, le support, la formation, les outils de développement - la totalité de tout ce dont vous avez besoin pour réussir le projet. Et il y a aussi une différence entre un "produit" et une "plate-forme". Le serveur Gluu n'est pas notre seul produit. Nous avons également: 1) Super Gluu (application mobile FIDO 2FA); 2) oxd (serveur middleware client OAuth); 3) Cluster Manager (GUI pour déployer des clusters); 4) Casa (portail Web pour la gestion des titres de compétences/gestion des consentements); 5) Gluu Gateway (passerelle API basée sur Kong-CE).

    • Quelques autres caractéristiques importantes que vous devriez considérer sont: 1) Prise en charge de FIDO - le serveur Gluu a des points d'extrémité pour FIDO2 et FIDO U2F; 2) Prise en charge UMA - Gluu est la seule plate-forme qui prend en charge à la fois le jeton UMA et le point de terminaison authz, nous sommes également la seule plate-forme qui livre le logiciel client et RS pour UMA; 3) Mécanisme d'extension simple - Les scripts d'interception Gluu vous permettent de personnaliser le comportement du serveur Gluu à certaines jonctions critiques en écrivant une logique métier de syntaxe Python; 4) Facilité de sauvegarde et de restauration (même en utilisant les packages linux, le serveur Gluu peut être sauvegardé avec une simple commande tar); 5) Soutien aux fédérations multipartites

J'espère que vous trouverez ces points utiles dans votre évaluation. Décider de la plate-forme IAM à utiliser est une décision importante - elle peut vous accompagner pendant une décennie ou plus. Si vous décidez d'utiliser le serveur Gluu, vous serez le bienvenu dans la communauté. Et je pense que vous constaterez que de nombreuses fonctionnalités intéressantes arriveront à l'avenir, ce qui consolidera notre position de leader du marché de l'IAM open source.

13
Mike Schwartz

Je fais une recherche similaire et dans l'ensemble, ils semblent très similaires, ce qui signifie que l'un d'eux ne serait probablement pas un mauvais choix:

  • Prise en charge de protocoles similaires (OpenID Connect, OAuth2, SAML 2)
  • Interface utilisateur d'administration
  • Prise en charge de l'authentification multifacteur
  • Soutien au courtage/délégation d'identité
  • Open source avec support commercial disponible

Je documente mes résultats ici , mais je vais essayer de mettre en évidence mes principaux points à retenir:

Serveur d'identité WSO2

Malheureusement, ce qui me démarquait, ce sont les drapeaux rouges qui sont apparus lorsque je l'ai examiné:

  • Les fichiers binaires téléchargeables sur leur site ne semblent pas inclure les derniers correctifs de sécurité. Bien que vous puissiez compiler et vous compiler à partir du code source, il n'est pas clair si les derniers correctifs de sécurité sont open source. ( http://lists.jboss.org/pipermail/keycloak-user/2016-August/007281.html )
  • Il semble fonctionner sur son propre middleware (WSO2 Carbon), ce qui signifie que vous ne pourriez pas tirer parti de l'expertise existante sur Tomcat, WildFly, Jetty, etc. (WSO2 Carbon semble être basé sur Tomcat)
  • Pas de prise en charge d'OpenJDK (cela est devenu un problème en raison des récentes modifications apportées à la disponibilité d'Oracle Java)
  • Les dernières versions ne sont pas testées sur les systèmes d'exploitation du serveur
    • Selon leur matrice de compatibilité , il est testé sur Windows 8, 10, Ubuntu, Fedora (tous les OS de bureau)
    • Cela semble toujours être le cas, mais je ne pense pas qu'il y ait aucune raison de croire que WSO2 Identity Server ne fonctionnera pas sur les systèmes d'exploitation du serveur.

Gluu

Gluu est différent de beaucoup d'autres produits en ce sens qu'ils ont pris un certain nombre d'autres produits open source, ajouté quelques-uns de leurs propres morceaux et les ont tous emballés ensemble. J'hésitais même à l'essayer parce que je me demandais dans quelle mesure toutes les pièces interagiraient et dans quelle mesure Gluu serait capable de prendre en charge des composants construits par quelqu'un d'autre.

Un tel composant est Shibboleth IdP, sur lequel Gluu s'appuie pour SAML. Au moment de mon enquête initiale, Shibboleth IdP ne supportait pas OpenJDK, et je craignais donc que Gluu ait la même limitation. Alors que Shibboleth IdP maintenant fournit un support partiel pour OpenJDK , il semble que Gluu ne le supporte pas encore:

nous ne faisons pas QA OpenJDK. Donc, si vous effectuez ce changement, nous ne pouvons pas le supporter.

https://support.gluu.org/installation/7035/replace-Oracle-Java-with-openjdk/

Mes préoccupations m'ont amené à transmettre Gluu lors de ma propre enquête, mais je vous encourage à lire réponse de Mike Schwartz pour une perspective différente.

Cape de protection

Contrairement à Gluu, Keycloak a été conçu dès le départ comme un produit unique. C'est également le seul produit sur les 3 qui prend en charge OpenJDK. (Comme déjà indiqué, ce n'est plus vrai)

Keycloak semblait être le mieux adapté à ma situation, donc c'était le seul des trois que j'ai réellement essayé.

J'ai rencontré quelques petits bugs et j'ai remarqué à quelques reprises que la documentation n'était pas assez spécifique pour me guider à travers la tâche à accomplir. Cela peut être le résultat de son immaturité relative (la première version a été septembre 2014), mais malgré cela, il semblait globalement être un produit solide.

Autres

Je n'ai pas d'expertise dans ces domaines, mais sur la base des autres produits que vous avez répertoriés, ceux-ci peuvent également vous intéresser:

11
bmaupin

S'il n'y a pas beaucoup de distance entre les produits en termes de fonctionnalités, alors quelques suggestions de réflexion:

  • Renseignez-vous auprès de votre entreprise et voyez s'il existe des connaissances internes.
  • Essayez quelques PoC autour de vos principaux cas d'utilisation (y compris les piles technologiques) ou les cas d'utilisation qui, selon vous, seront les plus difficiles à comprendre.
  • Identifiez vos piles technologiques clés et trouvez des projets open source avec des piles technologiques similaires - voyez celles qu'ils utilisent.
  • Étant donné que les projets sont eux-mêmes open source, voyez à quel point leurs dépôts GitHub sont actifs.
  • Regardez leurs forums de support ou les balises de débordement de pile et voyez à quel point ils sont actifs. Vous voulez savoir que vous pouvez obtenir de l'aide.
  • Essayez d'évaluer quelle est la plus populaire ou la plus rapide

Ces suggestions peuvent chacune vous être plus ou moins applicables - elles ne sont pas classées par ordre d'importance. Le fait est que vous voulez la meilleure solution pour votre situation, pesant pour démarrer rapidement et également une croissance à long terme

1
Ryan Dawson