OpenSSOを導入する
2008/11/21:この記事にあるOpenSSOはかなり古いものです。最近のものを使う際の参考にはならないかもしれませんのでご注意ください。
ひとまずOpenSSOを導入してみた。
OSは「Windows XP Professional SP2」の「VMWare Player 1.0.3」上に入れた「CentOS 4.4」。
その他のミドルウェアとして「Apache Tomcat 5.5.23」と「JDK 1.5.0_11」を事前に導入。また、Tomcat用ユーザとして「tomcat5」を作成。
ここでは都合上CentOSに導入しているが、サーバー自体はJ2EEアプリケーションだし、スタンドアロンで動作するサンプルアプリもbat形式の起動ファイルがあるので、Windowsに入れても動作する。
- まずは以下のページの「latest」(今回は20070406)から「opensso.war」を取得。拡張子が「zip」だったりするので落とした後に拡張子を「war」に変更。
- http://download.java.net/general/opensso/nightly/amserver/
- ※追記:ぱっと見たところOpen FederationはOpen Accessを内包してそうな感じなので、「opensso.war」を取得せずに上記URLの「amserver」のところを「openfm」にして「openfm.war」を取得した方が良いかも。
- 「opensso.war」をTomcatのwebappsに放り込んでTomcatを起動するとWARが展開される。
- 「http://localhost:8080/opensso/」にアクセスすると設定用ページにリダイレクトされる。ひとまず今回は以下の部分だけ変更して「Configure」ボタンを押した。
- Access Manager Settings
- Administrator
- Password:「password」
- Retype Password:「password」
- General Settings
- Configuration Directory:「/home/tomcat5」
- Administrator
- Configuration Store Settings
- Directory Server Administrator
- Password:「password」
- Retype Password:「password」
- Directory Server Administrator
- Access Manager Settings
- 設定後、ログイン画面(http://localhost:8080/opensso/UI/Login)が表示される。
- 設定どおり「amAdmin」「password」でログイン。
- 「Access Control」タブに「opensso」というRealmが存在することを確認。
サーバー側はひとまずこれでOK。
基本的には「Access Control」タブの「opensso」Realmに対して設定していくことになる。
全体の設定をいじる場合は「Configuration」タブでいじる。
「Sessions」タブは現在有効なSSOセッションを表示する。
「Sessions」にはSSOクライアントからのアクセス以外に管理コンソールのセッションも表示されるため、インストール後の管理画面で見る「amAdmin」のみが表示されているはず。今後SSOクライアントを作成するときにちゃんとSSOセッションが生成されているか、あるいはSSOセッションが無効になっているかを確認するときに使える。
なお、「Configuration Directory」として設定した「/home/tomcat5」にはサーバーの設定やログが格納される。
現時点ではおそらく以下のものがあるはず。
- AMConfig.properties:設定ファイル
- AccessManager(ディレクトリ):不明
- am_sm_ad_schema.ldif:不明
- opensso(ディレクトリ):ログやら設定やら状態やらが入っている
- serverconfig.xml:設定ファイル(Datastore用か?初期状態ではUser1とUser2の設定が入ってる)
openssoディレクトリ内のdebugやlogにログが出力されるが、AMConfig.properties内の「com.iplanet.services.debug.level」の値を「error」から「message」にするとdebug内に詳細なログが出力されるようになる。
※注意:正しい用語を知らないので上記の「SSOセッション」「SSOクライアント」は不適切かもしれない。ニュアンスで解釈してもらえるとありがたい。