2012年12月26日水曜日

OpenAM 10.0.0 J2EEポリシーエージェントの設定

OpenAMのJ2EEポリシーエージェントを使用し、OpenAM本体と認証連携する。
下図で示すように、1つのGlassfish上に、OpenAM(認証サーバ)と業務アプリケーション用の2つのドメインを作成する。


① OpenAMの管理コンソールにログインする。「アクセス制御」タブ→「/(最上位のレルム)」→「エージェント」タブ→「J2EE」タブに移動する。

②「エージェント」項目の「新規」ボタンを押下する。以下の項目を入力し、「作成」ボタンを押下する。

  • 名前: glassfish(任意の値)
    ※ポリシーエージェントの設定でも必要になるため、メモしておく。
  • パスワード: password
    ※ポリシーエージェントの設定でも必要になるため、メモしておく。
  • 設定: 集中
    ※エージェントの設定情報が格納されている場所。「ローカル」の場合は、ポリシーエージェントが配備されているサーバに格納される。「集中」は、OpenAM サーバで管理される。
  • サーバー URL: http://openam.yasuyasu.com:8080/opensso
    ※OpenAMの配備先URL。
  • エージェント URL: http://openam.yasuyasu.com:9090/agentapp
    ※ポリシーエージェントの配備先URL

③ポリシーを作成する。「アクセス制御」タブ→「/(最上位のレルム)」→「ポリシー」タブに移動する。「新規ポリシー」ボタンを押下する。

④以下のようにポリシーを設定する。設定した後、「了解」ボタンを押下する。

  • 名前:任意の値
  • ルール:URL ポリシーエージェント (リソース名あり)
    リソース名:http://openam.yasuyasu.com:9090/sampletest/simple
  • 対象:認証済みユーザー
  • 条件:IP アドレス/DNS 名

⑤以下のサイトから、J2EEポリシーエージェント(Glassfish用)「appserver_v10_agent_3.zip」をインストールする。

http://www.forgerock.org/openam.html

⑥ダウンロードしたZIPファイルを任意の場所に解凍する。ここでは、C:\Users\yasu-bushi\Downloads\j2ee_agentsに解凍する。

⑦ポリシーエージェント時に必要となるパスワードファイルを作成する。パスワードファイルには、②で設定した値を記載する。

echo password> .\password

⑧agentadminコマンドを実行し、ポリシーエージェントをセットアップする。

C:\Users\yasu-bushi\Downloads\j2ee_agents\appserver_v10_agent\bin>agentadmin --install

-----------------------------------------------
SUMMARY OF YOUR RESPONSES
-----------------------------------------------
Application Server Config Directory :D:\glassfish\domains\domain2\config
Application Server Instance name : server
OpenSSO server URL : http://openam.yasuyasu.com:8080/opensso
Agent URL : http://openam.yasuyasu.com:9090/agentapp
Agent Profile name : glassfish
Agent Profile Password file name :C:\Users\yasu-bushi\Downloads\j2ee_agents\password

⑨agentapp.warをglassfishに配備する。

⑩サンプルアプリケーションをglassfishに配備する。このとき、web.xmlには、ポリシーエージェントが呼ばれるように、以下のフィルター設定を記載する。

----------------------------------------------------------------
<filter>
  <filter-name>Agent</filter-name>
  <filter-class>com.sun.identity.agents.filter.AmAgentFilter</filter-class>
</filter>

<filter-mapping>
  <filter-name>Agent</filter-name>
  <url-pattern>/*</url-pattern>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>INCLUDE</dispatcher>
  <dispatcher>FORWARD</dispatcher>
  <dispatcher>ERROR</dispatcher>
</filter-mapping>
----------------------------------------------------------------


⑪サンプルアプリケーションにアクセスした際、OpenAMのログイン画面が表示されることを確認する。また、ログインが成功した後、サンプルアプリケーションにアクセスできることを確認する。

【補足】
J2EEポリシーエージェントのデバックログ・監査ログの出力先:
C:\Users\yasu-bushi\Downloads\j2ee_agents\appserver_v10_agent\Agent_001\logs\debug\debug.out



0 件のコメント: