2.1 データ同期

データ同期によって、ビジネスプロセスの自動化のための基礎が提供されます。最も簡単な形式で、データ同期では、データ項目を変更する場所からそのデータ項目を必要とする別の場所にデータを移動します。たとえば、従業員の電話番号が会社の人材システムで変更される場合、その変更は理想的に、従業員の電話番号を格納している他のすべてのシステムで自動的に表示されます。

Identity Managerは識別データの同期だけではありません。Identity Managerを使用すると、接続アプリケーションまたは識別ボールト内に格納されているすべての種類のデータを同期できます。

パスワードの同期を含むデータ同期は、Identity Managerソリューションの5つの基本的なコンポーネント、識別ボールト、メタディレクトリエンジン、ドライバ、リモートローダ、および接続アプリケーションによって実現しています。これらのコンポーネントは次の図に示します。

図 2-2 Identity Managerアーキテクチャコンポーネント

次のセクションでは、これらの各コンポーネント、および組織のシステム間でデータを効率的に同期するために理解する必要のある概念について説明します。

2.1.1 コンポーネント

識別ボールト: 識別ボールトは、アプリケーション間で同期するデータのメタディレクトリの役割を果たしています。たとえば、PeopleSoftシステムからLotus Notesに同期されたデータが最初に識別ボールトに追加され、Lotus Notesシステムに送信されます。さらに、識別ボールトには、ドライバ構成、パラメータ、およびポリシーなどのIdentity Managerに固有の情報が格納されます。Novell eDirectory™は識別ボールトに使用されます。

メタディレクトリエンジン: 識別ボールトまたは接続アプリケーション内でデータが変更されると、メタディレクトリエンジンによってその変更が処理されます。識別ボールトで発生するイベントでは、エンジンによって変更が処理され、ドライバを通じてアプリケーションにコマンドが発行されます。アプリケーションで発生するイベントでは、エンジンによってドライバからの変更が受信され、その変更が処理され、識別ボールトにコマンドが発行されます。メタディレクトリエンジンはIdentity Managerエンジンと呼ばれることもあります。

ドライバ: ドライバは、識別情報を管理するアプリケーションに接続します。ドライバには次の2つの役割があります。1)アプリケーション内のデータ変更(イベント)をメタディレクトリエンジンにレポートする。2)メタディレクトリエンジンによって送信されたデータ変更(コマンド)をアプリケーションに対して実行する。

リモートローダ: ドライバをインストールして、接続しているアプリケーションと同じサーバで実行する必要があります。アプリケーションがメタディレクトリエンジンと同じサーバにある場合、必要なのは、そのサーバにドライバをインストールすることだけです。ただし、アプリケーションがメタディレクトリエンジンと同じサーバにない場合(つまり、ローカルではなく、エンジンのサーバに対してリモートである場合)、ドライバおよびリモートローダをアプリケーションサーバにインストールする必要があります。リモートローダはドライバをロードし、ドライバの代わりにメタディレクトリエンジンと通信します。

アプリケーション: ドライバの接続先のシステム、ディレクトリ、データベース、またはオペレーティングシステム。アプリケーションはドライバが使用できるAPIを提供することによって、アプリケーションデータの変更を特定し、アプリケーションデータの変更を行う必要があります。アプリケーションは接続システムと呼ばれることもあります。

2.1.2 主な提案

チャネル: 2つの別のチャンネルを伝わる識別ボールトと接続システムの間のデータフロー。購読者チャンネルによって、識別ボールトから接続システムへのデータフローが実現します。つまり、接続システムが識別ボールトからデータを購読します。発行者チャンネルによって、接続システムから識別ボールトへのデータフローが実現します。つまり、接続システムが識別ボールトにデータを発行します。

データ表示: XMLドキュメントでチャンネルを通過するデータフロー。XMLドキュメントは、識別ボールトまたは接続システムで変更が行われると、作成されます。XMLドキュメントは、ドライバのチャンネルに関連付けられているフィルタおよびポリシーのセットを通ってドキュメントを転送するメタディレクトリエンジンを通過します。すべての処理がXMLドキュメントに適用されている場合、メタディレクトリエンジンがドキュメントを使用して識別ボールトに対して適切な変更を開始するか(発行者チャンネル)、ドライバがドキュメントを使用して接続システムで適切な変更を開始します(購読者チャンネル)。

データ操作: XMLドキュメントがドライバチャンネルを通過するので、ドキュメントのデータはチャンネルに関連付けられているポリシーの影響を受けます。

ポリシーは、データ形式の変更、識別ボールトと接続システムとの間での属性マッピング、データフローの条件付きブロック、電子メール通知の生成、データの種類の変更など、多くの場合に使用します。

データフロー制御: フィルタ、すなわちフィルタポリシーはデータフローを制御します。フィルタは、識別ボールトと接続システムとの間で同期するデータ項目を指定します。たとえば、ユーザデータは一般的にシステム間で同期されます。したがって、ユーザデータは大部分の接続システムのフィルタにリストされています。ただし、プリンタは通常、大部分のアプリケーションにとって興味の対象ではないので、プリンタデータは大部分の接続システムのフィルタには表示されません。

識別ボールトと接続システムの間にはすべて2つのフィルタがあります。識別ボールトから接続システムへのデータフローを制御する購読者チャンネルのフィルタと、接続システムから識別ボールトへのデータフローを制御する発行者チャンネルのフィルタです。

信頼されたソース: 識別に関連付けられている大部分のデータ項目には、概念上の所有者がいます。データ項目の所有者はその項目の信頼されたソースとみなされます。通常、データ項目の信頼されたソースのみが、データ項目を変更することができます。

たとえば、会社の電子メールシステムは通常、従業員の電子メールアドレスの信頼されたソースとみなされます。会社のホワイトページディレクトリの管理者がそのシステムで従業員の電子メールアドレスを変更する場合、電子メールシステムに対する変更を有効にする必要があるので、その変更は、従業員が実際に電子メールを受信するかどうかには影響を与えません。

Identity Managerでは、項目の信頼されたソースを指定するフィルタを使用します。たとえば、PBXシステムと識別ボールトの間のフィルタが従業員の電話番号をPBXシステムから識別ボールトに転送するだけでなく、識別ボールトからPBXシステムにも転送する場合、PBXシステムは電話番号の信頼されたソースです。他のすべての接続システムの関係により、識別ボールトからPBXシステムだけでなく、PBXシステムから識別ボールトに電話番号を転送できる場合、最終的な効果は、PBXシステムが企業内の従業員の電話番号の信頼されたソースのみであることです。

自動プロビジョニング: 自動プロビジョニングはIdentity Managerの機能を参照し、単純なデータ項目の同期ではなく、ユーザのプロビジョニングアクションを生成します。

たとえば、人材データベースが大部分の従業員データの信頼されたソースである通常のIdentity Managerシステムでは、HRデータベースに従業員を追加すると、識別ボールト内の対応するアカウントの自動作成がトリガされます。識別ボールトアカウントが自動作成されると、その次に、電子メールシステムで従業員の電子メールアカウントの自動作成がトリガされます。電子メールシステムのアカウントのプロビジョニングに使用するデータは、識別ボールトから取得されます。このデータには、従業員名、場所、電話番号などが含まれている場合があります。

アカウント、アクセス、およびデータの自動プロビジョニングは、次のさまざまな方法で制御することができます。

  • データ項目値: たとえば、さまざまな構成要素のためのアクセスデータベース内のアカウントの自動作成は、従業者の場所の属性における値によって制御できます。

  • 承認ワークフロー: たとえば、財務部門の従業員を作成すると、財務システムでの新しい従業員のアカウントの承認を要求する財務部長に対する自動電子メールをトリガすることができます。財務部長は、部長が要求を承認または拒否するWebページに対する電子メールの指示を受けます。次に、承認によって、財務システムの従業員に対してアカウントの自動作成がトリガされます。

  • 役割の割り当て: 従業員にはアカウンタントの役割が与えられます。Identity Managerでは、システムワークフロー(人が介入しない)、人による承認フロー、またはその両方を組み合わせることによって、すべてのアカウント、アクセス、およびアカウンタントの役割に割り当てられるデータを持つ従業員をプロビジョニングします。

エンタイトルメント: エンタイトルメントには、アカウントやグループメンバーシップなどの、接続システムのリソースが表示されます。接続システム内のエンタイトルメント用に確立された基準にユーザが適合する場合、Identity Managerは、リソースへのアクセス権が付与されているユーザになるユーザのイベントを処理します。もちろん、リソースに対するアクセスを有効にするため、すべてのポリシーが所定の位置にある必要があります。たとえば、ユーザがActive DirectoryのExchangeアカウント用の基準に適合する場合、メタディレクトリエンジンは、Exchangeアカウントを提供するActive Directoryドライバポリシーのセットを介してユーザを処理します。

エンタイトルメントの主な利点は、複数のドラバポリシーではなく、1つのエンタイトルメントでリソースへのアクセスに対してビジネスロジックを定義できることです。たとえば、4つの接続システムでユーザにアカウントを付与するアカウントエンタイトルメントを定義できます。ユーザにアカウントを付与するかどうかは、エンタイトルメントによって決定されます。これは、4つのドライバのそれぞれのポリシーにビジネスロジックを含める必要がないことを意味しています。代わりに、ポリシーがアカウントを付与するためのメカニズムを提供する必要があります。ビジネスロジックを変更する必要がある場合、各ドライバではなく、エンタイトルメントで変更します。

ジョブ: ほとんどの場合、Identity Managerはデータ変更またはユーザ要求に応じて動作します。たとえば、1つのシステムで一部のデータが変更されると、Identity Managerは別のシステム内の対応するデータを変更します。または、ユーザがシステムへのアクセスを要求すると、Identity Managerは適切なプロセス(ワークフロー、リソースプロビジョニングなど)を開始し、アクセスを提供します。

ジョブを使用すると、データ変更またはユーザ要求では開始されないアクションをIdentity Managerが実行できるようになります。ジョブは、識別ボールトおよび対応する一部の実装コードに格納されている設定データで構成されています。Identity Managerには、ドライバの開始または停止、期限切れが近づいているパスワードに関する電子メール通知の送信、およびドライバのヘルスステータスの確認などのアクションを実行する事前定義されたジョブが含まれています。また、カスタムジョブを実装して、目的のアクションの実行に必要なコードを作成することを要求するカスタムジョブなど、他のアクションを実行することもできます。

ワークオーダー: 通常、識別ボールトまたは接続アプリケーション内のデータ変更は、瞬時に処理されます。ワークオーダーを使用すると、特定の日時で実行するタスクをスケジュールすることができます。たとえば、新しい従業員を雇いましたが、ある月で開始するようにスケジュールされていないとします。その従業員をHRデータベースに追加する必要がありますが、開始日までは会社のリソース(電子メール、サーバなど)に対するアクセス権を付与してはいけません。ワークオーダーを使用しない場合、ユーザにはすぐにアクセス権が付与されます。ワークオーダーが実装されていると、開始日のみにアカウントのプロビジョニングが開始されるワークオーダーが作成されます。