1.1 ポリシーおよびフィルタとは

ポリシーの主な機能は、Identity Managerで更新を送受信する方法をカスタマイズすることです。

ポリシーを理解するには、ドライバシムの記述内容をある程度詳しく理解することが有用です。

ドライバシムが記述されている場合は、ドライバを展開している企業が使用する可能性のあるすべての情報を同期するための機能を組み込もうとします。開発者は、ドライバシムを、接続システム内で関連する変更を検出し、それをアイデンティティボールトに送るように記述します。

この変更は、Identity Managerの仕様に応じた形式で、XMLドキュメントに保存されます。次に、このようなXMLドキュメントの抜粋を示します。

<nds dtdversion="2.0" ndsversion="8.7.3">
<source>
   <product version="2.0">DirXML</product>
   <contact>Novell, Inc.</contact>
</source>

<input>
   <add class-name="User" event-id="0" src-dn="\ACME\Sales\Smith"
   src-entry-id="33071">
      <add-attr attr-name="Surname">
         <value timestamp="1040071990#3" type="string">Smith</value>
      </add-attr>
      <add-attr attr-name="Telephone Number">
         <value timestamp="1040072034#1" type="teleNumber">111-1111</value>
      </add-attr>
   </add>
</input>
</nds>

ドライバは、関連する変更をすべてレポートするように設計されているので、ユーザが情報をフィルタできるようになっています。フィルタは情報をブロックするように設計されています。フィルタを変更して、必要な情報だけが自分の環境に送られるようにします。重要な変更の指定とそれらの処理方法のロジックは、ドライバシムではなくエンジンで扱います。

企業内でグループがあまり重要ではない場合は、アイデンティティボールトまたは接続システムで、グループに関するすべての操作をブロックするフィルタを実装できます。企業内でユーザおよびグループを考慮する場合は、両方のタイプのオブジェクトを、アイデンティティボールトおよび接続システム間で同期するフィルタを実装できます。

必要なオブジェクトだけを同期できるようにフィルタを定義するのは、ドライバのカスタマイズの第1歩です。

次の段階として、フィルタを通過したオブジェクトに対して、Identity Managerが何を行うかを定義します。例として、前に挙げたXMLドキュメントの追加操作を参照してください。接続システムに、名前が「Smith」、電話番号が「111-1111」のユーザが追加されています。この操作が許可されているとすると、Identity Managerでは、このユーザに対する処理内容を決定する必要があります。

この決定のために、Identity Managerは、一連のポリシーを特定の順序で適用します。

まず、一致ポリシーが、「このオブジェクトはすでにデータストア内にあるか?」という質問に答えます。このためには、オブジェクトに固有の特性を定義する必要があります。一般的にチェックされる属性は、電子メールアドレスです。これは通常、固有であるためです。「2つのオブジェクトの電子メールアドレスが同じ場合、それらは同じオブジェクトである」というポリシーを定義できます。

一致するものがあった場合、Identity Managerは、これを関連付けと呼ばれる属性に記録します。関連付けは、Identity Managerが接続システム内のオブジェクトを関連付けられるようにする一意の値です。

一致しているものがない場合は、作成ポリシーが呼び出されます。作成ポリシーは、オブジェクトの作成条件をIdentity Managerに通知します。作成ルールでは特定の属性の存在を必須にすることができます。これらの属性が存在しない場合、Identity Managerは必要な情報が提供されるまで、オブジェクトの作成をブロックします。

オブジェクトが作成されると、配置ポリシーによって、オブジェクトの配置場所がIdentity Managerに通知されます。オブジェクトを、それが元々あったシステムと同じ階層構造で作成するように指定できます。また、オブジェクトを属性値に基づいてまったく別の場所に配置することもできます。

オブジェクトの位置属性に従ってユーザを階層に配置し、フルネーム属性に従って名前を付ける場合は、作成ポリシーでこれらの属性を必須にすることができます。これによって、属性は確実に存在するようになり、配置の方針どおりに正しく機能します。

ポリシーの利用法は、他にも多数あります。ポリシービルダを使用すると、一意の値の生成、属性の追加および削除、イベントおよびコマンドの生成、電子メールの送信など、多くのことを簡単に実行できます。XSLTを使用してXMLドキュメントを直接変換することによって、より高度な変換も実行できます(変更はXMLドキュメントでアイデンティティボールトとやりとりできます)。

基本的には、ポリシーによってIdentity Managerによる更新の処理方法を制御できることを覚えておいてください。

さまざまなタイプのポリシーについては、セクション 1.2, ポリシーの概要を参照してください。次に、ポリシービルダの使用方法について、セクション 2.0, Designerでポリシービルダを使用したポリシーの定義、またはセクション 3.0, iManagerのポリシービルダを使用したポリシーの定義を参照してください。

1.1.1 以前のバージョンからの用語の変更

DirXML® 1.1aでは、「ルール」という用語は、文脈に応じて、一連のルール、そのセットに含まれる個々のルール、および個々のルールに含まれる条件やアクションを指すために使用されていました。しかし、このようにさまざまな状況で同じ用語が使われているために、文脈がわかりにくい場合に混乱を招いていました。

Identity Manager 2では、記述されている高レベルな変換を説明する場合、以前使用していた「ルール」という用語の代わりに「ポリシー」という用語を使用します。この変更に伴い、一連のポリシーを定義し、各ポリシーに1つ以上のルールが含まれるようになりました。「ルール」という用語は、複数の条件とアクションからなる個々のセットのみを指すようになりました。

次の表は、DirXML 1.1aからIdentity Manager 2.x.への用語の変更を示しています。

表 1-1 DirXML 1.1aからIdentity Manager 2.xへの用語の変更

概念

DirXML 1.1aの用語

Identity Manager 2.xの用語

変換セット

ルール

ポリシーセット

セットに含まれる個々の変換

ルール

ポリシー

個々の変換に含まれる条件とアクション

ルール

ルール

次の表は、Identity Manager 2.xからIdentity Manager 3.0への用語の変更を示しています。

表 1-2 Identity Manager 2.xからIdentity Manager 3.0への用語の変更

概念

Identity Manager 2.xの用語

Identity Manager 3の用語

製品

DirXML

Identity Manager

製品がインストールされているサーバ

DirXMLサーバ

メタディレクトリサーバ

データの同期先のアプリケーションまたはデータベースのサーバ

DirXML接続システムサーバ

接続システムサーバ

オブジェクトが保存される場所

eDirectory™

アイデンティティボールト

処理コンポーネント

DirXMLエンジン

メタディレクトリエンジン

1.1.2 DirXMLスクリプト

DirXMLスクリプトは、Identity Managerポリシーを実装する主要な方法です。このスクリプトでは、順序が指定された一連のルールによって実装されるポリシーを記述します。ルールにはテストする一連の条件と、その条件を満たしたときに順次実行される一連のアクションが含まれています。

DirXMLスクリプトの作成には、使いやすいGUIを備えたポリシービルダを使用します。