水曜日 8 26, 2009

最新の OpenSSO ビルドを使用する際の注意事項〜JDK1.6 以上を使うべし



先日、最新の OpenSSO のナイトリービルドの評価のために、
Glassfish に配備して、試しにポリシーエージェント3.0 をインストールしようと
したのですが、以下のようなエラーに遭遇してしまいました。

Enter the path to a file that contains the password to be used for identifying
the Agent.
[ ? : Help, < : Back, ! : Exit ]
Enter the path to the password file: /etc/agentpass.txt

WARNING:
Unreachable Server URL :
http://my.test.domain.com:8080/opensso/identity/authenticate ,
OpenSSO server version may be lower than 8.0. Agent profile/user can not be
validated

どうやら、アイデンティティーサービスが正しく機能してない様子。
エージェントのログファイルには、以下のようなエラーが出てました。


server.log:java.lang.UnsupportedClassVersionError: PWC1651: Class com.sun.identity.idsvcs.IdentityServicesImpl has unsupported major or minor version numbers, which are greater than those found in the Java Runtime Environment version 1.5.0_15

んー、おかしいな??と色々調べてみたところ、
最新の(少なくとも、2009年6月中旬以降) OpenSSO は、
JDK1.6 とともに使用しないといけないみたいですね。

上記の環境では、Glassfish を JDK1.5_0_15 を使って動かしていたために、
不具合が起こっていたようです。
早速、最新の JDK1.6_16 をとってきて、
Glassfish の asenv.conf ファイルを


AS_JAVA="/usr/jdk/jdk1.6.0_16"

と置き換えて、Glassfish を再起動したところ、
ポリシーエージェントのインストールは正常に完了しました。

この注意事項は、OpenSSO ビルド8 のリリースノートに記載される予定です。

月曜日 5 11, 2009

OpenSSO 診断ツール

ナイトリービルドのダウンロードディレクトリにある
ssoExternalTools.zip を解凍すると、その中に、ssoDiagnosticTools.zip というファイルがあります。
このファイルの中にある ssodtool は、エージェントの設定内容が正しいかとか、OpenSSO を配備した web コンテナの JVM オプションやポリシーの設定に不備はないか、といったさまざまな観点から診断をしてくれる便利なツールです。

ツールを実行するには、Unix 環境では、ssodtool.sh を、Windows 環境では、ssodtool.bat を実行します。

すると、以下のようなウインドウが表示されます。

例えば、OpenSSO サーバーの設定の診断をするのであれば、左側で「Server」を選択し、「Server Configuration」を選択し、右側の Configuration Directory には、OpenSSO の設定ディレクトリ(例:/opensso)を指定します。
そして、「Run Selected」を実行すると、以下のように診断結果が表示されます。

例えば、エージェントの診断をするのであれば、左側で「Agents」を選択し、「J2EE Agent」を選択し、右側の Configuration Directory には、インストール済みのエージェントのインスタンスの設定ディレクトリを指定します。

例: /workspace/j2ee_agents/appserver_v9_agent/Agent_002/config

そして、「Run Selected」を実行すると、以下のように診断結果が表示されます。

ぜひ、この便利なツールを使ってみてください。
なお、現在、このツールのメッセージをローカライズしているところです。
日本語化が完了したら、またこのツールの各機能について紹介できればと思ってます。

月曜日 3 30, 2009

Identity Manager 8.1 - Active Directory コネクタの設定手順



今回は、以前のブログで紹介した Identity Manager 8.1 の新機能である コネクタによるリソース管理について、 製品にバンドルされている Active Directory コネクタを例にして 設定の手順を紹介したいと思います。

使用する環境

今回は、以下の環境を用いて手順を紹介します。
  • Identity Manager 8.1
    • OS: Solaris 10 Update Release 7:
    • Web コンテナ: Glassfish U2V2
    • リポジトリ: MySQL 5.1.32
  • Active Directory
    • OS: Windows 2003 Enterprise Edition

前提条件

  • Glassfish は /opt/SUNWappserver ディレクトリにインストール済み。
    今回はデフォルトのドメイン domain1 を使用する。
    インスタンスポート 8080、管理ポート 4848。
  • MySQL は /opt/mysql ディレクトリにインストール済み。
  • Windows マシンには、Active Directory はインストール済み。
  • Windows マシンには、.NET 2.0 および 3.5 をインストール済み。
注意:Active Directory コネクタサーバーのインストールには、.Net 3.5 が必要ですので、 あらかじめインストールしておいてください。

手順

1. Identity Manager 8.1 のバイナリをダウンロードする

ダウンロードサイトから IDM_8_1_0_0.zip と IDM_8_1_L10N.zip をダウンロードします。



ここでは、/download ディレクトリにダウンロードしました。

2. MySQL サーバーを起動し、waveset テーブルを作成する

  1. /etc/my.cnf を次のように記述して、作成する。
    [mysqld]
    
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
  2. サーバーを起動する。
    # cd /opt/mysql
    # bin/mysqld_safe --user=mysql&
    
  3. waveset テーブルを作成する。
    # bin/mysql < /download/db_scripts/create_waveset_tables.mysql
    

3. Identity Manager のインストール

  1. IDM_8_1_0_0.zip を解凍する。
    # unzip IDM_8_1_0_0.zip
    
  2. "sh install" でインストーラを実行する。
  3. Welcome パネルが表示されたら、「Next」をクリックする。
  4. Software License Agreement パネルが表示されたら、「Yes(Accept License)」をクリックする。
  5. Install or Upgrade? パネルが表示されたら、「New Installation」を選択し、「Next」をクリックする。
  6. Select Installation directory パネルが表示されたら、Directory to install Sun Identity Manager components: の下のテキストフィールドに Identity Manager をインストールするディレクトリを指定します。ここでは、/opt/idm81 とします。
  7. Create new directory? ポップアップウィンドウが表示されたら、「Create Directory」をクリックします。
  8. Ready to Install パネルが表示されたら、「Install Now」をクリックします。
  9. Launch Setup パネルが表示されたら、「Launch Setup」をクリックします。



  10. Have you copied all JAR files? ポップアップウィンドウが表示されたら、 先に進む前に、端末エミュレータを起動して、MySQL コネクタファイルをコピーします。



  11. コピーしたら、さきほどのポップアップウィンドウで「Yes, Continue」をクリックします。
  12. Welcome パネルが表示されたら、「Next」をクリックします。
  13. Locate the Repository パネルが表示されたら、Repository Type として「MySQL (JDBC Driver)」を選択し、「Next」をクリックします。
  14. Setup Demo? パネルが表示されたら、「No, I will configure Identity Manager myself. 」を選択して、「Next」をクリックします。
  15. Save Configuration パネルが表示されたら、「Execute」をクリックします。
  16. インポートが完了したら、「Done」をクリックします。
  17. インストーラの Launch Setup パネルに戻るので、「Next」をクリックします。
  18. Installation Summary で、Status が Installed になっていることを確認し、「Close」 をクリックします。
  19. L10n zip ファイルを展開し、WEB-INF/lib にコピーする。
    # cd /opt/idm81/WEB-INF/lib
    # unzip /download/IDM_8_1_L10N.zip
    
  20. idm.war を作成する。
    # cd /opt/idm81
    # jar cvf ../idm.war \*
    
  21. idm.war を Glassfish に配備します。
    # /opt/SUNWappserver/bin/asadmin start-domain domain1
    # /opt/SUNWappserver/bin/asadmin deploy --port 4848 --contextroot /idm /opt/idm.war
    
  22. Glassfish を再起動します。
    # /opt/SUNWappserver/bin/asadmin stop-domain domain1
    # /opt/SUNWappserver/bin/asadmin start-domain domain1
    
これで、Identity Manager のインストールは完了です。

4. Windows 上でのコネクタサーバーのインストールと設定

  1. IDM_8_1_0_0.zip を解凍したディレクトリに移動し、以下のファイルを Windows マシンにコピーします。
    • /download/connector/dotnet/server/ServiceInstall.msi
    • /download/connector/dotnet/bundles/ActiveDirectoryConnector/binary/ActiveDirectory.Connector-1.0.0.3663.zip

    Administrator アカウントで Windows にログインし、上の 2 つのファイルを 例えば、C:\\temp ディレクトリにコピーします。
  2. ServiceInstall.msi を実行し、コネクタサーバーをインストールします。 インストールが完了すると、以下のディレクトリにコネクタサーバーが インストールされて、自動的にサーバーが開始されます。
    C:\\Program Files\\Identity Connectors\\Connector Server
  3. C:\\Program Files\\Identity Connectors\\Connector Server に移動し、ConnectorServer /setKey を実行します。
      プロンプトが表示されたら、キーを入力します。   ここで指定した文字列は、あとでコネクタサーバーへ接続するためのキー(いわゆるパスワード)として使いますので、忘れないようにします。
  4. 「スタート」→「管理ツール」→「サービス」から、   サービスウィンドウを起動し、Connector Server を選んで、   いったんサービスを停止させます。
  5. ActiveDirectory.Connector-1.0.0.3663.zip ファイルを C:\\Program Files\\Identity Connectors\\Connector Server にコピーして、 サービスウィンドウから、Connector Server を選んで、サービスを開始します。

5. Active Directory 上にコンテナを作成する。

ここでは、Identity Manager で使用するコンテナとして、 組織単位 IDMUsers を作っておきます。



これで、Windows 上での設定は完了です。

6. Identity Manager 上での設定

  1. ブラウザで、http://localhost:8080/idm にアクセスし、 Configurator でログインします。(パスワードは、Configurator)
  2. 「設定」タブをクリックし、さらに「コネクタサーバー」タブをクリックします。



  3. 「新規」をクリックします。



  4. 各フィールドに値を入れます。
    名前 ここには任意の名前を入れることが出来ます。
    ここでは、AD-connector-サンプル とします。
    ホストアドレスコネクタサーバーをインストールした、Windows マシンのホスト名または、IP アドレスを指定します。
    ホストポートコネクタサーバーが待機しているポートを指定します。
    ここでは、デフォルトの値 8759 を指定します。
    ホストパスワードコネクタサーバーへの接続用の認証キーを指定します。ここには、さきほど ConnectorServer /setKey を実行したときに、入力したキーを指定します。
  5. SSL の有効化とソケットタイムアウトについては、 デフォルトの状態のままにして、「保存」をクリックします。 ここまで正しく設定されていれば、以下のような画面になるはずです。



  6. 次に「リソース」タブをクリックします。
  7. 「リソースタイプアクション」から「新規リソース」を選択します。
  8. 新規リソースページが表示されたら、リソースタイプから 「Windows Active Directory コネクタ」を選択します。
  9. 以下のような画面が表示されてるはずです。



  10. 「新規」をクリックします。
  11. Windows Active Directory コネクタ リソースの作成ウィザード が表示されたら、「次へ」をクリックします。
  12. リソースパラメータページで、以下のフィールドに値を入れます。
    ディレクトリ管理者のパスワードAdministrator のパスワードを指定します。
    コンテナこのリソースで管理するコンテナを指定します。ここには、さきほど作成した組織単位 IDMUsers を指定します。
    OU=IDMUsers,DC=office,DC=TGC,dc=com
    (DC=以下の値は、お使いの Active Directory の環境にあわせてください)
    ドメイン名Active Directory のドメイン名指定します。
  13. 他の値はデフォルトの状態のままにして、「設定のテスト」をクリックします。



  14. テスト接続が成功しました! というメッセージが確認できたら、 「次へ」をクリックします。
  15. 「アカウント属性」のページでは、特に何も変更せず 「次へ」をクリックします。
  16. アイデンティティーテンプレート のページでは、 アイデンティティーテンプレート を指定します。 ここでは、 CN=$accountId$,OU=IDMUsers,DC=office,DC=TGC,DC=com とします。 「次へ」をクリックします。
  17. アイデンティティーシステムのパラメータ ページでは、 リソース名に、任意の名前を入力します。 「保存」をクリックします。




これで、Windows Active Directory コネクタの設定は完了です。

7. コネクタ経由で Active Directory 上にアカウントを作成する

試しに、Identity Manager 上から、Active Directory にユーザーを作成してみます。
  1. 「アカウント」タブをクリックします。
  2. 「ユーザーの作成」ページの ID タブで、 アカウントID、名、姓、パスワードを入力します。



  3. リソースタブで、さきほど作成した Active Directory コネクタリソースを 選択します。



  4. 「保存」をクリックすると、次のように ユーザーアカウントが作成されます。



    実際に、Active Directory を見ても、 次のようにアカウントが作成されていることが確認できます。



金曜日 3 27, 2009

OpenDS 日本語メーリングリスト開設しました

本日、OpenDS の日本語メーリングリストを開設しました。

OpenDS のメーリングリストのページ にアクセスしていただくと、
下の方に g11n_ja@opends.dev.java.net というのがありますので、
ぜひ、OpenDS に興味のある日本のみなさんにご参加いただければと思います。

今後、OpenDS の UI メッセージなどの翻訳もコミュニティと共同でやっていくことを
考えてまして、そういった話し合いの場として、このメーリングリストの開設を
Project Owner に依頼したわけですが、せっかく日本語でやりとりできる場ですし、
翻訳に関すること以外にも、日本語でのコミュニケーションの場として
やっていけたらと思ってます。

よろしくお願いします。

火曜日 3 10, 2009

Identity Connector project is now open!

Identity Connector project is now open!

https://identityconnectors.dev.java.net/

So, you don't have to request user role in order to see the project page.
Everyone is welcome. :)

-----

Identity Connector のページが正式にオープンになりました。
これで、プロジェクトメンバーでなくても
ページを参照できますし、コネクタのバイナリもダウンロードできます。
ぜひアクセスしてみてください。

月曜日 3 09, 2009

SLX にコンテンツを載せてみました

私は、時々、Sun Learning eXchange にアップされてるコンテンツを見て色々勉強することがあるのですが、
ビデオにおさめてアップするのはちょっと敷居が高いなぁ・・と思い、
自分で何かをアップするのは二の足を踏んでました。

でも、PDF 版なら、ブログで載せてたものを変換するだけで使えるし、
それなら自分でもできるかもと思い、ものは試しに
以前このブログで紹介したHow-To ものを SLX に載せてみました。

J2EE Agent 3.0 を用いて Weblogic に配備したサンプルアプリケーションをプロテクトする(Part1, 設定編)

J2EE Agent 3.0 を用いて Weblogic に配備したサンプルアプリケーションをプロテクトする(Part2, 検証編)

どれくらいの人が見てくれてるかがわかる、という点でも SLX は有効なので、
他のネタも PDF 形式で SLX にアップしてみようと思います。
#いずれは、ビデオ版もアップできればいいかなとは思いますが・・・・

ブログで色々と技術情報をアップされてる方は、
ぜひ SLX も有効活用してみてはいかがでしょう?

Identity Manager 8.1 New Feature - Managing resource with Identity Connector

As is explained here,
Identity Manager 8.1 provides new functionality for managing resources and applications that are not connected directly to Identity Manager through a resource adapter.
This release also includes the introduction of the Connector Framework and Identity Connectors, which provide a new, more flexible way for connecting Identity Manager to target systems and resources. In addition, this release expands the set of supported resources, applications, and platforms and extends product quality.

Identity Connectors are developped separately from Identity Manager
at the following open source project.

https://identityconnectors.dev.java.net/

Currently, connectors for SPMLv2 and Active Directory are bundled in Identity Manager.
In addition to that, connectors for more applications such as Google Apps, LDAP, MySQL are being developped in this project.

You can find the latest connector binary from
https://identityconnectors.dev.java.net/downloads.html .

Let's try to use the open-sourced Identity Connectors with Identity Manager.

日曜日 3 08, 2009

WBCアジアラウンド2戦:思わぬ大勝で2次ラウンド進出一番乗り

昨日のWBC韓国戦。
終わってみれば、まさか、まさかのコールド勝ち。
北京であれだけ打ちあぐねた金投手相手にあそこまで
打線がボールになるスライダーを見極めて好球必打で
とらえるとは・・・
昨日に限っていうと、こちらの松坂ともども
立ち上がりはどちらのピッチャーも制球がもう一つって感じに見えました。
その中で、日本は相手投手が立ち直る前に一気呵成で
村田の3ランで勝負を決めたのが結果的にあれだけの大差での
勝利につながったかな。

昨日のスタメンはこんな感じでした。
1イチロー・・・・ついに出ました。初回のヒットは天敵・金を攻略するにあたって
         チームに勢いをあたえてくれました。2回のバントヒットも相手を揺さぶる
         実に効果的な選択。4回のセンター前にポトリと落とすヒットを含めて
         3安打猛打賞。これで明日以降もいい感じで!
2中島・・・・・初回のセンター前ヒットでつないだ場面、2回の厳しい球を見極めて選んだ
        押し出し。4回にはイチローを返すなど、昨日は全打席出塁。
        脱・スモールベースボールで打ってつなぐ打線を目指す侍ジャパンの中で
        実にいい仕事をしてました。昨日の勝因は村田の3ラン、青木のタイムリーも
        大いに貢献したけど、やはりそのきっかけを作った中島の活躍が大きかった気がする。
3青木・・・・・初回の得点機に初球から果敢に打ってでてのセンター前タイムリー。
        中国戦同様、バットが触れてるみたいで、頼れる3番です。
        2回に4-2となったあとのショートゴロで1点もぎとって、しかもゲッツーじゃなかったのは
        青木の足ならでは。中盤の犠牲フライ含めて、ポイントゲッターとして大活躍。
4村田・・・・・さすがセリーグのホームランキング。2試合連続のランナーをおいてのホームラン。
        あの3ランで、韓国にとどめをさすことができました。
5小笠原・・・・調子はもう一つ?テレビで見てて「よし、きたっ」って球をファウルにしちゃってる
        シーンが目立ってたかな。昨日はDHでの起用だったけど、明日の韓国戦は稲葉とどっちを使うのかみもの。
6内川・・・・・左腕金対策での先発起用に見事こたえました。初回3連打で1点取ったあとに
        4,5番の連続三振で流れが切れかけたところでのあの2点タイムリー2塁打は
        大きかった。さすがセリーグのリーディングヒッターでした。
        明日も頼むよ。
7福留・・・・・まだまだ本調子じゃない感じだけど、昨日1本ヒットが出たんでこっからの
        爆発に期待。
8城島・・・・・投手陣をうまくリードするとともに、打つほうでも3安打1ホームランと大活躍。
        さすがですね。アメリカの審判が球審をつとめるだけに、
        アメリカのストライクゾーンを熟知して審判との駆け引きにも慣れてる
        彼がいるのは非常に心強い。
9岩村・・・・・ヒットこそまだ出てないけど、昨日はいい感じでフォアボールでつなぎの役を演じて
        2回の大量点を産みました。そろそろ1本出るでしょう。

先発
松坂・・・・・・立ち上がりはスライダーがほとんどワンバウンド気味のボールで、
        ストライク取りにいったところを看板直撃弾を食らうし、
        どうなることやら?と思ったけど、打線の大量援護のおかげもあってか
        3,4回はうまく立ち直った感じでなんとか2失点でまとめました。
        でも、いつもいつもあんなに大量の援護をできるわけじゃないから、
        次はエースらしいぴしゃっとしたピッチングに期待。

さぁ、明日の1位決定戦。先発は岩隅かな?
いいピッチングで試合の立ち上がりを締めてもらいたいです。
村田3連発なるか??

p.s.
まさか中国が台湾に勝つとは。ほんとに力をつけてきてますね。
とくにピッチャーがいい。日本もてこずったし。
今日の韓国との敗者復活最終戦。
韓国打線相手にも同じようなピッチングができるようだと
次回はほんと手ごわい存在になるのかも。
まぁ、それでも明日上がってくるのは韓国だろうな・・・・

土曜日 3 07, 2009

Identity Manager 8.1 is released on sun.com

Identity Manager 8.1 is released on sun.com and you can download it from here.

This is the first release of "sim-ship", delivers both base(English) and localization component at the same time.

You can find IDM_8_1_0_0.zip at Required Files section in download page,
it is the core and base component.
In addition to that, if you want to use localized Identity Manager,
please download language pack file, IDM_8_1_L10N.zip from Optional Files section in this page.

Doucument is also published on docs.sun.com.
Now, English only is published. As for translated documet, it will be available within a month or so.
Please stay tuned.

金曜日 3 06, 2009

Identity Manager 8.1 New Features - コネクタによるリソース管理

Identity Manager(IDM) 8.1 では、リソースの管理方法として、
従来の IDM 付属のアダプタ経由で管理するという機能に加えて
新たに、コネクタ経由でリソースを管理できる機能が加わりました。

コネクタは、Identity Manager とは別個になっていて、
オープンソースの Identityconnectors プロジェクトで開発されています。

https://identityconnectors.dev.java.net/

Identity Manager 8.1 では、SPMLv2 と Active Directory 用のコネクタが
デフォルトでバンドルされていますが、それ以外にも、Google Apps や、LDAP、MySQL などさまざまなリソース向けのコネクタが現在開発中です。

開発中のバージョンを使いたい場合には、
https://identityconnectors.dev.java.net/downloads.html からダウンロードできます。

これまでは、新しくリリースされたソフトウェアを IDM でリソースとして管理するには、
IDM の次のリリースでそれをサポートしてくれるのを待たなくてはなりませんでしたが、
リソース管理のフレームワークを Identity Manager の外に出して、
「コネクタ」を介して行うようにすることで、
Identity Manager のリリーススケジュールに縛られずに
もっとタイムリーに、そしてフレキシブルに
最新のソフトウェア・リソースをサポートするコネクタを提供することが可能となります。

コネクタ自体は、オープンソースですから、リリース前の最新のビルドを試しに使って、バグをレポートしたりして、品質を上げるのに貢献することもできますし、
また、提供されてるフレームワークを元に独自のコネクタを作ることもできます。

ぜひ、Identity Manager 8.1 ともども、Identity コネクタも使ってみてください。
バンドルされている SPMLv2 と Active Directory 用のコネクタの設定方法については、
近いうちにこのブログで紹介したいと思います。

Identity Manager 8.1 リリースされました

Identity Manager の最新バージョン 8.1 が sun.com からダウンロード可能となりました!

ダウンロード先はこちら

今回、なんといっても画期的なのは、英語版とローカライズ版が同時に
リリースされたということです。

ダウンロードページを見ていただくと、
上の Required Files には、IDM_8_1_0_0.zip があり、これがいわゆる本体のファイルとなります。
これに加えて、下部の Optional Files の方にある、IDM_8_1_L10N.zip も一緒にダウンロードしていただいて、
zip ファイルをアーカイブしたあと、ローカライズ版の jar ファイルを
Identity Manager を配備したディレクトリの WEB-INF/lib の下に置いてください。
(ここら辺の手順は、これまでのリリースと変わりません)

なお、ドキュメントの方はまだ英語版しかありませんので、日本語版についてはもう少しお待ちください。

木曜日 3 05, 2009

WBCアジアラウンド初戦:緊張の中の白星スタート

いよいよWBCが始まりましたね。
今日の初戦の中国戦、さきほど見終わったけど、
やはり国際試合初戦だけあってか、全体的に緊張でガチガチな感じがしました。
とくに打線・・・・
やっぱり、中心選手のイチローにヒットが出ないとねぇ。
1打席目にファーストゴロ、2打席目はサードゴロ。
3打席目は1死2,3塁の得点機にセカンドゴロ。
そして4打席目はやはり1,2塁の得点機でショートゴロ、
と内野の全4箇所にゴロを転がしてしまいました。
最後はセカンドフライと5の0。
うーん、そのうち打つだろうの「そのうち」が早くきてもらいたいもんです。
重苦しい&拙攻でちぐはぐな攻撃が続いた中、
「ホームランキング」の村田に一発が出たのは明るい材料かな。
これで、次の試合も勢いに乗って(いい意味で調子に乗って)
ガンガン行ってもらいたいです。

投手陣は、ダルビッシュがきっちり少ない球数で4回46球ノーヒットと
いい仕事をしましたね。50球以内で終えられたことで
アジアラウンド最終戦での登板も可能となりました。
あとに続いたリリーフ陣も、ヒットをパラパラと打たれたものの
結局2塁を踏ませずに完封リレー。
球児はまだまだ本調子じゃないのかな?
球速が140キロ前半でしたね。まぁ、これからでしょう。

次の試合は、土曜日。
明日の韓国vs台湾の勝者との対戦。
やっぱり韓国が来るかな。
今日以上に厳しい試合展開になるだろうから、松坂はじめとする
投手陣にがんばって、打線には少ないチャンスに効果的に
点をとってもらいたいもんです。

火曜日 3 03, 2009

OpenSSO のログインページをカスタマイズする方法

OpenSSO のログインページをカスタマイズする方法について日本語で書いたドキュメントを
wikis.sun.com に掲載しました。

原文は、docs.sun.com に掲載されているオフィシャルガイド「Internationalizing the Sun OpenSSO Enterprise 8.0 Login Page」の wiki ページ版「Internationalizing the Sun OpenSSO Enterprise 8.0 Login Pageです。

なお、このカスタマイズガイドでは、ログインページのロゴを変えたり、ページに表示されるメッセージテキストを追加したり変更したりするといった、いわゆる「見た目」をカスタマイズする方法について説明しています。
機能の点から、ログインページを変更するといったことには触れていませんのでご注意ください。

例えば、こんな風にログインページをカスタマイズできますよ、ってことが書かれています。

土曜日 2 28, 2009

OpenSSO を用いた仮想フェデレーション(Virtual Federation)

今回は、SDN(Sun Developper Network)の記事の中から、Enabling Virtual Federation With OpenSSO, Part 1: Introduction に掲載されている、OpenSSO を用いてレガシーなアプリケーションの連携を、シンプルにかつ安全に行う仮想フェデレーション (Virtual Federation)技術について、原文の一部を翻訳しつつ紹介していきたいと思います。

課題


ここ最近では、アイデンティティー管理やアクセス管理を行う上で、「フェデレーション(連携)」が非常に重要なキーワードとなっていて、以下にあげるようなものがビジネス上のゴールとなってきています。
  • 複数のアプリケーションを外部のパートナー(のアプリケーションなど)と連携させる
  • 外部パートナーとの間でのユーザーデータの同期をより精度良く行う
  • セキュアな(技術的に安全な)状態を保ちながら連携を行い、ユーザーのプライバシーを保持する
  • 連携で相互運用性の利益を得る
  • 企業内のアイデンティティー情報と連携のインフラを集中管理する


多くの企業ではすでに、上記のゴールの達成を目指して、アイデンティティー管理や連携に関するプロジェクトに投資を行っていますが、技術的に解決しなければならない多くの課題に直面しています。
それらの課題はおおまかに次の2つに区分けすることができます。

  • 連携をサポートしていない既存の(レガシー)アプリケーションに対してセキュアに連携を行う 企業でアイデンティティー情報の連携を行う上では、Web ポータル、e-コマースのサイト、人事システムなど、既存のアプリケーションを連携することが必須となります。 それらのアプリケーションが商用の既製製品であるか、社内で構築したアプリケーションであるかにかかわらず、連携のためにはいくつかのインテグレーション作業(SOA 用語で言うところの first-mile や last-mile)が必要となります。 さらに、インテグレーションはセキュアに行わなくてはなりません。どのような企業でも外部のパートナーへユーザーのアイデンティティー情報を提供する際にはセキュリティとデータのプライバシーの保持を最優先とします。 それ以外にもまだまだやらなくてはいけないことは色々とあります。ユーザーのアイデンティティー情報をリモートのパートナーとどうデータ交換したり、同期をとったり、どのようにしてデータを複製(レプリケーション)するか、などです。
  • 外部パートナーに対して標準規格の連携で管理する 成熟度の高い組織では、相互運用性の利点について非常に敏感であり、次のようなものを採用する傾向にあります。
    • オープンな標準規格の連携技術 -- これを用いることで、1 つのベンダーのロックイン(占拠)を避けることができる。
    • スタンダードなインテグレーション技術 -- これを用いることで、連携を行おうと予定しているさまざまなアプリケーションに対して同じ技術を繰り返し適用することができる。
    しかしながら、標準規格を用いてアプリケーションをパートナーと連携させようとすると、すぐに管理コストが法外なものとなってしまいます。 多くの企業にとっての重要な問題は、いかにして集中化させたアイデンティティー管理のインフラを再利用させるかなのです。 要するに、我々にとっては集中管理型の連携ソリューションが必要となるわけです。

仮想フェデレーション〜上記課題へのソリューション提起

上であげた課題に対するソリューションとして、ここで提起するのが Sun OpenSSO Enterprise を用いた「仮想フェデレーション」技術です。

仮想フェデレーションでは、アイデンティティー情報(認証、プロファイル、トランザクション属性) を OpenSSO にセキュアにプッシュし、OpenSSO がそのデータを外部のパートナーへ標準の連携プロトコルを用いて伝搬することで、レガシーアプリケーションの連携を可能にします。

さらに、企業のアイデンティティーインフラ内で、OpenSSO を集中管理連携コンポーネントとし、その OpenSSO を用いて連携対象となるアプリケーションと外部のパートナーを一括管理することもできます。

利益


ハイレベルな観点では、仮想フェデレーションは非常にシンプルで、セキュアなメカニズムです。 SAML(Security Assertion Markup Language) 2.0 プロトコルを用いて、1 つのアプリケーションのアイデンティティー情報を別のドメインのアプリケーションへと伝送し、OpenSSO インスタンスを通してアプリケーションやサービスを外部パートナーと連携させることが容易にできます。
仮想フェデレーションでは、OpenSSO での認証処理と組み合わせることでアイデンティティー情報のセキュアな伝搬を実現します。アプリケーションに代わって、OpenSSO が、外部パートナーへのデータ転送の役目を担うわけです。
現在、仮想フェデレーションは以下のプロトコルに対してのみ動作しますが、将来的には他の連携プロトコルやプロファイルにも対応させる予定です。
  • SAML 2.0 browser-based transient federation and federated SSO
  • Browser-based HTTP GET and POST binding mechanisms of the SAML 2.0 protocol

仮想フェデレーションは次のような利益をもたらします:
  • 各アプリケーションを緩い結びつき(loosely coupled)で連携するので、従来の事前に設定済みのローカルリポジトリからデータを抽出するという手法と比べると、アイデンティティー連携の拡張性があります。
  • 1 つの OpenSSO インスタンスだけで複数のアプリケーションを連携することができます。
  • ローレベルでは、OpenSSO インスタンスは SAML 2.0 標準準拠プロトコルゲートウェイの役割を担います。OpenSSO によりユーザー認証が可能となり、SAML 2.0 を用いて安全にアイデンティティー情報を伝搬させることができるわけです。
  • 仮想フェデレーションは、わずかなクライアント API のみを要するライトウェイトな OpenSSO コンポーネントなので、元々フェデレーションに対応してないレガシーなアプリケーションやサービスを連携するためにインテグレーションに費やす労力を軽減させることができます。

仮想フェデレーション導入前後の比較

以下の表では、仮想フェデレーションを導入する前と後では、各課題への取り組みのシナリオがどう違ってくるかを示しています。
課題 仮想フェデレーション導入前 仮想フェデレーション導入後
レガシーアプリケーションを安全に連携する トラディショナルな手法を用いて、複雑で密結合(tightly coupled)な連携を実現する シンプルな連携とインテグレーション作業により、シンプルに、安全で疎結合な連携を実現する
連携したアプリケーションと連携のためのインフラを集中管理する アプリケーションごとに 1 つずつ、アプリケーションの数だけの連携ソリューションを配備する 連携管理のためにアイデンティティープロバイダ側とサービスプロバイダ側に OpenSSO インスタンスを 1 つずつ配備する
さまざまな企業内にある、ばらばらのデータリポジトリの間で、アイデンティティー情報(ユーザー属性、プロファイル、認可データ)の同期をとる リポジトリ間でアイデンティティー情報をやりとりするためにプロビジョニングツールや同期ツールを使う シンプルで安全で標準化されてる手法により、追加のアイデンティティー情報を使ってやりとりする。場合によっては、やりとりの際に使ったデータはアプリケーションから削除する
標準に準拠した相互運用性 専用の、拡張不可なテクノロジーとだけ動作可能な独自のソリューション SAML 2.0 による アイデンティティープロバイダとサービスプロバイダ間での標準準拠なインタラクション


Figure 1 に示すような仮想フェデレーションの例を考えてみます。



ある銀行の web アプリケーションは顧客のユーザー認証を行う役目を担っているアイデンティティープロバイダ(IdP)であり、外部のパートナーのアプリケーションと連携している。外部のパートナーのアプリケーションはサービスプロバイダ(SP)として小切手の処理を行い、適切な小切手画像をユーザーに提供する。

このシナリオの背後では次のようなプロセスが流れています。
  1. SAML 2.0 を用いて、IdP から SP へとトランザクションが伝搬される。トランザクションには、認証データ、アイデンティティーデータおよびトランザクションに関するデータが含まれている。
  2. まず最初にユーザーは、IdP に対してユーザー認証を行う。
  3. 認証されたユーザーが自分の所有する小切手の番号をクリックすると、銀行の IdP ポータルアプリケーション(以下、IdP)は小切手処理を行う SP アプリケーション(以下、SP)に対して小切手画像をリクエストする。
  4. ユーザーを識別・特定するために、IdP はアカウント番号 (ユーザー属性) と小切手の番号 (トランザクション属性) を SP に対してプッシュする。
  5. SP はユーザーの認証結果を確認した上で、IdP からの SAML 表明に含まれる属性(ペイロード)を受け取り、その表明の内容を全面的に信頼した上で、ユーザーに対して小切手画像データを送る。

仮想フェデレーション導入以前は、アカウントと小切手情報を IdP から SP へ渡すのには問題がありました。異なる企業に存在するリポジトリ間でのユーザーデータのプロビジョニングや同期の際に起こる問題に対処するケースが多々ありました。仮想フェデレーションの導入により、データ交換はシンプルで安全で標準化されます。

SAE(Secure Attribute Exchange)


仮想フェデレーションには SAE(Secure Attribute Exchange) と呼ばれるコンポーネントが含まれていて、次に示すように、SAE と OpenSSO によって first-mile と last-mile のインテグレーションをセキュアに行います。
  • セキュアな first-mile インテグレーション (IdP 側) — SAE は、アイデンティティー情報を連携対象となるアプリケーションから IdP の OpenSSO インスタンスへと注入します。そして、アイデンティティー情報は SAML 2.0 表明の属性ステートメントの中に埋め込まれて、IdP から SP へと伝達されます。
  • セキュアな last-mile インテグレーション (SP 側) - SAE のセキュリティメカニズムにより、SP の OpenSSO から連携対象となるアプリーケーションへデータを安全に転送します。どのような場合でも、SAE は共通鍵暗号法または公開鍵暗号法によりセキュリティを保証します。 このデータの流れを図解で示したのが Figure 2 になります。



    ここまで見てきたように、OpenSSO のシングルサインオン、SAML 2.0、SAE を組み合わせることで、レガシーアプリケーションの連携をシンプルに、安全に実現できます。
    Enabling Virtual Federation With OpenSSO, Part 2: A Tutorial では、OpenSSO 付属のサンプルプログラムを例に、実際にどのように設定するかの手順が説明されてるので、こちらの記事についても次回紹介したいと思います。

木曜日 2 26, 2009

OpenSSO でカスタマイズしたユーザー属性を作成して使用する方法

wikis.sun.com にある Creating Custom User Attributes in OpenSSOを元にして、
OpenSSO でカスタマイズしたユーザー属性を作成して使用する方法を書いてみました。

wikis.sun.com - OpenSSO でカスタマイズしたユーザー属性を作成して使用する方法
一応、実機(OpenSSO Enterprise 8.0 + embedded OpenDS + Glassfish U2V2)での結果を元にして書きましたが、もし手順や説明に間違いなどあればご指摘ください。

ここのところ話題の WBC にちなんだサンプルシナリオとなってます\^\^;
昨日、一昨日のオーストラリア戦は相手のレベルが低すぎて、
(1試合で6エラーはひどい・・・)
いまいち「強化試合」になったのかは疑問ですが、
(サインプレーもほとんど試してないし・・・・)
いよいよ来週からアジアラウンドが始まります。
2連覇への道は険しいでしょうが、がんばってほしいものです。

About

hanaki

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日