Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java System Identity Synchronization for Windows 1 2004Q3 インストールおよび設定ガイド 

第 1 章
製品について

Identity Synchronization for Windows を使用することで、Sun JavaTM System Directory Server 5 2005Q1 と次の製品の間で、パスワードとユーザー属性を双方向で同期させることができます。

Identity Synchronization for Windows は同期イベントを処理します。

Sun Java System Identity Synchronization for Windows バージョン 1 2004Q3 をインストールする、または同製品に移行する前に、この章で説明する概念について理解する必要があります。この章で説明する内容は次のとおりです。


製品の機能

Identity Synchronization for Windows が提供する機能は次のとおりです。

Windows ディレクトリ内のエントリを修正したり、ディレクトリを使用するアプリケーションを変更したりする必要はありません。

Identity Synchronization for Windows を使用して Directory Server と Active Directory を同期させる場合、Windows 環境に追加コンポーネントをインストールする必要はありません。

Directory Server と Windows NT を同期させる場合は、製品の NT コンポーネントを Windows NT 環境にインストールする必要があります。


システムコンポーネント

Identity Synchronization for Windows は、コアコンポーネントのセット、任意の組み合わせのコネクタ、およびコネクタサブコンポーネントから構成されます (図 1-1 を参照)。コネクタサブコンポーネントは、Sun Java System Directory Server と Windows ディレクトリの間でパスワードとユーザー属性の更新を同期させる場合に必要とされます。

図 1-1 システムコンポーネント

主要システムコンポーネントを示すブロック図

ここでは、Identity Synchronization for Windows の各コンポーネントとその構成を定義し、それぞれについて説明します。

Watchdog プロセス

Watchdog は個々のバックグラウンド Java プロセスの起動、再起動、停止を担当する Identity Synchronization for Windows Java プロセスです。Watchdog は、セントラルロガー、システムマネージャ、コネクタを起動し、それを監視します。ただし、サブコンポーネント、Message Queue、Identity Synchronization for Windows コンソールの監視は行いません。

Watchdog は、コアをインストールするすべてのマシンにインストールされ、Solaris デーモンまたは Windows サービスとして実行できます。サービスの起動と停止については、「サービスの開始と停止」を参照してください。

コア

Identity Synchronization for Windows のインストールでは、最初にコアコンポーネントをインストールし、次に環境に合わせてそれを設定します。

コアは次のコンポーネントから構成されます。各コンポーネントは独立した Java プロセスです。各コンポーネントについて、次の各ページで説明します。

設定ディレクトリ

Identity Synchronization for Windows は、設定データを Directory Server 設定ディレクトリに格納します。設定ディレクトリは、プログラムによってインストールされません。

コンソール、システムマネージャ、コマンド行ユーティリティ、インストーラは、いずれも設定ディレクトリに対して製品の次のような設定データの書き込みと読み込みを行います。

コンソール

Identity Synchronization for Windows には、製品コンポーネントのすべての設定タスクと管理タスクを集中的に行えるコンソールが用意されています。

コンソールには次の機能があります。

コマンド行ユーティリティ

Identity Synchronization for Windows には、次のタスクをコマンド行から直接実行するためのコマンド行ユーティリティも用意されています。

製品のコマンド行ユーティリティの詳細な説明と使用方法については、付録 A 「Identity Synchronization for Windows のコマンド行ユーティリティの使用」を参照してください。

システムマネージャ

Identity Synchronization for Windows のシステムマネージャは独立した Java プロセスで、次の機能を持ちます。

セントラルロガー

コネクタは、地理的に離れた複数の場所にまたがってインストールできます。このため、すべてのログ情報を集約することは、管理上の大きな利点となります。これにより管理者は、同期アクティビティの監視、エラーの検出、システム全体の状態の評価を 1 つの場所で行うことができます。

管理者は、セントラルロガーを使用して次の管理を行えます。

ログには、次の 2 種類があります。

コネクタ

コネクタは、1 つのデータソースタイプで同期プロセスを管理する Java プロセスです。コネクタはユーザーによる変更をデータソースから検出し、Message Queue 経由でその変更をリモートコネクタに伝達します。

Identity Synchronization for Windows には、ディレクトリの種類別に次のコネクタがあります。これらのコネクタは、ディレクトリ間およびドメイン間でユーザー属性とパスワードの更新を双方向に同期させます。

コネクタサブコンポーネント

サブコンポーネントは、コネクタから独立して実行される軽量のプロセスまたはライブラリです。コネクタは、Directory Server または Windows NT 内のパスワードの取り込みのように、リモートアクセスできないネイティブリソースへのアクセスにサブコンポーネントを使用します。

同期対象のディレクトリには次のコネクタサブコンポーネントがインストールされ、暗号化された接続を通じて対応するコネクタと通信します。

Directory Server プラグイン

Directory Server プラグインは、Directory Server コネクタのサブコンポーネントです。Directory Server プラグインは、同期対象となるそれぞれの Directory Server にインストールされます。

このプラグインの機能は次のとおりです。

Windows NT コネクタサブコンポーネント

Windows NT SAM Registry との同期が必要なインストールでは、Identity Synchronization for Windows のインストールプログラムによって Windows NT コネクタ以外に次の主ドメインコントローラ (PCD) がインストールされます。

Message Queue

Identity Synchronization for Windows は、ディレクトリソース間での属性とパスワードの変更の伝達、およびディレクトリソースの同期を管理するコネクタへの管理情報と設定情報の伝達に、Message Queue を使用します。Message Queue は、パブリッシュ / サブスクライブのモデルを持つ持続的メッセージキューメカニズムです。

Message Queue は、オープンな標準規格である JMS (Java Message Service) を実装する企業向けのメッセージングシステムです。JMS 仕様は、Java アプリケーションが分散環境でメッセージの作成、送受信、および読み取りを行う共通の方法を提供するためのプログラミングインタフェースを規定しています。

Message Queue は、共通のメッセージサービスを使用してメッセージを交換する、メッセージパブリッシャとサブスクライバから構成されます。このメッセージサービスは、1 つまたは複数の専用メッセージブローカから構成され、これらのブローカは Message Queue に対するアクセスの制御、アクティブなパブリッシャとサブスクライバに関する情報の維持、メッセージ配信の確認を行います。

Message Queue を利用した伝達には次のような利点があります。


システムコンポーネントの分散

効率的な配備を開発するには、Identity Synchronization for Windows のコンポーネントがどのように組織化され、製品がどのように機能するかについて事前に理解する必要があります。ここで説明する内容は次のとおりです。

この項および配備例 (詳細情報) で説明する基本概念を理解することで、Active Directory 環境と Windows NT 環境の混合環境や複数サーバー環境のように、より複雑で洗練された配備に必要な戦略を策定するための情報を推測できるようになります。

コア

まず、サポートされるオペレーティングシステムのディレクトリサーバーに、すべてのコアコンポーネントを一度だけインストールします。管理サーバーは、コアと同じマシンに存在します。コアをインストールするには、事前に Message Queue 3.5 SP1 Enterprise Edition をインストールしておく必要があります。

Directory Server コネクタとプラグイン

Directory Server コネクタは、サポートされている任意のオペレーティングシステム (「オペレーティングシステムの要件」を参照) にインストールできます。Directory Server コネクタは、同期対象の Directory Server が稼動しているマシンにインストールする必要はありません。ただし、設定されている Directory Server ソースごとに 1 つの Directory Server コネクタをインストールする必要があります。

Directory Server プラグインは、同期対象となる Directory Server がインストールされているすべてのホストにインストールする必要があります。


Directory Server コネクタは、Directory Server ソースごとに 1 つずつインストールされます。一方、Directory Server プラグインは、同期対象となるマスター、ハブ、およびコンシューマレプリカごとにインストールする必要があります。


Active Directory コネクタ

Active Directory コネクタは、サポートされている任意のオペレーティングシステムにインストールできます (図 1-2 を参照)。Windows 環境に Active Directory コネクタをインストールする必要はありませんが、Active Directory ドメインごとに 1 つの Active Directory コネクタをインストールする必要があります。

図 1-2 Directory Server と Active Directory コンポーネントの分散

Active Directory コンポーネントを示すブロック図

Windows NT コネクタとサブコンポーネント

Windows NT SAM Registry との同期を行うには (図 1-3 を参照)、主ドメインコントローラに Windows NT コネクタ (PDC) をインストールする必要があります。また、インストールプログラムは、コネクタ以外にも 2 つの NT コネクタサブコンポーネント (変更ディテクタとパスワードフィルタの DLL) を NT ドメインの PDC にインストールします。1 つの NT コネクタは、1 つの NT ドメインのユーザーとパスワードを同期させます。

図 1-3 Directory Server と NT コンポーネントの分散

NT コネクタとサブコンポーネントを示すブロック図


Identity Synchronization for Windows がディレクトリソース内の変更を検出するしくみ

ここでは、Sun Java System Directory Server (Directory Server)、Windows Active Directory、Windows NT のコネクタが、ユーザーエントリとパスワードの変更を検出するしくみについて説明します。

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

Directory Server コネクタによる変更の検出

Directory Server コネクタは LDAP を介して Directory Server の旧バージョン形式の更新履歴ログを調べ、ユーザーエントリとパスワードの変更イベントを検出します。このとき、Directory Server プラグインはコネクタによる次の処理を支援します。

Active Directory コネクタによる変更の検出

Windows 2000/2003 Server Active Directory コネクタは、Active Directory の属性 USNChanged および PwdLastSet の値を調べることで、ユーザーエントリとパスワードの変更を検出します。

Directory Server の旧バージョン形式の更新履歴ログとは異なり、エントリの属性に変更を加えても、Active Directory はどの属性が変更されたかをレポートしません。その代わりに、Active Directory は USNchanged 属性の値を繰り上げることでエントリの変更を識別します。個々の属性の変更を検出するために、Active Directory と Windows NT のコネクタはオブジェクトキャッシュというプロセス内データベースを使用します。オブジェクトキャッシュには、Active Directory の各エントリのハッシュ化されたコピーが格納され、コネクタはこのコピーを使用して、エントリ内のどの属性が変更されたかを特定します。

Windows 環境に Active Directory コネクタをインストールする必要はありません。Active Directory コネクタは、Solaris コンピュータを含め、あらゆる環境で実行することができ、LDAP 経由でリモートに検出、変更を行うことができます。

図 1-5 Active Directory コネクタによる変更の検出

Active Directory コネクタによる変更の検出を示すブロック図

Windows NT コネクタによる変更の検出

Windows NT コネクタは、ユーザーオブジェクトに関する監査イベントのセキュリティログを調べることで、ユーザーエントリとパスワードの変更を検出します。

Windows NT SAM Registry との同期を行うには (図 1-3 を参照)、主ドメインコントローラに Windows NT コネクタ (PDC) をインストールする必要があります。また、インストーラは、コネクタ以外にも 2 つの NT コネクタサブコンポーネント (変更ディテクタとパスワードフィルタの DLL) を NT ドメインの PDC にインストールします。1 つの NT コネクタは、1 つの NT ドメインのユーザーとパスワードを同期させます。

図 1-6 Windows NT コネクタによる変更の検出

Windows NT コネクタによる変更の検出を示すブロック図


配備に Windows NT マシンが含まれる場合、監査を有効にしない限り、Identity Synchronization for Windows はそのマシンからのメッセージをログに記録できません。Windows NT マシンで監査のログ記録が有効化されているかどうかを確認する方法については、「Windows NT マシンでの監査の有効化」を参照してください。

変更ディテクタおよびパスワードフィルタ DLL の各サブコンポーネントについては、「Windows NT コネクタサブコンポーネント」を参照してください。


パスワード更新の伝達

ここでは、パスワードの変更を Windows システムと Directory Server システムの間で相互に伝達するために必要な、クリアテキスト形式パスワードの取得方法について説明します。

パスワードフィルタ DLL によるクリアテキスト形式パスワードの取得

Windows NT コネクタがパスワードの変更を Sun Java System Directory Server に伝達するには、クリアテキスト形式のパスワードを取得する必要があります。しかし、パスワードはディレクトリへの格納時にすでに暗号化されているため、Windows ディレクトリからクリアテキスト形式のパスワードを抽出することはできません。

Windows NT には、パスワードフィルタ DLL インタフェースが用意されています。コンポーネントはこのインタフェースを使用して、パスワードがディレクトリに永続的に格納される前に、クリアテキスト形式のパスワードを取得します。

オンデマンドパスワード同期によるクリアテキスト形式パスワードの取得

Active Directory は Windows NT と同じパスワードフィルタをサポートするため、すべてのドメインコントローラに主ドメインコントローラ (PDC) だけでなく、パスワードフィルタ DLL をインストールする必要があります。このインストール作業は大きな負担となるため、Identity Synchronization for Windows は Active Directory から Directory Server へのパスワード変更の同期にオンデマンドパスワード同期という別の方法を使用します。

オンデマンドパスワード同期により、Windows 2000 環境でユーザーがパスワードを変更した後に、そのユーザーが Directory Server にログインするときに新しいパスワードの値を Directory Server 側で取得することができます。

また、オンデマンドパスワード同期により、パスワードフィルタ DLL なしでパスワードを Active Directory と同期させることができます。

オンデマンドパスワード同期は次のように行われます。

  1. ユーザーは Windows ワークステーションで Ctrl-Alt-Del キーを押し、パスワードを変更します。新しいパスワードは Active Directory に格納されます。
  2. Active Directory コネクタは、設定された間隔でシステムをポーリングします。
  3. USNchanged (更新シーケンス番号) 属性と PwdLastSet 属性の変更に基づいてコネクタがパスワードの変更を検出すると、コネクタはパスワードの変更に関するメッセージを Message Queue でパブリッシュします。メッセージは、SSL で暗号化されたチャネルを通じて転送されます。

    図 1-7 オンデマンドパスワード同期 (第 1 部)
    オンデマンドパスワード同期のしくみを示すブロック図

  4. Directory Server コネクタは、パスワード変更に関するメッセージを Message Queue から SSL 経由で受信します。
  5. Directory Server コネクタは、ユーザーエントリの dspswvalidate 属性を true に設定します。これにより、古いパスワードは無効化され、Directory Server プラグインにパスワードの変更が伝達されます。
  6. ユーザーがログインを試みると、Portal Server などの LDAP アプリケーションを使用して Directory Server に対する認証が行われ、Sun Java System Directory Server プラグインは Directory Server エントリ内のパスワード値が無効になっていることを検出します。
  7. Directory Server プラグインは Active Directory 内で対応するユーザーを検索します。ユーザーを見つけると、プラグインは Directory Server へのログイン試行時にユーザーが入力したパスワードを使用して Active Directory へのバインドを試みます。

  8. オンデマンドパスワード同期では、アプリケーションは Directory Server に対する認証に SASL Digest-MD5 などの複雑なメカニズムではなく、単純なメカニズムを使用する必要があります。


  9. Active Directory へのバインドが成功した場合は、ユーザーが Active Directory の新しいパスワードを入力したことが確認され、Directory Server プラグインは Directory Server のユーザーエントリに新しいパスワードを設定し、無効パスワードのフラグを削除します。
  10. 図 1-8 オンデマンドパスワード同期 (第 2 部)
    Active Directory と Directory Server でユーザーエントリとパスワードの変更が更新されるしくみを示す図


    ユーザー認証に失敗した場合、Directory Server 側ユーザーエントリのパスワードはそのまま残されるため、Active Directory に対する認証に使用する正しいパスワードをユーザーが入力してログインするまで、Directory Server と Active Directory の間で非同期が生じます。



信頼性の高い同期

コンポーネントが一時的に使用不可能な状態になってもユーザーによる変更のイベントが失われないように、Identity Synchronization for Windows は数多くの対策を講じています。Identity Synchronization for Windows の信頼性は、TCP ネットワークプロトコルの信頼性に似ています。TCP は、不可逆的で断続的に接続されたネットワークであっても、最終的にすべてのデータを順番に配信します。ネットワークが一時的に使用不可能な状態にある最中に送信されたデータは、ネットワークの停止中はキューに蓄積され、接続が回復した時点で再配信されます。Identity Synchronization for Windows は、次のいずれかのコンポーネントが一時的に使用不可能になった場合でも、ユーザーによる変更のイベントを最終的に検出し、それを適用します。

いずれかのコンポーネントが使用不可能になった場合、Identity Synchronization for Windows は変更 (パスワードの変更を含む) を失うことなく、該当コンポーネントが使用可能な状態に復元されるまで同期を遅延させます。Identity Synchronization for Windows のこのバージョンは、Sun Cluster などの本来の意味での高可用性ソリューションをサポートしていません。Identity Synchronization for Windows は、ユーザーが直接操作することのない、背後で実行されるアプリケーションであるため、通常は高可用性は必要ありません。致命的な障害が発生してしまった場合は、Identity Synchronization for Windows コンポーネントを再インストールし、idsync resync コマンドを使用してすべてのディレクトリソースを再同期させることができます。

ほとんどの状況では、コンポーネントが使用不可能になると、プログラムは同期イベントをキューに蓄積し、コンポーネントが使用可能に復元された場合にだけそのイベントを適用します。このプロセスには、次の 2 つの例外があります。


2 マシン構成での配備例

ここでは、Identity Synchronization for Windows を使用して、Sun ディレクトリと Windows ディレクトリの間でユーザーオブジェクト作成の同期と、パスワード修正の双方向同期を行う配備例について説明します。

この配備例は、次の 2 つのシステムから構成されます。


この例では NT は使用されませんが、Identity Synchronization for Windows は NT ドメインとの同期もサポートしています。


図 1-9 は、この配備例に適用される同期要件 (ノード構成と関連属性値) を示しています。

図 1-9 同期要件

ノード構成と属性値を示す同期要件

この配備例には、次の 2 つの目的があります。


Identity Synchronization for Windows は、同一種類の複数の同期ソースをサポートします。たとえば、1 つの配備に複数の Directory Server や複数の Active Directory ドメインを持たせることができます。

同期設定の作成、修正、削除はディレクトリセット全体でグローバルに適用され、各ディレクトリソースに個別に指定することはできません。ユーザーオブジェクトの作成を Sun から Windows に同期させる場合、ユーザーオブジェクトの新規作成はすべての Sun Directory Server から、インストールに設定されているすべての Active Directory ドメインおよび Windows NT ドメインに伝達されます。


物理的な配備

図 1-10 は、製品のすべてのコンポーネントが 1 つの Solaris ボックスに物理的にどのように配備されるかを示しています。Active Directory ドメインは、異なる Active Directory ドメインコントローラ上に存在し、こちらにはコンポーネントはインストールされていません。

図 1-10 Directory Server と Active Directory の配備例

Directory Server と Active Directory の物理的な配備

コンポーネントの分散

ホスト corp.example.com は、Solaris オペレーティングシステムにインストールされた Directory Server です。同期対象 Directory Server のルートサフィックスは dc=corp,dc=example,dc=com です。

このマシンには、次のコンポーネントが含まれます。

ホスト sales.example.com は、同期対象 Active Directory ドメインです。



前へ      目次      索引      次へ     


Part No: 817-7846   Copyright 2004 Sun Microsystems, Inc. All rights reserved.