end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

OpenAM + openLDAPによる シングル・サイン・オン(SSO)環境の構築 入門? 2

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の標準機能で画面から設定できそうですが...