17 Oracleプロビジョニング・イベント・エンジンの理解
Oracleプロビジョニング・イベント・エンジンは、バックエンド・ディレクトリのユーザー・エントリを対象に実行された操作に応じてイベントを送信します。
トピック:
17.1 Oracleプロビジョニング・イベントとは
Oracleプロビジョニング・イベント・エンジンは、バックエンド・ディレクトリのユーザー・エントリを対象に実行された操作に応じて、USER_ADD、USER_MODIFYおよびUSER_DELETEイベントを送信します。ユーザーは、ベース・ユーザーおよびアプリケーション固有ユーザーの情報を含む複数のエントリで示されるため、アプリケーションでは、イベントにおいてすべての属性にサブスクライブできます。
ベース・エントリまたはアプリケーション・エントリが更新されると、ユーザー・イベントも送信されます。ただし、管理者がアプリケーションからユーザーをプロビジョニング解除するようにリクエストすると、USER_MODIFYイベントがDEPROVISIONING_REQUIREDというプロビジョニング・ステータスとともにアプリケーションに送信されるため、アプリケーション・エントリが削除された場合はイベントが送信されません。アプリケーションがSUCCESSという値を返すことによってイベントを確認すると、アプリケーション・エントリはOracle Directory Integration Platformによって削除されます。
プロビジョニング・ステータスの変更通知を受信するには、アプリケーションでorclUserApplnProvStatus;Application_Name属性にサブスクライブする必要があります。たとえば、CORP_EMAILというアプリケーションのプロビジョニング・ステータスの変更にサブスクライブするには、アプリケーションでorclUserApplnProvStatus;CORP-EMAIL属性にサブスクライブする必要があります。
17.2 Oracleプロビジョニング・イベント・エンジンの操作
Oracleプロビジョニング・イベント・エンジンは、バックエンド・ディレクトリで有効に定義されたオブジェクトに対する追加、変更および削除操作からイベントを生成します。Oracleプロビジョニング・イベント・エンジンでは、イベントを生成するために、オブジェクト定義とイベント生成ルールが使用されます。このイベント生成モデルは、カスタム・オブジェクトとカスタム・イベント生成ルールを定義できるため、拡張性を備えています。
Oracleプロビジョニング・イベント・エンジン、オブジェクト定義およびイベント生成ルールについては、次の項目で説明します。
17.2.1 カスタム・イベント・オブジェクト定義の作成
Oracleプロビジョニング・イベント・エンジンは、イベントの生成対象となるオブジェクトの識別に使用できるプロパティを提供します。
表17-1に、イベントの生成が可能なオブジェクトを識別するために使用できるプロパティを示します。
表17-1 イベント・オブジェクトのプロパティ
| プロパティ | 説明 |
|---|---|
|
|
オブジェクトを識別する一意の名前を割り当てます。 |
|
|
オブジェクトを識別するためのLDAPオブジェクト・クラスを指定します。 |
|
|
オブジェクトの識別に必要な追加の属性を指定します。 |
|
|
オブジェクトの識別に必要となる可能性のあるオプションの属性を指定します。 |
|
|
イベントの伝播時に送信しない属性をリストします。 |
表17-2に、Oracleプロビジョニング・イベント・エンジンでイベントを生成できる定義済オブジェクトを示します。
表17-2 事前定義されたイベント・オブジェクト
| オブジェクト名 | 有効なオブジェクト・クラス値 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ノート:
イベント・オブジェクトのメタデータは、cn=Object Definitions,cn=Directory Integration Platform,cn=Products,cn=OracleContextコンテナに格納されます。
17.2.2 カスタム・イベント生成ルールの定義
イベント生成ルールは、XML形式で指定します。
イベント生成ルールのDTDは、次のとおりです。
<?xml version='1.0' ?>
<!DOCTYPE EventRuleSet [
<!ELEMENT ChangeType (#PCDATA)>
<!ELEMENT Rule (#PCDATA)>
<!ELEMENT EventName (#PCDATA)>
<!ELEMENT ResEvent (Rule*, EventName)>
<!ELEMENT EventRule (ChangeType, ResEvent*)>
<!ELEMENT EventRuleSet (EventRule*) >
]>
このDTDの要素定義は、次のとおりです。
-
EventRuleSetルート要素は、個々のイベント・オブジェクトのイベント・ルールのセットを識別します。 -
EventRuleSetルート要素には、EventRule要素のリストが含まれます。 -
各
EventRule要素は、ChangeType要素に割り当てられた値に応じて変化します。 -
ChangeTypeおよびRule要素は、アプリケーションに伝播されるイベント名を決定します。
表17-3に、Oracleプロビジョニング・イベント・エンジンでサポートされるイベント定義を示します。
表17-3 サポートされるイベント定義
| オブジェクト名 | 変更タイプ | ルール | イベント名 |
|---|---|---|---|
|
|
追加 |
|
|
|
|
追加 |
|
|
|
|
変更 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
削除 |
|
|
|
|
|
|
|
|
|
|
||
|
|
追加 |
|
|
|
|
変更 |
|
|
|
|
削除 |
|
|
|
|
追加 |
|
|
|
|
変更 |
|
|
|
|
削除 |
|
|
|
|
追加 |
|
|
|
|
変更 |
|
|
|
|
削除 |
|
|
|
|
追加 |
|
|
|
|
変更 |
|
|
|
|
削除 |
|
|
|
|
追加 |
|
|
|
|
変更 |
|
|
|
|
削除 |
|
ノート:
サポートされるイベント・オブジェクトのメタデータは、cn=Event Definitions,cn=Directory Integration Platform,cn=Products,cn=OracleContextコンテナに格納されます。