多数(> 10)のDjangoベースのWebサービスとWebアプリケーションで構成される大規模な分散システムを、約10000人の大学生の消費者ベースで実行しています。 。現在、認証は大学が提供するシングルサインオンシステム(Shibboleth)を使用しています。承認/ロールは、各Webサービスでユーザーごとに手動で構成されます。現在のアーキテクチャを以下に示します。
Google、Facebook、LinkedInなどの大学を使用してログインできるようにシステムを拡張したいと考えています。認証とロール管理を担当するミドルウェアが必要なようです。ロールは頻繁に作成され、静的に定義することはできません。ミドルウェアは、セッション管理(タイムアウトの処理、シングルログアウトなど)も実行する必要があります。私たちは次のようなものを描きます:
このミドルウェアに必要なコンポーネントは何ですか?私たちのシステム管理者は、ADサービスと共に Gl または Keycloak を検討しています。これらのソリューションはどちらも要件を満たしますか?そのようなシステムのベストプラクティスまたは脆弱性/構成チェックリストはありますか?
ご質問のように思われるのは、大学以外のソースからのフェデレーション認証を提供するIdentity and Access Management(IDAM)ソリューションです。
私はプロプライエタリソリューション(Oracle、CAなど)のみを扱いましたが、一般的にIDAMソリューションは次の要素で構成されています。-認証-アクセス制御-ユーザー管理-ユーザーリポジトリ
GluuとKeycloak plus ADのどちらがお客様の要件をカバーしているかという質問にはお答えできません。私はそれらについて何も知りません。各ソリューションに対する要件を定義してマッピングすることで、それらが適切かどうかを示す必要があります。また、豊かで成熟したコミュニティを持つオープンソースソリューションには、強化や構成などに関するガイドラインがたくさんあると思います。
他の回答で述べたように、基本的には統一されたID管理システムが必要です。
免責事項:私が働いている会社には、IDサービスを提供する製品があります。
自分のニーズに最適なシステムを決定するために、人のStackOverflowの回答を信頼しません。これらのシステムはかなり高価であり、人々は通常、システムを決定する前にいくつかのベンダーからの提案を要求します。チェックリストについては、ベンダーごとに異なるメモリと構成要件があります。したがって、答えは選択するベンダーによって異なります。
ミドルウェアを選択するときは、次の高レベルの点に留意してください。
これに対する最善のアプローチは、オープンソースの勢いに従うことです。 KeycloakとGluuはどちらも、他の多くのソリューションと同様に、これを解決する方法を持っています。現在の内部スキルセット/リソースベースに一致するソリューションを見つける必要があります。
しかし、stackoverflowの議論に基づいて主要ベンダーを選択した場合、対処する必要のある問題がはるかに大きくなる可能性があります。
「APIゲートウェイ」を探しています。
多くのAPIゲートウェイ製品とサービスが利用可能です。このStackOverflowの回答には、いくつかのオプションがリストされています。 https://stackoverflow.com/a/11335822/650894
さらに、Amazonは独自のAPIゲートウェイを提供しています。これは、かなり柔軟な展開オプションがあるように見えます。 https://aws.Amazon.com/api-gateway/
有望に見えるAxway APIスイートにも遭遇しました: https://www.axway.com/en/enterprise-solutions/api-management/api-management-solutions
申し訳ありませんが、私は自分がこの分野でスピードを上げようとしているので、どのオプションがあなたのニーズに最適であるかはわかりません。がんばって!