OpenAM + openLDAPによる シングル・サイン・オン(SSO)環境の構築 入門? 1 - end0tknrのkipple - web写経開発
先程のエントリに続き、今回は、OpenAMのWeb Agent(SP?)を導入します
Web Agent のinstall
Web Agent = SP (Service Provider)の理解でいいのかな? まぁ、インストール自体は簡単なんですけど
$ cd /home/endo/local $ wget https://backstage.forgerock.com/downloads/enterprise/openam/webagents/stable/3.3.3/Apache-v2.2-Linux-32-Agent-3.3.3.zip $ unzip Apache-v2.2-Linux-32-Agent-3.3.3.zip $ cd web_agents/apache22_agent/bin ##インストーラがapacheの設定( httpd.conf)を書換える為、一度、apacheを停止します $ /home/endo/local/apache22_2/bin/apachectl stop $ vi /home/endo/local/web_agents/apache22_agent/bin/password.txt ##前回のエントリで入力した ##ポリシーエージェント(UrlAccessAgent)に対応するパスワードを登録して下さい $ ./agentadmin --install : ----------------------------------------------- SUMMARY OF YOUR RESPONSES ----------------------------------------------- Apache Server Config Directory : /home/endo/local/apache22_2/conf OpenAM server URL : http://colinux.a4.jp:8080/openam11_0_0 Agent URL : http://colinux.a4.jp:8081 Agent Profile name : colinux_a4_jp_8081 Agent Profile Password file name : /home/endo/local/web_agents/apache22_agent/bin/password.txt : $
「./agentadmin --install」の実行により
/home/endo/local/web_agents/apache22_agent 以下に「Agent_001」というdirができたり、httpd.conf に次の1行が追加され、OpenAMの認証配下に入ります
include /home/endo/local/web_agents/apache22_agent/Agent_001/config/dsame.conf
OpenAM IdPへのWeb Agent (SP?)の登録
OpenAM IdPへのWeb Agent (SP?)の登録は、OpenAM IdP の画面から行います。
私の場合、次のurl。 http://colinux.a4.jp:8080/openam11_0_0
「アクセス制御」タブ > 「/(最上位のレルム)」リンク >「エージェント」タブ の順に画面遷移し、「Web エージェント」欄の「新規」からwebエージェントを登録します。
※「新規」クリック直後は、OpenAMの管理者であるamAdminとパスワードが表示されると思いますが、Agentの名前とパスワードを入力して下さい
一般欄にあるSSO のみモードは「有効」にチェックを入れないと、ユーザ認証を通ってもwebアプリが403でアクセスできなくなりました。
認証を必要するurlの設定
まず「エージェント」→「Web」→「$エージェント名のリンク」から、「アプリケーション」タブを選択して下さい。
その画面の「適用されないURL処理」において、品証を必要とするURLを入力し、「適用されないURLの反転=ON」にすることで、必要なページのみ認証されます
ユーザデータストアの登録
web agentのインストールが完了しましたので、前回、後回しにしていたユーザデータストアをここで登録します。
「データストア」タブ から「新規」ボタンをクリックし、必要な内容を登録します。
※openLDAPの場合、「汎用LDAP v3」を選択
ユーザデータストア登録の2番目の画面のキャプチャは一部しか貼っていませんが、私の場合、次の内容をデフォルトから変更しました
LDAP サーバー | colinux.a4.jp:389 追加 |
---|---|
LDAP バインド DN | cn=Manager,dc=my-domain,dc=com |
LDAP バインドパスワード | ないしょ |
LDAP 組織 DN | ou=People,dc=my-domain,dc=com |
LDAP ユーザー検索フィルタ | (objectclass=inetorgperson) → 空白 |
問題なく設定されている場合、「アクセス制御」タブ > 「/(最上位のレルム)」リンク > 「対象」タブで画面遷移すると、ldapに登録されているユーザが一覧表示されます
TODO - 次回、機会があれば
HTTPヘッダに任意のldap属性を追加したい
OpenAMの標準機能で画面から設定できそうですが
uid x passwd , mail x passwd でログイン
こちらも、OpenAMの標準機能で画面から設定できそうですが...