この付録では、同期ユーザーリスト (SUL) の定義の補足情報を記載し、複数のドメインを設定する方法について説明します。ここで説明する内容は、次のとおりです。
同期ユーザーリスト (SUL) にはすべて、2 つの定義が含まれています。1 つは同期する Directory Server ユーザーを識別し、もう 1 つは同期する Windows ユーザーを識別します。
各定義は同期するディレクトリ内のユーザー、同期から除外するユーザー、新しいユーザーの作成場所を識別します。
Identity Synchronization for Windows コンソールを使用して選択したオブジェクトクラスによっても、同期されるユーザーが決まります。プログラムは、選択したオブジェクトクラスを持つこれらのユーザーのみを同期します。これには、選択したオブジェクトクラスのサブクラスを持つユーザーも含まれます。
たとえば、inetorgperson オブジェクトクラスは organizationalPerson オブジェクトクラスのサブクラスであるため、organizationalPerson オブジェクトクラスを選択すると、Identity Synchronization for Windows によってユーザーが inetorgperson オブジェクトクラスと同期されます。
「同期ユーザーリストの定義の理解」では、SUL 定義コンポーネントについて説明します。
表 D–1 SUL 定義コンポーネント
複数の Active Directory ドメインを持つ Sun Java System Directory Server でユーザーを同期するには、Active Directory ドメインごとに SUL を少なくとも 1 つ定義します。
グループ同期が有効になっている場合は、次のことを確認してください。
Active Directory でサポートされる作成式は cn=%cn% です。
作成式はユーザーとグループの両方に共通であるため、作成式にはグループオブジェクトクラスに属する有効な属性名を含めてください。
次に例を示します。
属性 sn は、Directory Server の groupofuniquenames オブジェクトクラスの一部ではありません。したがって、グループオブジェクトでは、次の作成式は無効になります。(ただし、ユーザーオブジェクトでは正しく機能する。)
cn=%cn%.%sn% |
作成式に使用される属性には、作成されるすべてのユーザー/グループエントリの値を指定します。値が指定されないと、ユーザー/グループオブジェクトが同期されず、該当するメッセージがセントラルログに記録されます。
複数の SUL を定義した場合、各 SUL 定義を繰り返し一致させることで Identity Synchronization for Windows によって SUL 内のメンバーシップが決定されます。プログラムはより具体的なベース DN を持つ SUL 定義を最初に調べます。たとえば、プログラムは dc=example,dc=com の前に ou=sales,dc=example,dc=com に対する一致をテストします。
2 つの SUL 定義のベース DN が同じでフィルタが異なる場合、Identity Synchronization for Windows はどのフィルタを最初にテストするか自動的に決定できません。このため、ドメイン重複の解決機能を使用して 2 つの SUL 定義の順序を決定してください。ユーザーが SUL 定義のベース DN と一致したが、そのベース DN のいずれのフィルタも一致しない場合、ユーザーが具体性が低いベース DN のフィルタを一致させた場合でもプログラムはそのユーザーを同期から除外します。
複数の Windows ドメインが同じ Directory Server コンテナ (ou=people,dc=example,dc=com など) に同期するのをサポートするために、Identity Synchronization for Windows はドメイン情報を含む「合成」Windows 属性を使用します。
Active Directory ドメインの場合、Identity Synchronization for Windows は Directory Server にエントリを同期する前に Active Directory ドメイン名 (east.example.com など) に activedirectorydomainname 属性を設定します。
Windows NT ドメインの場合、Identity Synchronization for Windows は Directory Server にエントリを同期する前に Windows NT ドメイン名 (NTEXAMPLE など) に user_nt_domain_name 属性を設定します。
これらの属性は実際に Windows ユーザーエントリに表示されませんが、Identity Synchronization for Windows コンソールで同期に使用でき、Directory Server のユーザー属性にマップできます。Identity Synchronization for Windows がドメイン属性をマップすると、これらが同期の間に Directory Server エントリで設定され、同期ユーザーリスト (SUL) フィルタで使用できます。
次の例は、Identity Synchronization for Windows がこれらの属性を使用する方法を示しています。この例では、3 つの Windows ドメイン (2 つの Active Directory ドメインと 1 つの Windows NT ドメイン) が単一の Directory Server インスタンスと同期すると仮定してします。
Active Directory east.example.com ドメインのユーザーは ou=people,dc=example,dc=com の Directory Server に同期します。
Active Directory west.example.com ドメインのユーザーは ou=people,dc=example,dc=com の Directory Server に同期します。
Windows NT NTEXAMPLE ドメインのユーザーは ou=people,dc=example,dc=com の Directory Server に同期します。
Directory Server ユーザーを作成または変更する場合、(各 Directory Server SUL に同じベース DN、ou=people,dc=example,dc=com があるため) プログラムは SUL フィルタを使用してユーザーを同期する Windows ドメインを決定します。activedirectorydomainname 属性と user_nt_domain_name 属性によってこれらのフィルタの構築は簡単になります。
Directory Server の destinationindicator 属性を Active Directory の activedirectorydomainname 属性と Windows NT の user_nt_domain_name 属性にマップします。
次の手順で各 Windows ドメインに SUL を 1 つ設定します。
EAST_SUL
Sun Java System Directory Server definition Base DN: ou=people,dc=example,dc=com Filter: destinationindicator=east.example.com Creation Expression: cn=%cn%,ou=people,dc=example,dc=com
Active Directory definition (east.example.com) Base DN: cn=users,dc=east,dc=example,dc=com Filter: <none\> Creation Expression: cn=%cn%,cn=users,dc=east,dc=example,dc=com
WEST_SUL
Sun Java System Directory Server definition Base DN:ou=people,dc=example,dc=com Filter: destinationindicator=west.example.com Creation Expression: cn=%cn%,ou=people,dc=example,dc=com
Active Directory definition (west.example.com) Base DN: cn=users,dc=west,dc=example,dc=com Filter:<none\> Creation Expression: cn=%cn%,cn=users,dc=west,dc=example,dc=com
NT_SUL
Sun Java System Directory Server definition Base DN: ou=people,dc=example,dc=com Filter: destinationindicator=NTEXAMPLE Creation Expression: cn=%cn%, ou=people,dc=example,dc=com
Windows NT definition (NTEXAMPLE) Base DN: NA Filter: <none\> Creation Expression: NA
各 Directory Server SUL 定義に同じベース DN と作成式があるが、フィルタは対応する Windows ユーザーエントリのドメインを示します。
これらの設定で Directory Server のユーザーエントリを別の Windows ドメインと同期する方法について、次のテストケースでより詳しく説明します。
Active Directory east.example.com ドメインで cn=Jane Test,cn=users,dc=east,dc=example,dc=com を作成します。
Identity Synchronization for Windows は destinationindicator=east.example.com でユーザーエントリ cn=Jane Test,ou=people,dc=example,dc=com を Directory Server に作成します。
Directory Server で cn=Jane Test,ou=people,dc=example,dc=com エントリを変更します。
Jane Test の destinationindicator 属性は east.example.com であるため、彼女のエントリは EAST_SUL 同期ユーザーリストフィルタと一致し、変更は east.example.com Active Directory ドメインに同期します。
この例は、Identity Synchronization for Windows が Windows からのユーザー作成を Directory Server に同期すると仮定しています。これ以外の場合、idsync resync コマンドを実行して destinationindicator 属性を設定できます。
複数の SUL のある配備で idsync resync -f を使用する場合、おそらくリンク設定ファイルで allowLinkingOutOfScope オプションを true に設定する必要があります。付録 B 「Identity Synchronization for Windows LinkUsers XML ドキュメントの例」を参照してください。
この例は、inetorgperson、destinationIndicator の既存の属性を使用します。これは他の目的で使用される場合もあります。この属性がすでに使用されていたり、別のオブジェクトクラスを選択したりする場合は、ユーザーの Directory Server エントリのいくつかの属性を user_nt_domain_name および/または activedirectorydomainname 属性にマップしてください。この値を格納するよう選択した Directory Server 属性は、残りの属性マッピング設定に使用するオブジェクトクラスに含めます。
このドメイン情報を格納するための使用していない属性がない場合は、新しいドメイン属性と Identity Synchronization for Windows で使用するその他の属性をすべてを格納する新しいオブジェクトクラスを作成してください。