我的公司正在使用Auth0进行身份管理,我们希望迁移到以下其中一个:
你能说出任何平台有什么优势和劣势吗?是否存在特别突出或与从Auth0迁移特别相关的功能?
到目前为止,我能够安装gluu服务器,keycloak和wso2似乎非常棘手。
答案 0 :(得分:7)
我正在进行类似的搜索,并且总体看来它们非常相似,这意味着其中任何一个都不是一个坏选择:
我正在记录结果here,但我将着重介绍我的主要收获:
不幸的是,让我与众不同的是当我看着它时弹出的红旗:
它似乎可以在自己的中间件(WSO2 Carbon)上运行,这意味着您将无法利用Tomcat,WildFly,Jetty等方面的现有专业知识。
No support for OpenJDK(由于最近对Oracle Java可用性的更改,这已成为一个问题)
Gluu与许多其他产品的不同之处在于,他们采用了许多其他开源产品,添加了自己的一些产品,并将其打包在一起。我什至不愿尝试它,因为我担心所有部件之间的交互程度以及Gluu能够支持他人构建的组件的程度。
一个这样的组件是Shibboleth IdP,Gluu依靠它来进行SAML。在我最初询问时,Shibboleth IdP不支持OpenJDK,因此我担心Gluu会有相同的限制。但是,看起来情况已不再如此:https://wiki.shibboleth.net/confluence/display/IDP30/SystemRequirements
由于我的担忧,我在自己的询问中忽略了Gluu,但我鼓励您以不同的角度阅读Mike Schwartz's answer。
与Gluu不同,Keycloak从头开始设计为单个产品。 这也是3种产品中唯一支持OpenJDK的产品。(如前所述,这已不再是事实)
Keycloak似乎最适合我的情况,因此它是我实际尝试过的三个方法中的唯一一个。
我遇到了两个小错误,并发现几次文档不够具体,无法完全指导我完成手头的任务。这可能是由于其相对不成熟(第一次发布是2014年9月),但尽管如此,总体上还是感觉很不错。
我在这些方面没有专门知识,但是根据您列出的其他产品,这些也可能使您感兴趣:
答案 1 :(得分:7)
我是Gluu的创始人。我可以阐明一些设计决策:
是的,我们确实利用了活跃社区存在的良好开源组件。我们为什么要重新发明轮子? Shibboleth IDP是出色,全面的实现。 Shibboleth联盟可以快速解决问题,该基金会为开发人员提供资金以研究任何潜在问题并快速修补软件。我们还使用Passport-js。对于许多社交网络,有300多种策略,如果我们自己编写所有内容,我们可能无法涵盖所需的连接器范围。最后,我们分叉了OpenDJ的最后一个开源版本,该版本在我们的生产中已经稳定了十多年。您可能会说,Gluu是开源的真空吸尘器-我们找到了很好的开源组件,并将它们集成到我们的平台中。这使我们能够专注于开发增添最大价值的组件-OAuth2,UMA,OpenID Connect和devops工具。在这些领域,我们不能依靠外部社区进行足够快的创新。 SAML或LDAP中没有新内容。但是OAuth正在迅速发展。因此,我们的目标是采用标准非常稳定的软件,并编写需要快速创新的软件。提防要编写整个堆栈的公司-这会导致产品的主要缺陷,因为没有公司可以在所有方面都是专家。开源开发方法论的力量正在利用社区。
我们非常努力地将组件集成在一起,以降低部署和运营成本。如果您不相信我,请尝试安装Gluu服务器。您所要做的就是安装软件包,运行安装程序,回答约10个问题,并且它已启动并正在运行。将其与其他IAM平台(开源或商用)的部署说明进行比较。您会发现,他们将带您将war文件拖放到servlet容器中,手动编辑配置文件,配置数据库,启动许多服务,配置Web服务器,等等。您可以说任何linux发行版都是一堆粘合在一起的开源软件。但是,就像linux发行版一样,Gluu服务器已经进行了长时间的集成,测试和支持。十多年来,我们一直在金融,政府,电信,医疗保健,零售,大学和更多领域的关键任务部署中提供支持。此外,随着时间的推移,我们已经对Gluu服务器进行了优化,以降低运营成本。随着时间的流逝,运营成本是TCO(总拥有成本)的主要来源。运营成本甚至超过许可成本-因此,如果您认为商业产品的运营成本更低-您应该支付许可费用。通过提供管理GUI和工具,我们已经降低了总拥有成本。并且通过减少一次性集成和专有安全解决方案(通过仅支持广泛采用的安全性开放标准)。一个供应商的快速专有解决方案是明天的支持/升级难题。
Gluu对“身份代理”进行了巨额投资,我们称其为“入站身份”管理。这就是为什么我们集成了Passport-JS。您可以接受来自SAML,OpenID Connect,CAS,Facebook,Microsoft Azure AD,Linkedin或300多个不同社交登录提供商的入站身份。实际上,入站身份是我们业务的驱动力。没有其他平台可以提供如此灵活的方式来控制工作流,以围绕如何映射属性,动态注册用户(通过社交登录或SAML首次出现在您的网站上)或断言后实施其他实施欺诈检测技术的灵活性。
我们已经使用OpenJDK进行了测试。版本2.4.4仅使用OpenJDK。关于使用哪个开源JVM的问题是每个人都相同的行业问题:Keycloak,WS02和Gluu都使用Java。运营成本,速度,集群,功能:这些是要部署的IAM平台(而不是JVM)的驱动程序。
在考虑开放源代码IAM时,应注意四个基本要素:代码,文档,程序包和支持。如果考虑所有这些因素,您会发现Gluu是唯一一个在每个类别中都有出色故事的人。这些软件包特别重要。 Gluu为Centos,Red Hat,Ubuntu和Debian提供了软件包。我们还提供了Linux容器发行版,Kubernetes和近期的Helm图表。系统管理员不需要代码,他们希望易于安装二进制文件(并易于升级)。全面的文档编制也是一个问题。最后,社区支持至关重要。邮件列表不足以用于IAM。问题太复杂了。这就是为什么我们启动了一个支持门户的原因:https://support.gluu.org Gluu花大量时间回答社区问题。虽然总会有限制-我们不会无限期地支持大公司(我们确实靠出售支持合同为生)-我们确实会审查每个支持问题,并尝试帮助社区注视并克服所有阻碍性问题。
Keycloak是Red Hat的一部分,已被IBM收购。不幸的是,这在产品周围造成了很大的不确定性。我希望看到开源IAM的强劲市场。但是,现实情况是IBM具有IAM平台,Keycloak是否被折叠到该产品中,寿命终止或分叉,这是IBM或Red Hat都没有解决的开放性问题。 IBM不允许工程师从事与自己的产品竞争的开源项目。因此,如果Keycloak继续,当前的团队将不得不离开他们的雇主,否则其他人将不得不分叉。说起来容易做起来难。在Gluu,我们一直在围绕开放源平台建立业务,这确实是一个艰难的市场。有大量的竞争对手和强大的SaaS产品(例如Okta,Microsoft Azure AD和Google Identity)。分叉代码是不够的-考虑到创新和不断增加的安全表面积,IAM产品需要持续的努力以保持其相关性。 IAM基础架构很难替代。确保您了解所安装的内容会存在很长时间。在Gluu,我们已经做了10年了。我们的资金来自内部,因此我们没有风险投资人的喘口气,可以为他们提供退出的机会。我们有一个长期愿景,即通过构建最佳产品并吸引最大的社区来使用我们的产品来赢得本地IAM市场。那可能要花几十年。但是,从长远来看,我们是这样。
确保您正在考虑的产品至少通过了OpenID Connect认证: https://openid.net/certification/
即使Gluu Server做了很多事情,它仍然只是更大的开源身份/安全社区的一部分。这就是我写了一本名为“保护周边”的书的原因之一。它涵盖了产品背后的理论(什么是SAML?),还显示了如何使用Gluu Server和其他开源产品来实现目标的示例。您可以在https://gluu.co/book
Gluu服务器在设计时考虑了三个目标:1)速度; 2)冗余; 3)低总拥有成本。 “项目”和“产品”之间有很大的区别。产品包括文档,质量检查,打包,营销,支持,培训,开发工具-这些都是使项目成功所需的全部工具。并且“产品”和“平台”之间也存在差异。 Gluu服务器不是我们唯一的产品。我们还有:1)Super Gluu(移动FIDO 2FA应用); 2)oxd(OAuth客户端中间件服务器); 3)群集管理器(用于部署群集的GUI); 4)Casa(凭据管理/同意管理的Web门户); 5)Gluu网关(基于Kong-CE的API网关)。
我希望您认为这些要点对您的评估有用。决定使用哪个IAM平台是一个重大决定-可能需要十年或更长时间。如果您决定使用Gluu服务器,将非常欢迎您加入社区。而且我认为您会发现,将来会有很多很棒的功能,这些功能将巩固我们作为开源IAM市场领导者的地位。
答案 2 :(得分:1)
如果产品之间在功能上相距不远,那么可以考虑以下建议:
这些建议可能或多或少适用于您-它们的重要性并不高。关键是您需要最适合您情况的解决方案,权衡快速上手和长期增长的机会