web-dev-qa-db-ja.com

Gluu vs Keycloack vs wso2アイデンティティ管理

私の会社はAuth0をID管理に使用しており、次のいずれかに移行したいと考えています。

  • キークローク
  • グルー
  • WSO2 ID管理

プラットフォームに利点と欠点はありますか?特に目立つ機能や、Auth0からの移行に特に関連する機能はありますか?

これまでのところ、私はgluuサーバー、keycloak、およびwso2をインストールすることができましたが、非常にトリッキーです。

11
Klevin Kona

私はグルの創設者です。設計の決定にいくつかの光を当てることができます。

  • アクティブなコミュニティが存在するオープンソースコンポーネントを活用しているのは事実です。なぜ車輪を再発明する必要があるのですか? Shibboleth IDPは、優れた包括的な実装です。問題は、Shibboleth Consortiumによって迅速に対処されます。ShibbolethConsortiumは、潜在的な問題を調査し、ソフトウェアに迅速にパッチを当てる開発者に資金を提供します。 Passport-jsも使用します。多くのソーシャルネットワークに対して300を超える戦略があるため、自分ですべてを記述した場合、必要なコネクタの範囲をカバーすることはできませんでした。最後に、OpenDJの最後のオープンソースリリースを分岐しました。OpenDJは、10年以上にわたって本番環境で安定しています。さまざまな意味で、Gluuはオープンソースの掃除機です。優れたオープンソースコンポーネントを見つけ、プラットフォームに統合しています。これにより、OAuth2、UMA、OpenID Connectおよびdevopsツールなど、最も付加価値の高いコンポーネントの開発に集中できます。これらの分野では、外部コミュニティが十分な速さでイノベーションを行うことはできません。 SAMLまたはLDAPの新機能はありません。しかしOAuthは急速に進化しています。そのため、私たちの目標は、標準が非常に安定しているソフトウェアを採用し、迅速に革新する必要があるソフトウェアを書くことです。スタック全体を書きたい企業には注意してください-これは、製品の主な弱点につながります。なぜなら、すべてを専門とすることはできないためです。オープンソース開発方法論の強みは、コミュニティを活用していることです。

  • 私たちはコンポーネントを統合して、導入と運用のコストを削減するために非常に懸命に取り組んでいます。信じられない場合は、Gluu Serverをインストールしてみてください。あなたがしなければならないのは、パッケージをインストールし、セットアッププログラムを実行し、約10の質問に答えるだけです。それを他のIAMプラットフォーム(オープンソースまたは商用)のデプロイ手順と比較してください。サーブレットコンテナーにwarファイルをドロップしたり、構成ファイルを手動で編集したり、データベースを構成したり、多くのサービスを開始したり、Webサーバーを構成したりすることがわかります。どのLinuxディストリビューションも、一緒に接着された一連のオープンソースソフトウェアであると言えます。しかし、Linuxディストリビューションのように、Gluu Serverは長期間にわたって統合、テスト、サポートされています。私たちは10年以上にわたり、金融、政府、電話会社、ヘルスケア、小売、大学など、さまざまな分野でミッションクリティカルな導入をサポートしてきました。さらに、時間の経過とともに、Gluuサーバーを最適化して運用コストを削減しています。時間の経過とともに、運用コストはTCO(総所有コスト)の主な原因です。運用コストはライセンスコストさえも超えるため、商用製品の方が運用コストが安いと考える場合は、ライセンスを支払う必要があります。管理GUIとツールを提供することで、TCOを削減しました。また、1回限りの統合と独自のセキュリティソリューションを削減することで(広く採用されているセキュリティのオープンスタンダードのみをサポートすることにより)。 1つのベンダーの迅速な独自のソリューションは、明日のサポート/アップグレードの頭痛です。

  • Gluuは、「インバウンドアイデンティティ」の管理と呼ぶ「アイデンティティブローカリング」に多大な投資を行ってきました。そのため、Passport-JSを統合しました。 SAML、OpenID Connect、CAS、Facebook、Microsoft Azure AD、Linkedin、または300を超えるさまざまなソーシャルログインプロバイダーからのインバウンドIDを受け入れることができます。実際、インバウンドIDは私たちのビジネスの推進力です。他のプラットフォームでは、属性をマップする方法、動的にユーザーを登録する方法(ソーシャルログインまたはSAMLを介してWebサイトに表示される)、またはアサーション後に追加の不正検出技術を実装するワークフローを制御する柔軟性を提供しません。

  • OpenJDKでテストしました。バージョン2.4.4はOpenJDKのみを使用しました。どのオープンソースJVMを使用するかという問題は、誰にとっても同じである業界の問題です。Keycloak、WS02、GluuはすべてJavaを使用しています。運用コスト、速度、クラスタリング、機能:これらは、JVMではなく、IAMプラットフォームをデプロイするためのドライバーです。

  • オープンソースのIAMを検討するときは、コード、ドキュメント、パッケージ、サポートの4つの重要な要素を検討する必要があります。これらのすべての要因を考慮すると、各カテゴリで強力なストーリーを持つのはGluuだけであることがわかります。パッケージは特に重要です。 GluuはCentos、Red Hat、Ubuntu、Debian用のパッケージを提供しています。 Linuxコンテナーディストリビューション、Kubernetes、およびすぐにHelmチャートも提供します。システム管理者はコードを望んでおらず、バイナリのインストールが簡単(そしてアップグレードも簡単)であることを望んでいます。包括的なドキュメントも問題です。そして最後に、コミュニティのサポートが不可欠です。 IAMにはメーリングリストでは不十分です。問題は複雑すぎます。そのため、サポートポータルを立ち上げました。 https://support.gluu.org Gluuは、コミュニティの質問への回答に多くの時間を費やしています。常に制限があります-私たちは巨大な企業を無期限にサポートするつもりはありません(私たちは生計をサポートする契約を結んでいます)-私たちはすべてのサポート問題をレビューし、コミュニティーがスターになるのを助け、ブロッキングの問題を乗り越えようとします。

  • Keycloakは、IBMが買収しているRed Hatの一部です。これにより、製品の周りにかなりの不確実性が生じましたが、残念です。オープンソースIAMの堅調な市場を見たいです。ただし、実際にはIBMにIAMプラットフォームがあり、Keycloakがこのオファリングに組み込まれるか、耐用年数が終了するか、分岐するかは、IBMもRed Hatも対処していない未解決の問題です。 IBMは、エンジニアが自社製品と競合するオープンソースプロジェクトに取り組むことを許可しません。したがって、Keycloakが続行する場合、現在のチームは雇用主を辞任するか、他の誰かがそれをフォークする必要があります。それは簡単に言って、それを行う。 Gluuでは、オープンソースのプラットフォームを中心にビジネスを構築しており、それは本当に厳しい市場です。大規模な競合他社が存在し、強力なSaaSオファリング(Okta、Microsoft Azure AD、Google Identityなど)。コードをフォークするだけでは十分ではありません。革新的であり、セキュリティの表面領域が拡大しているIAM製品は、関連性を維持するために持続的な努力が必要です。IAMインフラストラクチャを置き換えるのは難しいです。インストールするものが長期にわたって存在することを確実に理解してください。Gluuでは、10年間取り組んでいます。 、したがって、VCが出口を提供するために首をかしげているわけではありません。最高の製品を構築し、最大のコミュニティを当社の製品に引き付けることにより、オンプレミスのIAM市場で勝つという長期的なビジョンがあります。さらに数十年かかりますが、私たちはこれを長期的に見ています。

  • 検討している製品が少なくともOpenID Connect認定に合格していることを確認してください: https://openid.net/certification/

  • Gluu Serverは多くのことを行いますが、それでも大規模なオープンソースのアイデンティティ/セキュリティコミュニティの一部にすぎません。それが、このトピックについて私が「境界線の確保」という本を書いた理由の1つです。製品の背後にある理論(SAMLとは何ですか?)について説明し、Gluu Serverの使用例や、目標を達成するための他のオープンソース製品も示します。 Apressの次の場所にあります: https://gluu.co/book

  • Gluuサーバーは3つの目標を念頭に置いて設計されました。 2)冗長性。 3)低TCO。 「プロジェクト」と「製品」には大きな違いがあります。製品には、ドキュメント、QA、パッケージング、マーケティング、サポート、トレーニング、開発ツールなど、プロジェクトを成功させるために必要なすべてのものが含まれています。また、「製品」と「プラットフォーム」にも違いがあります。 Gluu Serverは私たちの唯一の製品ではありません。また、1)Super Gluu(モバイルFIDO 2FAアプリ)もあります。 2)oxd(OAuthクライアントミドルウェアサーバー); 3)Cluster Manager(クラスターをデプロイするためのGUI); 4)カーサ(クレデンシャル管理/同意管理のWebポータル); 5)Gluuゲートウェイ(Kong-CEベースのAPIゲートウェイ)。

    • 考慮すべき他のいくつかの重要な機能は次のとおりです。1)FIDOサポート-GluuサーバーにはFIDO2とFIDO U2Fの両方のエンドポイントがあります。 2)UMAサポート-Gluuは、UMAトークンとauthzエンドポイントの両方のサポートを提供する唯一のプラットフォームです。また、UMAのクライアントとRSソフトウェアを提供する唯一のプラットフォームです。 3)シンプルな拡張メカニズム-Gluuインターセプトスクリプトを使用すると、Python構文のビジネスロジックを作成することにより、特定の重要なジャンクションでのGluuサーバーの動作をカスタマイズできます。 4)バックアップと復元が簡単(Linuxパッケージを使用している場合でも、Gluuサーバーは単純なtarコマンドでバックアップできます)。 5)マルチパーティフェデレーションのサポート

これらの点が評価にお役に立てば幸いです。使用するIAMプラットフォームを決定することは大きな決断です。10年以上前から一緒にいる可能性があります。 Gluu Serverを使用することに決めた場合は、コミュニティに大歓迎です。そして、オープンソースIAMのマーケットリーダーとしての地位を固めるであろう、将来的に多くの優れた機能があることがわかるでしょう。

13
Mike Schwartz

私は同様の検索を行っていますが、全体的に非常に似ているように見えます。つまり、それらのどれもおそらく悪い選択ではないでしょう。

  • 同様のプロトコルのサポート(OpenID Connect、OAuth2、SAML 2)
  • 管理UI
  • 多要素認証のサポート
  • IDの仲介/委任のサポート
  • 商用サポートが利用可能なオープンソース

結果を文書化しています here ですが、主な要点を強調します。

WSO2アイデンティティサーバー

残念ながら私にとってそれを際立たせたのは、私がそれを調べたときにポップアップした赤い旗でした:

  • 彼らのサイトのダウンロード可能なバイナリには、最新のセキュリティパッチが含まれていないようです。ソースコードから自分でコンパイルしてパッケージ化することもできますが、最新のセキュリティパッチがオープンソースであるかどうかは明確ではありません。 ( http://lists.jboss.org/pipermail/keycloak-user/2016-August/007281.html
  • 独自のミドルウェア(WSO2 Carbon)で実行されているようです、つまり、Tomcat、WildFly、Jettyなどの既存の専門知識を活用できなくなります。 (WSO2 CarbonはTomcatに基づいているようです)
  • OpenJDKはサポートされていません (これは、Oracle Javaの可用性の最近の変更により問題になっています)
  • 最新バージョンはサーバーOSでテストされていません
    • 互換性マトリックス によると、Windows 8、10、Ubuntu、Fedora(すべてのデスクトップOS)でテストされています
    • これは引き続きそうであるように見えますが、WSO2 Identity ServerがサーバーOSで機能しないと考える理由は何もないと思います。

グルー

Gluuは他の多くの製品とは異なり、他の多くのオープンソース製品を採用し、独自の作品をいくつか追加し、すべて一緒にパッケージ化しています。すべての部分がどのように相互作用し、Gluuが他の誰かによって構築されたコンポーネントをどれだけうまくサポートできるかについて心配していたので、私はそれを試すこともためらっていました。

そのようなコンポーネントの1つはShibboleth IdPであり、GluuがSAMLに依存しています。私が最初に問い合わせたとき、Shibboleth IdPはOpenJDKをサポートしていなかったため、Gluuにも同じ制限があるのではないかと心配しました。 Shibboleth IdPは現在 OpenJDKを部分的にサポートしています ですが、Gluuはまだサポートしていないようです:

openJDKのQAは行いません。そのため、この切り替えを行うとサポートできなくなります。

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

私の懸念により、私は自分の調査中にGluuを伝えるようになりましたが、別の観点から Mike Schwartzの回答 を読むことをお勧めします。

キークローク

Gluuとは異なり、Keycloakは最初から単一の製品として設計されました。 また、OpenJDKをサポートする3つのうちの唯一の製品でもあります。 (すでに述べたように、これはもはや真実ではありません)

キークロークは私の状況に最適であると思われたので、実際に試したのは3つのうちの1つだけでした。

私はいくつかの小さなバグに遭遇し、ドキュメントが手元のタスクを完全に説明するのに十分具体的ではないことに2、3度気づきました。それは比較的未熟な結果(最初のリリースは2014年9月)の結果かもしれませんが、それにもかかわらず、全体としては堅実な製品のように感じました。

その他

私はこれらの専門知識はありませんが、あなたが挙げた他の製品に基づいて、これらもあなたに興味があるかもしれません:

11
bmaupin

機能の点で製品間の距離があまりない場合は、次のことを考慮してください。

  • あなたの会社の周りに尋ねて、社内の知識があるかどうかを確認してください。
  • コアユースケース(テックスタックを含む)の周りにいくつかのPoCを試すか、どのように進むかを確認するのが最も難しいと思われるユースケースを試してください。
  • 主要な技術スタックを特定し、同様の技術スタックを持つオープンソースプロジェクトを見つけてください-それらが使用しているものを確認してください。
  • プロジェクト自体はオープンソースなので、GitHubリポジトリがどれだけアクティブかを確認してください。
  • サポートフォーラムまたはスタックオーバーフロータグを見て、どれだけアクティブかを確認してください。あなたは助けを得られることを知りたいのです。
  • 最も人気のあるもの、または最も急速に成長しているものを測定してみてください

これらの提案はそれぞれ多かれ少なかれあなたに当てはまるかもしれません-それらは重要度で並べられていません。重要なのは、状況に最適なソリューションを望んでおり、すぐに開始し、長期的な成長を検討することです。

1
Ryan Dawson