Gluu vs keycloack vs wso2身份管理



我的公司正在使用Auth0进行身份管理,我们希望迁移到以下之一:

  • 钥匙斗篷
  • 格鲁
  • Wso2身份管理

你能提出任何平台的优势和劣势吗?是否有特别突出的功能,或者与从Auth0迁移特别相关的功能?

到目前为止,我能够安装gluu服务器,密钥斗篷和wso2似乎非常棘手。

我是Gluu的创始人。我可以为设计决策提供一些启示:

  • 确实,我们利用了良好的开源组件,在那里存在一个活跃的社区。我们为什么要重新发明轮子?Shibboleth IDP是一个出色、全面的实施方案。Shibboleth Consortium可以快速解决问题,该财团资助开发人员研究任何潜在问题,并快速修补软件。我们也使用Passport js。许多社交网络有300多种策略,如果我们自己写所有内容,我们就不可能涵盖所需的连接器范围。最后,我们发布了OpenDJ的最后一个开源版本,它在生产中已经稳定了十多年。你可以说,在很多方面,Glu是开源的真空吸尘器——我们找到了好的开源组件,并将它们集成到我们的平台中。这使我们能够专注于开发我们增加最大价值的组件——OAuth2、UMA、OpenID Connect和devops工具。在这些领域,我们不能依靠外部社区来快速创新。SAML或LDAP中没有任何新功能。但OAuth正在迅速发展。因此,我们的目标是采用标准非常稳定的软件,并在需要快速创新的地方编写软件。小心那些想要编写整个堆栈的公司——这会导致产品的主要弱点,因为没有一家公司可以成为所有方面的专家。开源开发方法论的优势在于利用社区。

  • 我们非常努力地将这些组件集成在一起,以降低部署和运营成本。如果你不相信我,试着安装Glu服务器。你所要做的就是安装软件包,运行安装程序,回答大约10个问题,它就启动并运行了。将其与其他IAM平台(无论是开源平台还是商业平台)的部署说明进行比较。你会发现,他们会让你把war文件放在servlet容器中,手动编辑配置文件,配置数据库,启动许多服务,配置web服务器等等。你可以说,任何linux发行版都是一堆粘在一起的开源软件。但是,与linux发行版一样,Gluu服务器经过了长期的集成、测试和支持。十多年来,我们一直在支持金融、政府、电信、医疗、零售、大学等行业的关键任务部署。此外,随着时间的推移,我们对Glu服务器进行了优化,以降低运营成本。随着时间的推移,运营成本是TCO(总拥有成本)的主要因素。运营成本甚至超过了许可证成本——所以如果你认为商业产品的运营成本更低——你应该支付许可证费用。我们通过提供管理GUI和工具实现了低TCO。减少一次性集成和专有安全解决方案(只支持广泛采用的安全开放标准)。一家供应商的快速专有解决方案是明天的支持/升级难题。

  • 格鲁在"身份中介"方面进行了巨额投资,我们称之为管理"入境身份"。这就是我们集成Passport JS的原因。您可以接受来自SAML、OpenID Connect、CAS、Facebook、Microsoft Azure AD、Linkedin或300多个不同社交登录提供商的入站身份。事实上,入站身份是我们业务的驱动因素。没有其他平台能提供如此大的灵活性来控制如何映射属性、动态注册用户(通过社交登录或SAML首次出现在您的网站上)或在断言后额外实施欺诈检测技术的工作流程。

  • 我们已经使用OpenJDK进行了测试。2.4.4版本仅使用了OpenJDK。关于使用哪个开源JVM的问题是一个行业问题,对每个人来说都是一样的:Key斗篷、WS02和Glu都使用Java。操作成本、速度、集群、功能:这些是IAM平台部署的驱动因素,而不是JVM。

  • 当您考虑开源IAM时,您应该考虑四个基本要素:代码、文档、包和支持。如果你考虑所有这些因素,你会发现格鲁是唯一一个在每个类别中都有强大故事的人。一揽子计划尤为重要。Glu为Centos、Red Hat、Ubuntu和Debian提供软件包。我们还提供了一个linux容器发行版,Kubernetes,以及即将推出的Helm图表。系统管理员不想要这些代码,他们想要易于安装的二进制文件(以及易于升级)。全面的文件也是一个问题。最后,社区支持至关重要。邮件列表对于IAM来说是不够的。问题太复杂了。这就是我们推出支持门户网站的原因:https://support.gluu.org格鲁花了很多时间回答社区问题。虽然总是有限制的——我们不会无限期地支持大公司(我们确实以销售支持合同为生)——但我们确实会审查每一个支持问题,并努力帮助社区关注并克服任何阻碍问题。

  • Keycloft是Red Hat的一部分,该公司正被IBM收购。这给产品带来了相当多的不确定性,这很不幸。我希望看到一个强大的市场开放源代码IAM。然而,现实情况是,IBM有一个IAM平台,Keycapture是被折叠到这个产品中,还是被终止,还是被分叉,这是一个悬而未决的问题,IBM和Red Hat都没有解决。IBM将不允许工程师从事与自己的产品竞争的开源项目。因此,如果Keycloft继续下去,目前的团队将不得不离开他们的雇主,否则其他人将不得不放弃。这说起来容易做起来难。在格鲁,我们一直在围绕开放式soure平台建立业务,这真的是一个艰难的市场。有大型竞争对手和强大的SaaS产品(如Okta、Microsoft Azure AD和Google Identity)。仅仅分叉代码是不够的——考虑到创新和不断增加的安全表面积,IAM产品需要持续的努力来保持其相关性。IAM基础设施难以替代。确保你明白你安装的东西会存在很长一段时间。在格鲁,我们已经做了10年了。我们是内部资助的,所以我们没有风险投资来为他们提供退出机会。我们有一个长期的愿景,通过打造最好的产品,并通过吸引最大的社区使用我们的产品,在内部IAM市场赢得胜利。这可能需要几十年的时间。但我们是长期的。

  • 确保您正在考虑的产品至少通过了OpenID Connect认证:https://openid.net/certification/

  • 尽管Gluu服务器做了很多工作,但它仍然只是一个更大的开源身份/安全社区的一部分。这也是我写了一本关于这个主题的书的原因之一,名叫《保护周边》。它涵盖了产品背后的理论(什么是SAML?),还展示了如何使用Glu服务器的示例,以及。。。其他开源产品来实现您的目标。你可以在Apress上找到它:https://gluu.co/book

  • Glu服务器的设计考虑了三个目标:1)速度;2) 冗余;3) TCO低。"项目"one_answers"产品"之间有很大的区别。产品包括文档、QA、包装、营销、支持、培训、开发工具——使项目成功所需的所有东西。"产品"one_answers"平台"之间也有区别。Gluu服务器并不是我们唯一的产品。我们还有:1)Super-Gluu(移动FIDO2FA应用程序);2) oxd(OAuth客户端中间件服务器);3) 集群管理器(用于部署集群的GUI);4) Casa(凭证管理/同意管理门户网站);5) Gluu网关(基于Kong-CE的API网关)。

    • 您应该考虑的其他一些重要功能是:1)FIDO支持——Glu服务器具有FIDO2和FIDO U2F的端点;2) UMA支持-Gluu是唯一一个同时支持UMA令牌和authz端点的平台,我们也是唯一一个为UMA提供客户端和RS软件的平台;3) 简单的扩展机制——Gluu拦截脚本使您能够通过编写Python语法业务逻辑,在某些关键节点自定义Gluu服务器的行为;4) 易于备份和恢复(即使使用linux包,Gluu服务器也可以通过简单的tar命令进行备份);5) 支持多党联合会

我希望你在评估中发现这些要点很有用。决定使用哪个IAM平台是一个重大决定——它可能会伴随你十年或更长时间。如果您决定使用Gluu服务器,我们将非常欢迎您加入社区。我想你会发现,未来会有很多很棒的功能,这将巩固我们作为开源IAM市场领导者的地位。

我正在进行类似的搜索,总体而言,它们看起来非常相似,这意味着它们中的任何一个都可能是不错的选择:

  • 支持类似协议(OpenID Connect、OAuth2、SAML 2)
  • 管理员UI
  • 支持多因素身份验证
  • 支持身份代理/委派
  • 提供商业支持的开源

我在这里记录我的结果,但我会努力强调我的主要收获:

WSO2 Identity Server

不幸的是,让我与众不同的是,当我查看它时,突然出现的危险信号:

  • 他们网站上的可下载二进制文件似乎不包括最新的安全补丁。虽然您可以从源代码中编译和打包自己,但尚不清楚最新的安全补丁是否是开源的。(http://lists.jboss.org/pipermail/keycloak-user/2016-August/007281.html)
  • 它似乎在自己的中间件(WSO2 Carbon)上运行,这意味着您将无法利用Tomcat、WildFly、Jetty等现有的专业知识。(WSO2 Carbon似乎基于Tomcat)
  • 不支持OpenJDK(由于Oracle Java的可用性最近发生了变化,这已成为一个问题)
    • 在向他们询问此事后,他们似乎已经开始将OpenJDK纳入某些版本的兼容性测试中
  • 最新版本未在服务器操作系统上测试
    • 根据他们的兼容性矩阵,它在Windows 8、10、Ubuntu、Fedora(所有桌面操作系统)上进行了测试
  • 这种情况似乎仍然存在,但我认为没有任何理由相信WSO2 Identity Server在服务器操作系统上不起作用

谷氨酸

Gluu与许多其他产品的不同之处在于,他们采用了许多其他开源产品,添加了一些自己的片段,并将其打包在一起。我甚至不敢尝试,因为我担心所有部件的交互效果如何,以及Gluu能够支持其他人构建的组件的效果如何。

一个这样的组件是Shibboleth IdP,Gluu依赖它进行SAML。在我最初询问的时候,Shibboleth IdP不支持OpenJDK,所以我担心Glu会有同样的限制。虽然Shibboleth IdP现在提供了对OpenJDK的部分支持,但Glu似乎还不支持它:

我们不对OpenJDK进行QA。因此,如果你做出这样的改变,我们将无法支持

https://support.gluu.org/installation/7035/replace-oracle-java-with-openjdk/

我的担忧导致我在自己的调查中忽略了格鲁,但我鼓励你从不同的角度阅读迈克·施瓦茨的回答。

钥匙斗篷

与格鲁不同,钥匙斗篷是作为一个单一的产品从头开始设计的它也是3个产品中唯一支持OpenJDK的产品(如前所述,这已不再是事实)

钥匙斗篷似乎最适合我的情况,所以它是我真正尝试过的三件中唯一的一件。

我遇到了几个小错误,有几次我注意到文档不够具体,无法完全引导我完成手头的任务。这可能是它相对不成熟的结果(第一次发布是在2014年9月),但尽管如此,它总体上感觉像是一个坚实的产品。

其他

我没有这些方面的专业知识,但根据你列出的其他产品,这些产品可能也会让你感兴趣:

  • CAS
  • OpenAM

如果产品之间在功能方面没有太大的距离,那么需要考虑一些建议:

  • 问问你的公司,看看是否有内部知识
  • 围绕你的核心用例(包括技术堆栈)或你认为最难了解的用例,尝试一些PoC
  • 识别你的关键技术堆栈,并找到具有类似技术堆栈的开源项目——看看他们在使用哪些
  • 由于这些项目本身就是开源的,看看它们的GitHub转发有多活跃
  • 看看他们的支持论坛或堆栈溢出标签,看看他们有多活跃。你想知道你可以得到帮助
  • 试着衡量哪一个最受欢迎或增长最快

这些建议可能或多或少都适用于您——它们不是按重要性排序的。关键是你想要最适合你的情况的解决方案,权衡快速起步和长期增长

相关内容

  • 没有找到相关文章

最新更新