シングルサインオン(SSO):OpenAM + mod_auth_mellon

この投稿は、SSOに精通したばかりの初心者向けに設計されています。 インターネットでは、特にロシア語で、OpenAMとmod_auth_mellonの組み合わせに関するドキュメントはあまりありません。

クイックスタートとして、 Dockerイメージを使用します。 ユーザー認証については、mod_auth_mellonモジュールを検討しますが、他の方法、たとえばPolicy AgentまたはOpenIGを使用できます。



理論



シングルサインオンテクノロジー(シングルサインオン)は、ユーザーが再認証なしでポータルのあるセクションから別のセクションに切り替えるテクノロジーです。

OpenAM(アクセス管理)-IDプロバイダー(IdP、英語IDプロバイダー)、ユーザーを認証します。

mod_auth_mellon -IdP(OpenAM)を介してユーザーを認証するApacheモジュール。



カスタマイズ



/ etc / hostsにOpenAMおよびテストアプリケーションのドメインを追加します。



127.0.0.1 openam.example.com fake.mellon.app.one fake.mellon.app.two
      
      





OpenAMを起動します。



 docker run -d -t -p 8080:8080 --add-host "openam.example.com:127.0.0.1" wstrange/openam-base-nightly
      
      





テストアプリケーションを起動します。



 git clone git@bitbucket.org:agobzhelyan/openam_mellon.git cd openam_mellon
      
      







 docker build -t fake_mellon_app_one fake_app_1 docker run -d -p 8091:80 --name fake_mellon_app_one fake_mellon_app_one
      
      







 docker build -t fake_mellon_app_two fake_app_2 docker run -d -p 8092:80 --name fake_mellon_app_two fake_mellon_app_two
      
      







OpenAMを構成します。 手動で行わないように、Dockerイメージを作成できます。 しかし、それがどのように機能するかをよりよく理解するには、これらの簡単な手順を自分で実行する方が良いと思います:



-http://openam.example.com:8080 / openam /を開きます。

-[デフォルト構成の作成]をクリックします。

-amAdminのパスワードはsecret12、UrlAccessAgentの場合-secret123;

-ホーム(amAdmin / secret12)、次にフェデレーションに移動し、TestCOTという名前の新しい信頼の輪を追加します。

-[IDプロバイダーの作成]ページに移動します: http : //openam.example.com : 8080 / openam / task / CreateHostedIDP 署名キーを変更してテストし、構成を待ってから終了します。

-[リモートサービスプロバイダーの作成]ページhttp://openam.example.com:8080/openam/task/CreateRemoteSPに移動します。 Fileを待機してfake_app_1 / mellon / fake_mellon_app_one.xmlをロードし、COTが選択されていることを確認しますTestCOT

-fake_mellon_app_two.xmlでも同じです。



mod_auth_mellonの構成。 https://github.com/UNINETT/mod_auth_mellonを読み、テストアプリケーションhttps://bitbucket.org/agobzhelyan/openam_mellon/srcの実装例を参照することをお勧めします



テスト中



-管理パネルhttp://openam.example.com:8080/openam/を終了し、アプリケーション1に移動します-http://fake.mellon.app.one: 8091 /;

-バックエンドリンクをクリックします。

-ログインページにリダイレクトされます。 demo / changeitを入力してください。

-その後、要求された(保護された)ページに戻ります。

-アプリケーション2 http://fake.mellon.app.two:8092 / backend /に移動し、ここでログインしていることに注意してください。



おわりに



ご覧のとおり、すべてがシンプルですが、新しいテクノロジーを知るには時間がかかります。 この投稿を書く時間が無駄にならず、誰かに役立つことを願っています。 この技術の経験がある方は、コメントで共有してください。



使用された文献のリスト



-www.lab-ic.ru/solutions/sso

-doc.arcgis.com/en/arcgis-online/reference/configure-openam.htm

-openam.forgerock.org/doc/getting-started/index.html

-en.wikipedia.org/wiki/Single_sign-on

-blog.kaliconseil.fr/2011/02/21/using-openam-with-apache-as-a-reverse-proxy

-mkchendil.blogspot.ch/2015/02/apache-and-openam-saml-federation.html

-blogs.splunk.com/2013/03/28/splunkweb-sso-samlv2



All Articles