Sun Identity Manager 8.1 ビジネス管理者ガイド

Sun JMS サーバーを使用する PasswordSync の設定

Identity Manager は Java Message Service (JMS) を使用して、PasswordSync サーブレットからパスワードの変更の通知を受信できます。配信の保証に加えて、JMS はメッセージを複数のシステムに配信できます。


注 –

このアダプタの詳細については、『Sun Identity Manager 8.1 Resources Reference 』を参照してください。


この節ではサンプルのシナリオを使用して、Sun JMS サーバーを使用する PasswordSync の設定手順について説明します。

説明する内容は次のとおりです。

シナリオ例

JMS サーバーを使用する PasswordSync の設定で一般的な (単純な) 例は、ユーザーが Windows 上で自身のパスワードを変更できるようにして、Identity Manager で新しいパスワードを取得し、Sun Directory Server 上で新しいパスワードを使用してユーザーアカウントを更新するというものです。

このシナリオで構成された環境は次のとおりです。

JMS と JNDI を有効にするために、次のファイルが Tomcat の common/lib ディレクトリにコピーされています。

管理オブジェクトの作成と格納

ここでは、次の管理オブジェクトの作成および格納手順について説明します。 この手順はシナリオ例が正しく機能するために必要です。

LDAP ディレクトリまたはファイルに管理オブジェクトを格納できます。ファイルを使用している場合、ファイルのすべてのインスタンスが同じである必要があります。

手順については、次を参照してください。


注 –

LDAP ディレクトリへの管理オブジェクトの格納

PasswordSync と JMS リスナーは、LDAP ディレクトリに格納されている管理オブジェクトを使用するように設定できます。図 11–14 は、この処理を示しています。PasswordSync サーブレットと JMS リスナーアダプタはどちらも、メッセージを送受信するために、LDAP ディレクトリから接続ファクトリとデスティネーション設定を取得する必要があります。

図 11–14 LDAP ディレクトリからの接続ファクトリおよびデスティネーションオブジェクトの取得

LDAP ディレクトリに格納された管理オブジェクトを使用するように、PasswordSync と JMS リスナーを設定する方法を示す図

Message Queue コマンド行ツールの使用法

この節では、Message Queue コマンド行ツール (imqobjmgr) を使用して、LDAP ディレクトリに管理オブジェクトを格納する方法を説明します。

接続ファクトリオブジェクトの格納

Message Queue コマンド行ツール (imqobjmgr) を開き、「接続ファクトリオブジェクトの格納」のコマンドを入力して、接続ファクトリオブジェクトを格納します。


例 11–1 接続ファクトリオブジェクトの格納


#> ./imqobjmgr add -l "cn=mytestFactory" 
-j "java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory" 
-j "java.naming.provider.url=ldap://gwenig.coopsrc.com:389/ou=sunmq,dc=coopsrc,dc=com" 
-j "java.naming.security.principal=cn=directory manager" 
-j "java.naming.security.credentials=password" 
-j "java.naming.security.authentication=simple" 
-t qf -o "imqAddressList=mq://gwenig.coopsrc.com:7676/jms" 
Adding a Queue Connection Factory object with the following attributes: 
imqAckOnAcknowledge [Message Service Acknowledgement of Client Acknowledgements] ... 
imqSetJMSXUserID [Enable JMSXUserID Message Property] false 
Using the following lookup name: cn=mytestFactory The object’s read-only state: false 
To the object store specified by: 
java.naming.factory.initial com.sun.jndi.ldap.LdapCtxFactory 
java.naming.provider.url 
ldap://gwenig.coopsrc.com:389/ou=sunmq,dc=coopsrc,dc=com 
java.naming.security.authentication 
simple java.naming.security.credentials netscape
java.naming.security.principal 
cn=directory manager Object successfully added.

「接続ファクトリオブジェクトの格納」では、imqAddressList によって JMS サーバー/ブローカのホスト名 (gwenig.coopsrc.com)、ポート (7676)、およびアクセス方法 (jms) を定義しています。

デスティネーションオブジェクトの格納

Message Queue コマンド行ツール (imqobjmgr) で、「デスティネーションオブジェクトの格納」のコマンドを入力して、デスティネーションオブジェクトを格納します。


例 11–2 デスティネーションオブジェクトの格納


#> ./imqobjmgr add -l "cn=mytestDestination" 
-j "java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory" 
-j "java.naming.provider.url=ldap://gwenig.coopsrc.com:389/ou=sunmq,dc=coopsrc,dc=com" 
-j "java.naming.security.principal=cn=directory manager" 
-j "java.naming.security.credentials=password" 
-j "java.naming.security.authentication=simple" 
-t q -o "imqDestinationName=mytestDestination" 
Adding a Queue object with the following attributes: 
imqDestinationDescription [Destination Description] 
A Description for the Destination Object imqDestinationName [Destination Name] 
mytestDestination Using the following lookup name: cn=mytestDestination 
The object’s read-only state: false 
To the object store specified by: 
java.naming.factory.initial com.sun.jndi.ldap.LdapCtxFactory 
java.naming.provider.url ldap://gwenig.coopsrc.com:389/ ou=sunmq,dc=coopsrc,dc=com 
java.naming.security.authentication simple 
java.naming.security.credentials netscape 
java.naming.security.principal cn=directory manager Object successfully added.

ldapsearch または LDAP ブラウザを使用して、新たに作成したオブジェクトをチェックできます。

LDAP サーバーに管理オブジェクトを格納することについての節はこれで終了です。次の節 (管理オブジェクトをファイルに格納する方法) を省略して、「このシナリオに対する JMS リスナーアダプタの設定」の節に進みます。

ファイルへの管理オブジェクトの格納

PasswordSync と JMS リスナーは、ファイルに格納されている管理オブジェクトを使用するように設定できます。管理オブジェクトを LDAP サーバーに格納 (「LDAP ディレクトリへの管理オブジェクトの格納」) していない場合は、この節の手順に従います。

接続ファクトリオブジェクトの格納

Message Queue コマンド行ツール (imqobjmgr) を開き、「接続ファクトリオブジェクトの格納」のコマンドを入力して、接続ファクトリオブジェクトを格納し、ルックアップ名を指定します。


例 11–3 接続ファクトリオブジェクトの格納とルックアップ名の指定


#> ./imqobjmgr add -l "mytestFactory" -j 
"java.naming.factory.initial= com.sun.jndi.fscontext.RefFSContextFactory"
 -j "java.naming.provider.url=file:///home/gael/tmp" -t qf -o 
 "imqAddressList=mq://gwenig.coopsrc.com:7676/jms" 
Adding a Queue Connection Factory object with the following attributes: 
imqAckOnAcknowledge [Message Service Acknowledgement of Client Acknowledgements] 
... 
imqSetJMSXUserID [Enable JMSXUserID Message Property] false 
Using the following lookup name: 
mytestFactory 
The object’s read-only state: false 
To the object store specified by: 
java.naming.factory.initial com.sun.jndi.fscontext.RefFSContextFactory 
java.naming.provider.url file:///home/gael/tmp 
Object successfully added. 
To specify a destination: 
#> ./imqobjmgr add -l "mytestQueue" -j 
"java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory" 
-j "java.naming.provider.url=file:///home/gael/tmp" -t q -o 
"imqDestinationName=myTestQueue" 
Adding a Queue object with the following attributes: 
imqDestinationDescription [Destination Description] A Description for the Destination 
Object imqDestinationName [Destination Name] myTestQueue 
Using the following lookup name: 
mytestQueue 
The object’s read-only state: false 
To the object store specified by: 
java.naming.factory.initial com.sun.jndi.fscontext.RefFSContextFactory 
java.naming.provider.url file:///home/gael/tmp 
Object successfully added.

ブローカでのデスティネーションの作成

Sun Message Queue ブローカでは、デフォルトでキューデスティネーションの自動作成が有効になっています (config.properties を参照。 ただし、imq.autocreate.queue のデフォルト値は true)。

キューデスティネーションが自動的に作成されない場合は、「ブローカでのデスティネーションの作成」に示すコマンドを使用して、ブローカ上でデスティネーションオブジェクトを作成する必要があります。このとき、myTestQueue がデスティネーションを表します。


例 11–4 ブローカでのデスティネーションオブジェクトの作成


name (Queue name): 
#> cd /opt/sun/mq/bin 
#>./imqcmd create dst -t q -n mytestQueue 
Username: <admin> 
Password: <admin> 
Creating a destination with the following attributes: 
Destination Name mytestQueue 
Destination Type Queue On the broker specified by: 
------------------------- 
Host Primary Port 
------------------------- localhost 7676 
Successfully created the destination.

ディレクトリまたはファイルに管理オブジェクトを格納できます。

このシナリオに対する JMS リスナーアダプタの設定

アプリケーションサーバーで JMS リスナーアダプタを設定します。「JMS リスナーアダプタの追加と設定」の手順に従います。

Active Sync の設定

次に、同期のために JMS リスナーを設定します。Active Sync は、JMS を使用する場合は必要ですが、直接接続の場合は使用されません。

ProcedureJMS リスナーで同期を設定する

  1. 管理者インタフェースで、メニューから「リソース」をクリックします。

  2. 「リソースリスト」で、「JMS リスナー」チェックボックスを選択します。

  3. 「リソースアクション」リストで、「同期ポリシーの編集」を選択します。

    JMS リスナーリソースの「同期ポリシーの編集」ページが表示されます (図 11–15)。

    図 11–15 JMS リスナーの Active Sync の設定

    JMS リスナーリソースの「同期ポリシーの編集」ページを示す図

  4. 「共通設定」の「プロキシ管理者」で、pwsyncadmin を選択します。(この管理者は、空のフォームと関連付けられています。

  5. 「共通設定」の「処理規則」で、リストから「Synchronize User Password」を選択します。デフォルトのユーザーパスワード同期ワークフローは、JMS リスナーアダプタから送られてくる個々のリクエストを受け取って、ChangeUserPassword ビューアをチェックアウトしてから、ChangeUserPassword ビューアに再度チェックインします。

  6. 「ログファイルパス」ボックスで、アクティブログとアーカイブされるログのファイルを作成するディレクトリへのパスを指定します。

  7. デバッグ目的であれば、「ログレベル」を 4 に設定し、詳細なログを生成します。

  8. 「保存」をクリックします。