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

第 11 章 PasswordSync

PasswordSync は Windows ドメインで開始されたユーザーパスワードの変更を検出し、それらの変更を Identity Manager に転送します。続いて Identity Manager は、パスワードの変更を Identity Manager で定義されているほかのリソースと同期します。

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

PasswordSync とは

PasswordSync は、Windows Active Directory ドメイン上で行われたユーザーパスワードの変更を、Identity Manager で定義されたほかのリソースと継続的に同期します。PasswordSync は、Identity Manager と同期されるドメインの各ドメインコントローラにインストールする必要があります。また PasswordSync は、Identity Manager とは別にインストールする必要があります。

PasswordSync は、各ドメインコントローラに配置される DLL (lhpwic.dll) で構成されます。この DLL が Windows からパスワードの更新の通知を受け取り、それを暗号化して、HTTPS 経由で PasswordSync サーブレットに送信します。PasswordSync サーブレットは、Identity Manager を実行しているアプリケーションサーバーに配置されます。


注 –

HTTPS の使用が優先されますが、HTTP もサポートされています。


PasswordSync サーブレットは、Identity Manager が認識できる形式に通知を変換します。続いて、サーブレットは次のいずれかの方法を使用して、まだ暗号化されているパスワードの変更を Identity Manager に送信します。

図 11–1 に、直接接続を示します。この設定では、PasswordSync サーブレットは更新メッセージを直接 Identity Manager に送信します。

図 11–1 PasswordSync の論理図 (直接接続)

PasswordSync の論理図 (直接接続)

図 11–2 に、JMS 接続を示します。この設定では、PasswordSync サーブレットは更新メッセージを JMS Message Queue に送信します。Identity Manager の JMS リスナーリソースアダプタは、新しいメッセージがないかキューを定期的にチェックします (明るい青色の矢印)。キューはメッセージを Identity Manager に送信して応答します (濃い青色の矢印)。

図 11–2 PasswordSync の論理図 (JMS 接続)

PasswordSync の論理図 (JMS 接続)

Identity Manager はパスワードの変更の通知を受信すると、通知を復号化し、ワークフロータスクを使用して変更を処理します。ユーザーに割り当てられたすべてのリソース上でパスワードが更新され、SMTP サーバーがユーザーに電子メールを送信し、パスワード変更の状態をユーザーに通知します。


注 –

Windows が更新の通知を送信するのは、パスワードの変更が成功した場合のみです。パスワード変更リクエストがドメインのパスワードポリシーを満たさない場合、Windows はリクエストを拒否し、同期データは Identity Manager に送信されません。


図 11–3 は、パスワード更新の通知を受信したあとに、Identity Manager がワークフローを開始して、ユーザーに電子メールを送信するようすを示しています。

図 11–3 PasswordSync によるワークフローのトリガー

PasswordSync によるワークフローのトリガーを示す図


注 –

PasswordSync は、名前の末尾が $ (ドル記号) のアカウントについては、アカウントの変更通知をすべて破棄します。$ で終わるアカウント名は、Windows コンピュータアカウントとみなされます。$ で終わるユーザーアカウント名はいずれも Identity Manager に転送されません。


インストールの前提条件

PasswordSync 機能は、Windows 2008、Windows 2003、および Windows 2000 のドメインコントローラ上でのみ設定できます。Windows NT ドメインコントローラのサポートは、Identity Manager の Version 8.0 で終了しました。Identity Manager と同期するドメイン内のプライマリおよびバックアップのドメインコントローラそれぞれに、PasswordSync をインストールする必要があります。HTTPS を使用するよう PasswordSync を設定することを強くお勧めします。


注 –

すべてのドメインコントローラで、バージョン 7.1.1 より古いバージョンの PasswordSync をバージョン 7.1.1 以上に更新する必要があります。

rpcrouter2 サーブレットのサポートはバージョン 8.0 で打ち切られました。 将来のリリースでは削除されます。PasswordSync の 7.1.1 以降のバージョンは新しいプロトコルをサポートしています。


JMS を使用する場合、PasswordSync は JMS サーバーと接続できる必要があります。JMS システムの要件については、『Sun Identity Manager 8.1 Resources Reference 』の JMS リスナーリソースアダプタに関する節を参照してください。

また、PasswordSync では、次の操作も必要です。

これらの要件については、次の節で詳細に説明します。

Microsoft .NET 1.1 のインストール

PasswordSync を使用するには、Microsoft .NET 1.1 Framework 以降をインストールする必要があります。このフレームワークは、Windows 2003 ドメインコントローラを使用している場合にはデフォルトでインストールされています。Microsoft .NET 2.0 Framework は、Windows 2008 ドメインコントローラにデフォルトでインストールされます。Windows 2000 ドメインコントローラを使用している場合、Framework はデフォルトではインストールされていません。Microsoft Download Center で、ツールキットをダウンロードできます。

http://www.microsoft.com/downloads


注 –

SSL に関する PasswordSync の設定

機密データは Identity Manager サーバーに送信される前に暗号化されますが、セキュリティー保護された SSL 接続 (HTTPS 接続) を使用するように PasswordSync を設定することをお勧めします。

インポートした SSL 証明書をインストールする方法については、マイクロソフトサポート技術情報の次の [HOWTO] 記事を参照してください。

http://support.microsoft.com/kb/816794

PasswordSync をインストールしたら、「PasswordSync Configuration」ダイアログに HTTPS の URL を指定して、SSL 接続が正しく設定されているかをテストできます。手順については、「設定のテスト」を参照してください。

PasswordSync の以前のバージョンのアンインストール

新しいバージョンをインストールする前に、以前にインストールした PasswordSync のインスタンスをすべて削除する必要があります。

Windows での PasswordSync のインストールと設定

この節では、PasswordSync のインストールおよび設定についての情報と手順を説明します。

この情報は、次のように構成されています。

ProcedurePasswordSync 設定アプリケーションをインストールする

ここでは、PasswordSync 設定アプリケーションをインストールする手順について説明します。


注 –

Identity Manager と同期するドメイン内の各ドメインコントローラに、PasswordSync をインストールする必要があります。

以前にインストールしたバージョンの PasswordSync があれば、必ずアンインストールしてから続行してください。


  1. Identity Manager インストールメディアから、次の操作を実行します。

    • 32 ビット版の Windows にインストールする場合は、pwsync\IdmPwSync_x86.msi をダブルクリックします。

    • 64 ビット版の Windows にインストールする場合は、pwsync\IdmPwSync_x64.msi をダブルクリックします。

    インストールウィザードが起動し、開始ウィンドウに次のナビゲーションボタンが表示されます。

    • 「取消し」。いつでも変更を保存せずにウィザードを終了します。

    • 「戻る」。1 つ前のダイアログボックスに戻ります。

    • 「次へ」。次のダイアログボックスに進みます。

  2. 開始画面の情報を読み、「次へ」をクリックして「セットアップの種類」ウィンドウを表示します。

  3. PasswordSync のフルパッケージをインストールする場合は「Typical」または「Complete」をクリックします。インストールするパッケージ内容を変更する場合は「カスタム」をクリックします。「次へ」をクリックして続行します。

  4. 「インストール可能」ウィンドウが表示されたら、「インストール」をクリックして製品をインストールします。

  5. 最後のウィンドウが表示されます。PasswordSync の設定を開始できるように「Launch Configuration Application」ボックスを選択し、「完了」をクリックしてインストール処理を終了します。

    PasswordSync を設定する手順については、第 11 章PasswordSyncを参照してください。


    注 –

    ダイアログに、変更を有効にするにはシステムの再起動が必要であることを示すメッセージが表示されます。PasswordSync の設定を完了するまでは再起動の必要はありませんが、PasswordSync を実装する前にドメインコントローラを再起動する必要があります。


    各ドメインコントローラにインストールされるファイルについては、「Windows での PasswordSync のインストールと設定」を参照してください。

    インストールされるコンポーネント  

    説明  

    %$INSTALL_DIR$%\configure.exe

    PasswordSync 設定プログラム 

    %$INSTALL_DIR$%\configure.exe.manifest

    設定プログラムのデータファイル 

    %$INSTALL_DIR$%\passwordsyncmsgs.dll

    PasswordSync のメッセージを処理する DLL 

    %SYSTEMROOT%\SYSTEM32\lhpwic.dll

    パスワード通知 DLL。 この DLL は Windows の PasswordChangeNotify() 関数を実装します

ProcedurePasswordSync を設定する

インストーラから設定アプリケーションを実行する場合、ウィザード形式の設定画面が表示されます。ウィザードを終了し、以後 PasswordSync 設定アプリケーションを実行するときは、タブの選択によって設定画面を切り替えることができます。

  1. PasswordSync 設定アプリケーションを起動します (まだ実行していない場合)。

    デフォルトでは、設定アプリケーションは「Program Files」、「Sun Identity Manager」、「PasswordSync」、「Configuration」にインストールされています。


    注 –

    JMS を使用しない場合は、設定アプリケーションをコマンド行から起動します。次のように、-direct フラグを指定してください。

    C:\InstallDir\Configure.exe -direct


    PasswordSync Configuration ウィザードのダイアログが表示されます (図 11–4)。

    図 11–4 PasswordSync Configuration ウィザード

    PasswordSync Configuration ウィザードを示す図

  2. このダイアログのフィールドを、必要に応じて編集します。

    次のフィールドがあります。

    • 「サーバー」は、Identity Manager がインストールされている完全修飾ホスト名または IP アドレスで置き換える必要があります。

    • 「プロトコル」は、Identity Manager とセキュリティー保護された通信を行うかどうかを指定します。

      PasswordSync は、HTTP 通信の証明書確認動作の設定をサポートします。HTTPS を有効にすると、次のオプションが表示されます。

      • 「Allow revoked certificates」。この設定は、接続の securityIgnoreCertRevoke レジストリ値に対応します。デフォルトでは、PasswordSync は失効の問題を無視せず、securityIgnoreCertRevoke レジストリ値は 0 に設定されます。

        失効した証明書のメッセージを PasswordSync で無視する場合は、このチェックボックスを選択 (SECURITY_FLAG_IGNORE_REVOCATION レジストリ値を 1 に設定) します。

      • 「Allow invalid certificates」。この設定は、接続の SECURITY_FLAG_IGNORE_CERT_CN_INVALIDSECURITY_FLAG_IGNORE_CERT_DATE_INVALID、および SECURITY_FLAG_IGNORE_UNKNOWN_CA オプションに影響します。デフォルトでは、PasswordSync は無効な証明書を許可せず、レジストリ値は 0 に設定されます。

        このボックスを選択すると、securityAllowInvalidCert レジストリ値が 1 に設定され、多数の安全性確認をパスしていない証明書を PasswordSync で使用できます。本稼働環境では、このオプションを有効にすることは推奨しません。


        注 –

        HTTP プロトコルタイプではこれらの設定は表示されません。また、これらの設定は HTTP 設定に影響しません。


    • 「ポート」は、サーバーで使用可能なポート番号を指定します。HTTP では、デフォルトのポートは 80 です。HTTPS では、デフォルトのポートは 443 です。

    • 「パス」は、アプリケーションサーバー上の Identity Manager のパスを指定します。

    • 「URL」の値はほかのフィールドの値を基に生成されます。「URL」フィールドの値は編集できません。

    • 「Settings re-init interval (seconds)」は、PasswordSync の dll がレジストリから設定を読み直す頻度を指定します。デフォルト値は 2880 秒 (8 時間) です。


      注 –

      この PasswordSync Configuration ウィザードでは値が秒単位で表示されますが、実際のレジストリの値はミリ秒単位で格納されます。


      PasswordSync の dll は、dll が動作している間、レジストリから設定情報を読み取ります。この間隔の値は、reinitIntervalMilli レジストリ値に格納されます。

      設定が更新されている間はパスワードを同期できません。このため、パスワード変更の処理にわずかな遅延が生じる場合があります。通常、この遅延は 1 秒未満です。PasswordSync は、更新中に受信したパスワード変更をすべて、更新の完了後すぐに処理します。また、パスワード同期の実行中には、PasswordSync は設定の更新を処理しません。更新は延期され、あとで実行されます。

  3. 「次へ」をクリックして、プロキシサーバーの設定ページ (図 11–5) を表示し、必要に応じてフィールドを編集します。

    図 11–5 PasswordSync ウィザードの「プロキシサーバー」ダイアログ

    PasswordSync の「プロキシサーバー」ダイアログを示す図

    次のフィールドがあります。

    • 「有効化」。プロキシサーバーが必要な場合は選択します。

    • 「サーバー」。プロキシサーバーの完全修飾ホスト名または IP アドレスを入力する必要があります。

    • 「ポート」。サーバーで利用可能なポート番号を指定します。デフォルトのプロキシポートは 8080、デフォルトの HTTPS ポートは 443 です。

  4. 「次へ」をクリックします。

    図 11–6 PasswordSync ウィザードの「JMS 設定」ダイアログ

    PasswordSync の「JMS 設定」ダイアログを示す図

    「JMS 設定」ダイアログ (図 11–6) が表示されたら、次のいずれかの操作を実行します。

    • 次のフィールドを、必要に応じて編集します。

      • 「User」には、新しいメッセージをキューに送る JMS ユーザー名を指定します。

      • 「Password」「Confirm」では、JMS ユーザーのパスワードを指定します。

      • 「Connection Factory」には、使用する JMS 接続ファクトリの名前を指定します。JMS システム上にすでに存在しているファクトリを指定する必要があります。

      • 「Session Type」はほとんどの場合、ローカルセッショントランザクションが使われることを表す LOCAL に設定することが推奨されます。セッションは各メッセージの受信後にコミットされます。指定できるその他の値は AUTOCLIENT、および DUPS_OK です。

      • 「Queue Name」には、パスワード同期イベントのデスティネーションルックアップ名を指定します。

    • JMS を使用する予定がなく、-direct フラグを指定して設定ウィザードを起動した場合は、「次へ」をクリックして「ユーザー」ダイアログを表示します。図 11–7 の手順に進みます。

  5. 「次へ」をクリックして、「JMS プロパティー」ダイアログを表示します (図 11–7)。

    図 11–7 PasswordSync ウィザードの「JMS プロパティー」ダイアログ

    PasswordSync の「JMS プロパティー」ダイアログを示す図

    JMS プロパティーダイアログでは、初期 JNDI コンテキストの構築に使われる一連のプロパティーを定義します。次の名前と値のペアを定義する必要があります。

    • java.naming.provider.url — JNDI サービスを実行するマシンの URL を指定します。

    • java.naming.factory.initial — JNDI サービスプロバイダの初期コンテキストファクトリのクラス名 (パッケージを含む) を指定します。

      「名前」プルダウンメニューの内容は、java.naming パッケージのクラスの一覧です。クラス名としてクラスまたは型を選択し、「Value」フィールドにその対応する値を入力します。

  6. JMS を使用する予定がなく、-direct フラグを指定して設定ウィザードを起動した場合は、「ユーザー」タブを設定します。その他の場合は、この手順をスキップして次の手順に進みます。

    「User」タブを設定するには、必要に応じてフィールドを編集します。

    • 「アカウント ID」。Identity Manager との接続に使用するユーザー名を指定します。

    • 「パスワード」。Identity Manager との接続に使用するパスワードを指定します。

  7. 「次へ」をクリックして、「電子メール」ダイアログ (図 11–8) を表示し、必要に応じてフィールドを編集します。

    図 11–8 PasswordSync ウィザードの「電子メール」ダイアログ

    PasswordSync の「電子メール」ダイアログを示す図

    通信エラーや Identity Manager 外部のその他のエラーにより、ユーザーのパスワード変更が正しく同期されなかったときに電子メール通知を送信するには、次に示す「電子メール」ダイアログのオプションを使用して、通知と電子メールを設定します。

    • 「Enable Email」。選択すると、この機能が有効になります。

    • 「Email End User」。ユーザーが通知を受け取る場合に選択します。このオプションを選択しない場合、管理者だけが通知を受け取ります。

    • 「SMTP サーバー」。障害通知の送信時に使われる SMTP サーバーの完全修飾名または IP アドレスを入力します。

    • 「Administrator Email Address」。通知の送信先とする電子メールアドレスを入力します。

    • 「Sender’s Name」。差出人の名前を入力します。

    • 「Sender’s Address」。差出人の電子メールアドレスを入力します。

    • 「Message Subject」。すべての通知に使用する件名を入力します。

    • 「Message Body」。通知するテキストを入力します。

      メッセージの本文では次の変数を使用できます。

      • $(accountId) — パスワードを変更しようとしているユーザーのアカウント ID。

      • $(sourceEndpoint) — パスワード通知ツールがインストールされたドメインコントローラのホスト名。トラブルが発生したマシンの特定に役立ちます。

      • $(errorMessage) — 発生したエラーを説明するエラーメッセージ。

  8. 「Trace」タブをクリックします (図 11–9)。

    図 11–9 「Trace」タブ

    PasswordSync の「Trace」タブを示す図

    次のフィールドを設定します。

    • 「Trace Level」。

    • 「Max File Size (MB)」。

    • 「Trace File」。

  9. 「完了」をクリックして、変更を保存します。

    設定アプリケーションの 2 回目以降の実行時には、ウィザードではなく一連のタブで構成される画面が表示されます。設定アプリケーションをウィザード形式で表示する場合は、コマンド行に次のコマンドを入力します。


    C:\InstallDir\Configure.exe -wizard

    PasswordSync の設定をテストする場合は、「設定のテスト」を参照してください。

PasswordSync のサイレントインストール

サイレントインストールを実行するように、PasswordSync インストーラを設定することができます。この機能を使用するには、まず PasswordSync のインストール中に設定パラメータをファイルに記録する必要があります。以降のインストールでは、このファイルを参照して同じ設定を再現します。


注 –

サイレントインストールの手順を使用する場合は、サイレントインストールを使用するサーバーごとに完全な製品をインストールする必要があります。設定の記録と再現は、システムにインストールする設定アプリケーションに依存します。


サイレントインストール処理では、Windows の msiexec ユーティリティーを使用します。このユーティリティーは、.msi ファイルをコマンド行からインストールします。

このユーティリティーの使用方法を表示するには、コマンドプロンプトで msiexec /? と入力します。

Microsoft の Web サイトでもドキュメントを入手できます。たとえば、Windows Server 2003 で msiexec を使用する場合は、http://technet.microsoft.com/en-us/library/cc759262.aspx を参照してください。

Procedureインストールパラメータを設定ファイルに記録する

次の手順に従い、インストールウィザードを使用して PasswordSync をインストールします。設定ユーティリティーが設定パラメータを取得して、XML ファイルに書き込みます。

始める前に

インストールする前に、古いバージョンの PasswordSync を削除してください。

  1. PasswordSync のインストールファイル (.msi ファイル) があるディレクトリに移動します。

    詳細については、「PasswordSync 設定アプリケーションをインストールする」を参照してください。

  2. コマンドプロンプトに次のコマンドを入力します。引数と値は、大文字と小文字を区別します。


    msiexec /i pwSyncInstallFile CONFIGARGS="-writexml fullPathToFile"

    各表記の意味は次のとおりです。

    • pwSyncInstallFile は、PasswordSync のインストールファイルです。(IdmPwSync_86.msi または IdmPwSync_x64.msi)

    • fullPathToFile は、XML ファイルを書き込む場所を指定します。

    たとえば、次のようにします。


    msiexec /i IdmPwSync_x86.msi CONFIGARGS="-writexml c:\tmp\myconfig.xml"
  3. 製品をインストールします。

ProcedurePasswordSync をサイレントインストールする

始める前に
  1. 作成したインストール設定 XML ファイルを、インストーラが読み取ることができる場所にコピーします。

  2. コマンドプロンプトに次のコマンドを入力します。引数と値は、大文字と小文字を区別します。


    msiexec /i pwSyncInstallFile ADDLOCAL="installFeature" CONFIGARGS="-readxml fullPathToFile"
     INSTALLDIR="installDir" /q

    各表記の意味は次のとおりです。

    • pwSyncInstallFile は、PasswordSync のインストールファイルです。(IdmPwSync_86.msi または IdmPwSync_x64.msi)

    • installFeature は、インストールする PasswordSync の機能を指定します。次のいずれかを選択します。

      • MainProgram — インターセプタ .dll ファイルのみをインストールします。

      • Configuration — 設定アプリケーションのみをインストールします。

      • ALL — 完全な製品をインストールします。

      /q オプションが指定されている場合は、何も指定しないと、デフォルトで MainProgram が使用されます。

    • fullPathToFile は、設定 XML ファイルのパスを指定します。

    • installDir は、カスタムインストールディレクトリのフルパスを指定します。省略可能です。

    • /q は、処理が完了したときにサーバーを自動的に再起動する非 GUI インストールを指定します。このオプションを指定しないとインストールウィザードが表示されますが、設定は定義済みの内容で実行されます。省略可能です。

    次に例を示します。

    msiexec /i IdmPwSync_x86.msi CONFIGARGS="-readxml c:\tmp\myconfig.xml"
    msiexec /i IdmPwSync_x86.msi ADDLOCAL="MainProgram" 
    CONFIGARGS="-readxml c:\tmp\myconfig.xml" /q
    msiexec /i IdmPwSync_x64.msi ADDLOCAL="Complete" 
    CONFIGARGS="-readxml c:\tmp\myconfig.xml" 
    INSTALLDIR="C:\Program Files\Sun Microsystems\MyCustomInstallDirectory" /q

アプリケーションサーバーへの PasswordSync の配備

PasswordSync を Windows ドメインコントローラにインストールしたら、Identity Manager を実行しているアプリケーションサーバーで追加の手順を実行する必要があります。

アプリケーションサーバーに PasswordSync サーブレットをインストールする必要はありません。Identity Manager をインストールしたときに自動的にインストールされています。

ただし、PasswordSync の配備を完了するために、Identity Manager で次の操作を実行する必要があります。

JMS リスナーアダプタの追加と設定

PasswordSync サーブレットが JMS を使用して Identity Manager にメッセージを送信している場合は、Identity Manager の JMS リスナーリソースアダプタを追加する必要があります。JMS リスナーリソースアダプタは、PasswordSync サーブレットによって置かれたメッセージがないか、定期的に JMS Message Queue をチェックします。キューに新しいメッセージがある場合、メッセージは Identity Manager に送信されて処理されます。

ProcedureJMS リスナーリソースアダプタを追加する

  1. Identity Manager 管理者インタフェースにログオンします (「Identity Manager 管理者インタフェース」)。

  2. メインメニューで、「リソース」、「タイプの設定」の順に選択します。

    図 11–10 に示すように、「管理するリソースの設定」ページが表示されます。

    図 11–10 「管理するリソースの設定」ページ

    「管理するリソースの設定」ページを示す図

  3. 「管理しますか?」列で「JMS リスナー」チェックボックスが選択されていることを確認します (図 11–10)。

    チェックボックスが選択されていない場合は、チェックボックスを選択して「保存」をクリックします。

  4. 二次的なメニューから「リソースのリスト」をクリックします。

  5. 「リソースタイプアクション」ドロップダウンメニューを見つけて、「新規リソース」を選択します。

    「新規リソース」ページが表示されます。

  6. JMS リスナーアダプタを追加するには、ドロップダウンメニューから「JMS リスナー」を選択し (図 11–11)、「新規」をクリックします。

    図 11–11 新規リソースウィザード

    新規リソースウィザードを示す図

  7. 「リソースパラメータ」ページで次の項目を設定し、「次へ」をクリックします。

    • 「宛先タイプ」。通常、この値は「キュー」に設定されます。(1 人の加入者が存在し、また複数の発行者が存在する可能性があるため、トピックは通常は関係しません。

    • 「初期コンテキスト JNDI のプロパティー」。初期 JNDI コンテキストを構築するためのプロパティーのセットを定義します。

      次の名前と値のペアを定義する必要があります。

      • java.naming.factory.initial。JNDI サービスプロバイダの初期コンテキストファクトリのクラス名 (パッケージを含む) を指定します。

      • java.naming.provider.url。JNDI サービスを実行するマシンの URL を指定します。

        追加プロパティーの定義が必要となる場合があります。プロパティーと値のリストは、JMS サーバーの JMS 設定ページで指定するものと一致することが推奨されます。たとえば、資格およびバインドメソッドを提供するため、次のサンプルプロパティーを指定することが必要な場合があります。

        • java.naming.security.principal — バインド DN (例: cn=Directory manager)

        • java.naming.security.authentication — バインドメソッド (例: simple)

        • java.naming.security.credentials — パスワード

    • 「接続ファクトリのJNDI 名」。JMS サーバーで定義されている、接続ファクトリの名前を入力します。

    • 「宛先の JNDI 名」。JMS サーバーで定義されている、送信先の名前を入力します。

    • 「ユーザー」および「パスワード」。キューから新しいイベントをリクエストする管理者のアカウント名とパスワード。

    • 「Reliable Messaging サポート」。LOCAL (Local Transactions)」を選択します。それ以外のオプションはパスワード同期には使用しません。

    • 「メッセージマッピング」。java:com.waveset.adapter.jms.PasswordSyncMessageMapper を入力します。このクラスは、JMS サーバーからのメッセージを、ユーザーパスワード同期ワークフローで使用できる形式に変換します。

      JMS リスナーリソースウィザードの「リソースパラメータ」ページを示す図
  8. ウィザードの「アカウント属性」ページ (図 11–12) で、「属性の追加」をクリックし、次の属性をマップします。これらは、PasswordSyncMessageMapper により JMS リスナーアダプタで利用できるようになります。

    • IDMAccountId — この属性は、JMS メッセージで渡される resourceAccountIdresourceAccountGUID 属性に基づいて、PasswordSyncMessageMapper によって解釈処理されます。

    • password — JMS メッセージで転送される暗号化されたパスワード。

    図 11–12 「JMS リスナーリソースの作成」ウィザードの「アカウント属性」ページ

    「JMS リスナーリソースの作成」ウィザードの「アカウント属性」ページを示す図

  9. 「次へ」をクリックします。

    ウィザードの「アイデンティーテンプレート」ページが表示されます (図 11–13)。前の手順で追加した属性は、リソースウィザードの「属性マッピング」セクションで使用できます (図 11–13)。

    図 11–13 JMS リスナーリソースウィザードの「属性マッピング」

    「JMS リスナーリソースの編集」ウィザードを示す図

  10. 「次へ」をクリックして、「アイデンティティーシステムのパラメータ」ページのオプションを必要に応じて設定します。

    JMS リスナーリソースアダプタの設定については、『Sun Identity Manager 8.1 Resources Reference 』を参照してください。

ユーザーパスワード同期ワークフローの実装

Identity Manager はパスワード変更の通知を受信すると、ユーザーパスワード同期ワークフローを開始します。デフォルトのユーザーパスワード同期ワークフローは、ChangeUserPassword ビューアをチェックアウトしてから、ChangeUserPassword ビューアを再度チェックインします。次に、ワークフローは (最初にパスワードの変更の通知を送信した Windows リソースを除く) すべてのリソースアカウントを処理します。最後に、Identity Manager は、すべてのリソースに対してパスワード変更が成功したかどうかを示す電子メールをユーザーに送信します。

ユーザーパスワード同期ワークフローのデフォルト実装を使用する場合、JMS リスナーアダプタインスタンスの処理規則にその実装を割り当てます。処理規則は、JMS で同期を設定するときに割り当てることができます (「Active Sync の設定」を参照)。

ワークフローを変更したい場合、$WSHOME/sample/wfpwsync.xml ファイルをコピーして変更を行います。続いて、修正したワークフローを Identity Manager にインポートします。

デフォルトのワークフローに対して行うことが考えられる変更には、次のようなものがあります。

ワークフローの使用方法については、『Sun Identity Manager Deployment Reference』の第 1 章「Workflow」を参照してください。

通知の設定

Identity Manager には、すべてのリソースでパスワードの変更が成功したかどうかをユーザーに知らせる電子メールテンプレートが 2 種類用意されています。

次のテンプレートです。

さらに補助が必要な場合にユーザーが従うべき手順について、企業ごとに異なる情報を提供するために、どちらのテンプレートも更新することが推奨されます。詳細については、第 4 章ビジネス管理オブジェクトの設定「電子メールテンプレートのカスタマイズ」を参照してください。

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. 「保存」をクリックします。

設定のテスト

    Windows の PasswordSync 設定アプリケーションを使用して、Windows 側の設定をデバッグできます。

  1. PasswordSync 設定アプリケーションを起動します (実行していない場合)。

    デフォルトでは設定アプリケーションは、「Program Files」、「Sun Identity Manager PasswordSync」、「Configuration」にインストールされています。

  2. 「PasswordSync 設定」ダイアログが表示されたら、「テスト」ボタンをクリックします。

  3. JMS を使用している場合は、「テスト接続」ダイアログが表示され、テスト接続が正しく行われたかどうかを示すメッセージが示されます。

    テスト接続の成功メッセージの例
  4. 「閉じる」をクリックして「テスト接続」ダイアログを閉じます。

  5. 「OK」をクリックして、「PasswordSync 設定」ダイアログを閉じます。

    続いて、JMS リスナーアダプタがデバッグモードで実行され、次のようなデバッグ情報をファイルに生成します。

    デバッグ情報ファイルの例

Windows での PasswordSync のデバッグ

PasswordSync はすべての障害情報を Windows イベントビューアに書き込みます。イベントビューアの使用法のヘルプについては、Windows ヘルプを参照してください。エラーログエントリのソース名は「PasswordSync」です。

Windows での PasswordSync のトラブルシューティングについては、『Sun Identity Manager 8.1 System Administrator’s Guide 』を参照してください。

Windows での PasswordSync のアンインストール

PasswordSync アプリケーションをアンインストールするには、Windows のコントロールパネルから「アプリケーションの追加と削除」を選択します。続いて、「Sun Identity Manager PasswordSync」を選択し、「削除」をクリックします。


注 –

また、Identity Manager のインストールメディアを読み込み、pwsync\IdmPwSync.msi アイコンをクリックしても、PasswordSync をアンインストール (または再インストール) できます。


アンインストールを完了するにはシステムを再起動する必要があります。

PasswordSync についてのよくある質問

この節では、PasswordSync についてのよくある質問に対する回答を示します。

質問:

Java Messaging Service なしで PasswordSync を実装することはできますか。

回答:

はい。 ただし、この場合、JMS を使用したパスワード変更イベントの追跡を行えなくなります。

JMS なしで PasswordSync を実装するには、次のフラグを指定して設定アプリケーションを実行します。

Configure.exe -direct

-direct フラグを指定すると、設定アプリケーションは「User」タブを表示します。

JMS なしで PasswordSync を実装する場合、JMS リスナーアダプタを作成する必要はありません。したがって、「アプリケーションサーバーへの PasswordSync の配備」に示した手順は省略してください。通知を設定したい場合、ユーザーパスワード変更ワークフローを変更する必要がある場合があります。


注 –

これ以降、-direct フラグを指定せずに設定アプリケーションを実行する場合は、JMS が設定されている必要があります。-direct フラグを指定してアプリケーションを再実行すると、再度 JMS を使わずに PasswordSync を使用できます。


質問:

PasswordSync は、カスタムパスワードポリシーを施行するために使われるほかの Windows パスワードフィルタと組み合わせて使用できますか。

回答:

はい。PasswordSync はほかの _WINDOWS_ パスワードフィルタと組み合わせて使用できます。ただし PasswordSync は、レジストリの「Notification Package」エントリの値で列挙されるパスワードフィルタのうち最後のフィルタである必要があります。

次のレジストリパスを使用する必要があります。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Notification Packages (value of type REG_MULTI_SZ)

デフォルトでは、インストーラは Identity Manager のパスワードインターセプトをリストの最後に置きますが、インストール後にカスタムのパスワードフィルタをインストールした場合、lhpwic を「Notification Packages」リストの最後に移動する必要があります。

PasswordSync は、ほかの Identity Manager パスワードポリシーと組み合わせて使用できます。Identity Manager サーバーの側でポリシーがチェックされるとき、パスワード同期をほかのリソースにプッシュするために、すべてのリソースのパスワードポリシーが基準を満たす必要があります。結果として、Windows のネイティブパスワードポリシーの制約度を、Identity Manager で定義されるもっとも制約的なパスワードポリシーと同等にすることが推奨されます。


注 –

パスワードインターセプト DLL はパスワードポリシーを一切施行しません。


質問:

PasswordSync サーブレットを、Identity Manager と異なるアプリケーションサーバー上にインストールできますか。

回答:

はい。PasswordSync サーブレットは、JMS アプリケーションが必要とするすべての jar ファイルに加えて、spml.jar および idmcommon.jarjar ファイルを必要とします。

質問:

PasswordSync サービスは、lh サーバーにクリアテキストでパスワードを送信しますか。

回答:

ベストプラクティスは PasswordSync を SSL 上で実行することですが、機密データはすべて、Identity Manager サーバーに送信する前に暗号化されます。

詳細については、「SSL に関する PasswordSync の設定」を参照してください。

質問:

パスワード変更によって、com.waveset.exception.ItemNotLocked が発生する場合があるのはなぜですか。

回答:

PasswordSync を有効にすると、(ユーザーインタフェースから開始されたものも含めた) パスワード変更の結果としてリソース上でパスワード変更が発生し、それによってリソースが Identity Manager と通信するためです。

passwordSyncThreshold ワークフロー変数が正しく設定されている場合、Identity Manager はユーザーオブジェクトを検証し、パスワード変更が処理済みかどうかを判定します。しかしながら、ユーザーまたは管理者が同じユーザーに対して同時に別のパスワード変更を行う場合、ユーザーオブジェクトがロックされている可能性があります。