2.3 Identity Managerの実装に関する技術面の計画

2.3.1 Designerの使用

Identity Managerには、Designerというユーティリティが付属しています。Designerを使用すると、Identity Managerドライバを設計、テスト、および文書化できます。 また、パスワード同期およびデータフローの様子を参照することもできます。詳細については、『Designer 2.1 for Identity Manager 3.5.1』管理ガイドを参照してください。

2.3.2 Identity Managerがサーバで必要とするオブジェクトの複製

Identity Manager環境で、複数のIdentity Managerドライバを実行するために複数のサーバを呼び出す場合は、計画において、それらのIdentity Managerドライバを実行するサーバ上で特定のeDirectoryオブジェクトが複製されていることを確認してください。

読み込み、または同期を行うためにドライバで必要なオブジェクト、および属性のすべてがフィルタされたレプリカに含まれているのであれば、フィルタされたレプリカを使用することもできます。

Identity Managerのドライバオブジェクトに、同期対象のすべてのオブジェクトに対する十分なeDirectory権限を付与する必要がある点に注意してください。これは、権限を明示的に付与するか、必要な権限を持つオブジェクトと同等のドライバオブジェクトセキュリティを作成することにより行います。

Identity Managerドライバが実行されている(またはリモートローダを使用している場合はドライバが参照している) eDirectoryサーバには、次のもののマスタレプリカまたは読み書き可能レプリカが保持されている必要があります。

  • そのサーバのドライバセットオブジェクト。

    Identity Managerが実行されている各サーバには、1つのドライバセットオブジェクトが必要です。特定の必要がない限り、複数のサーバを同じドライバセットオブジェクトに関連付けないでください。

    メモ:ドライバセットオブジェクトを作成する際は、デフォルト設定を使用して独立したパーティションが作成されます。ドライバセットオブジェクトには、独立したパーティションを作成することをお勧めします。Identity Managerが機能するには、ドライバセットオブジェクトの完全なレプリカがサーバに保持されている必要があります。ドライバセットオブジェクトがインストールされている場所の完全なレプリカがサーバにある場合、パーティションは必要ありません。

  • そのサーバのサーバオブジェクト。

    サーバオブジェクトは、ドライバがオブジェクトの鍵のペアを生成できるようにするために必要です。さらに、リモートローダの認証にも必要です。

  • ドライバのこのインスタンスを同期するオブジェクト。

    ドライバは、オブジェクトのレプリカがドライバと同じサーバにない場合は、それらのオブジェクトを同期できません。実際に、Identity Managerドライバは、サーバで複製されるすべてのコンテナ内のオブジェクトを同期します。ただし、それ以外の動作を指定するルール(「スコープフィルタリング」のルール)を作成した場合は別です)。

    ドライバがすべてのユーザオブジェクトを同期するようにするには、たとえばすべてのユーザのマスタレプリカまたは読み書き可能レプリカが保持されているサーバ上にある、ドライバの1つのインスタンスを使用するのが最も簡単な方法です。

    ただし、多くの環境にはすべてのユーザのレプリカが含まれる1つのサーバがありません。むしろ、ユーザの完全なセットは複数のサーバに分散しています。この場合、次の3つから選択します。

    • ユーザを1つのサーバに集約します。 既存のサーバにレプリカを追加することにより、すべてのユーザを保持する1つのサーバを作成できます。必要なユーザオブジェクトおよび属性がフィルタされたレプリカに含まれている限り、必要に応じてフィルタされたレプリカを使用し、eDirectoryデータベースのサイズを小さくできます。

    • スコープフィルタリングを行って、複数のサーバ上にあるドライバの複数のインスタンスを使用します。 ユーザを1つサーバに集約したくない場合は、どのサーバセットにすべてのユーザを保持するかを判別し、それらの各サーバにIdentity Managerドライバの1つのインスタンスを設定する必要があります。

      ドライバの別々のインスタンスが同じユーザを同期しないようにするには、「スコープフィルタリング」を使用して、ドライバの各インスタンスが同期するユーザを定義する必要があります。スコープフィルタリングは、特定のコンテナに対するドライバの管理範囲を制限するルールを各ドライバに追加することを意味しています。 詳細については、スコープフィルタリングを使用した異なるサーバ上のユーザの管理を参照してください。

    • スコープフィルタリングを行わずに、複数のサーバにあるドライバの複数のインスタンスを使用します。 フィルタされたレプリカを使用せずに、複数のサーバでドライバの複数のインスタンスを実行する場合は、ドライバが同じ識別ボールト内でさまざまなオブジェクトセットを処理できるようにするポリシーを、複数のドライバインスタンスで定義する必要があります。

  • テンプレートの使用を選択した場合は、ユーザの作成時にドライバで使用されるテンプレートオブジェクト。

    Identity Managerドライバが、ユーザの作成時にeDirectoryテンプレートオブジェクトを指定するよう求めることはありません。ただし、eDirectoryでユーザを作成する際にドライバがテンプレートを使用するように指定した場合は、ドライバが実行されているサーバでテンプレートオブジェクトを複製する必要があります。

  • Identity Managerドライバがユーザの管理に使用するすべてのコンテナ。

    たとえば、無効になったユーザアカウントを保持するInactive Usersという名前のコンテナを作成した場合、ドライバが実行されているサーバ上にそのコンテナのマスタレプリカまたは読み書き可能レプリカ(可能であればマスタレプリカ)が必要です。

  • ドライバが参照する必要のある他のすべてのオブジェクト(たとえば、Avaya* PBXドライバ用のワークオーダーオブジェクト)。

    他のオブジェクトがドライバに読み込まれるだけで変更されない場合、サーバ上にあるそれらのオブジェクトのレプリカは読み込み専用レプリカとすることができます。

2.3.3 スコープフィルタリングを使用した異なるサーバ上のユーザの管理

スコープフィルタリングは、特定のコンテナに対するドライバのアクション範囲を制限するルールを各ドライバに追加することを意味しています。スコープフィルタリングを使用する必要のある2つの状況を次に示します。

  • ドライバにより、特定のコンテナ内のユーザだけを同期する。

    Identity Managerドライバは、デフォルトでは、実行されているサーバで複製されるすべてのコンテナ内にあるオブジェクトを同期します。範囲を絞り込むには、スコープフィルタリングルールを作成する必要があります。

  • Identity Managerドライバによりすべてのユーザを同期するが、一部のユーザは同じサーバ上で複製しない。

    すべてのユーザを1つのサーバ上で複製せずに同期する場合は、どのサーバセットですべてのユーザを保持するかを決定し、それらの各サーバでIdentity Managerドライバのインスタンスを作成する必要があります。ドライバの2つのインスタンスが同じユーザを同期しないようにするには、スコープフィルタリングを使用して、ドライバの各インスタンスが同期するユーザを定義する必要があります。

    メモ:スコープフィルタリングは、サーバのレプリカが今のところ重複していない場合でも使用してください。今後、レプリカがサーバに追加され、意図せずに重複が発生する可能性があります。スコープフィルタリングを適切な場所に設定すると、今後レプリカがサーバに追加された場合でも、Identity Managerドライバは同じサーバを同期しなくなります。

次に、スコープフィルタリングの使用例を示します。

次の図は、ユーザを保持する3つのコンテナ(マーケティング、ファイナンス、および開発)が存在する識別ボールトを示しています。また、ドライバセットを保持するIdentity Managerコンテナも示しています。これらの各コンテナは、独立したパーティションです。

図 2-5 スコープフィルタリングのツリーの例

この例では、図 2-6にもあるようにIdentity Manager管理者は2つの識別ボールトサーバ(サーバAおよびサーバB)を持っています。どちらのサーバにも、すべてのユーザのコピーが含まれているわけではありません。各サーバには、3つのパーティションのうち2つが含まれているため、サーバが保持している対象の範囲が重複しています。

管理者にとっては、ツリー内のすべてのユーザをGroupWiseドライバにより同期することが望ましいのですが、すべてのユーザのレプリカを1つのサーバに集約することは望ましくありません。代わりに、GroupWiseドライバの2つのインスタンスを使用する(各サーバに1つのインスタンスを使用)よう指定します。 Identity Managerをインストールして、各Identity ManagerサーバでGroupWiseドライバを設定します。

サーバAは、マーケティングコンテナおよびファイナンスコンテナのレプリカを保持しています。 さらに、このサーバは、サーバAのドライバセットおよびサーバAのGroupWiseドライバオブジェクトを保持するIdentity Managementコンテナのレプリカでもあります。

サーバBは、開発コンテナおよびファイナンスコンテナのレプリカと、サーバBのドライバセットおよびサーバBのGroupWiseドライバオブジェクトを保持するIdentity Managementコンテナのレプリカを保持しています。

サーバAとサーバBはどちらもファイナンスコンテナのレプリカを保持しているため、どちらのサーバもファイナンスコンテナにあるユーザJBassadを保持しています。 スコープフィルタリングを設定しないと、GroupWise Driver AおよびGroupWise Driver Bの両方によりJBassadが同期されます。

図 2-6 レプリカが重複していてスコープフィルタリングの設定されていない2つのサーバ

次の図は、スコープフィルタリングで各コンテナを同期するドライバを定義することにより、ドライバの2つのインスタンスで同じユーザを管理するのを回避する様子を示しています。

図 2-7 スコープフィルタリングによる、各コンテナを同期するドライバの定義

Identity Manager 3.5.1には、定義済みルールが付属しています。スコープフィルタリングに役立つ2つのルールがあります。 『Understanding Policies for Identity Manager 3.5.1』の「Event Transformation - Scope Filtering - Include Subtrees」および「Event Transformation - Scope Filtering - Exclude Subtrees」で説明されています。

この例では、サーバAおよびサーバBには定義済みルールInclude Subtreesを使用します。指定されたコンテナのユーザだけを同期するように、各ドライバには異なる範囲を定義します。 サーバAは、マーケティングおよびファイナンスを同期します。サーバBは、開発を同期します。