17 Oracleプロビジョニング・イベント・エンジンの理解

Oracleプロビジョニング・イベント・エンジンは、バックエンド・ディレクトリのユーザー・エントリを対象に実行された操作に応じてイベントを送信します。

トピック:

17.1 Oracleプロビジョニング・イベントとは

Oracleプロビジョニング・イベント・エンジンは、バックエンド・ディレクトリのユーザー・エントリを対象に実行された操作に応じて、USER_ADDUSER_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 イベント・オブジェクトのプロパティ

プロパティ 説明

ObjectName

オブジェクトを識別する一意の名前を割り当てます。

ObjectCriteria

オブジェクトを識別するためのLDAPオブジェクト・クラスを指定します。

MustAttributeCriteria

オブジェクトの識別に必要な追加の属性を指定します。

OptionalAttributeCriteria

オブジェクトの識別に必要となる可能性のあるオプションの属性を指定します。

FilterAttributeCriteria

イベントの伝播時に送信しない属性をリストします。

表17-2に、Oracleプロビジョニング・イベント・エンジンでイベントを生成できる定義済オブジェクトを示します。

表17-2 事前定義されたイベント・オブジェクト

オブジェクト名 有効なオブジェクト・クラス値

Entry

*

User

orclUserV2, inetorgperson

Identity

orclUserV2, inetOrgPerson

Group

groupOfUniqueNames, orclGroup, orclPrivilegeGroup, groupOfNames

Subscription

orclServiceSubscriptionDetail

Subscriber

orclSubscriber

ノート:

イベント・オブジェクトのメタデータは、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 サポートされるイベント定義

オブジェクト名 変更タイプ ルール イベント名

USER

追加

OrclApplnUserProvStatus=PENDING_UPGRADE

USER_ADD

USER

追加

OrclApplnUserProvStatus=PROVISIONING_REQUIRED

USER_ADD

USER

変更

OrclApplnUserProvStatus= PENDING_UPGRADE

USER_ADD

USER

 

OrclApplnUserProvStatus=PROVISIONING_REQUIRED

USER_ADD

USER

 

OrclApplnUserProvStatus=PROVISIONING_FAILURE

USER_ADD

USER

 

OrclApplnUserProvStatus=DEPROVISIONING_REQUIRED

USER_MODIFY

USER

 

OrclApplnUserProvStatus=PROVISIONING_IN_PROGRESS

USER_MODIFY

USER

OrclApplnUserProvStatus=PROVISIONING_SUCCESSFUL

USER_MODIFY

USER

USER

削除

OrclApplnUserProvStatus=PROVISIONING_IN_PROGRESS

USER_DELETE

USER

OrclApplnUserProvStatus=PROVISIONING_SUCCESSFUL

USER_DELETE

USER

OrclApplnUserProvStatus=DEPROVISIONING_REQUIRED

GROUP

追加

GROUP_ADD

GROUP

変更

GROUP_MODIFY

GROUP

削除

GROUP_DELETE

IDENTITY

追加

IDENTITY_ADD

IDENTITY

変更

IDENTITY_MODIFY

IDENTITY

削除

IDENTITY_DELETE

ENTRY

追加

ENTRY_ADD

IDENTITY

変更

ENTRY_MODIFY

IDENTITY

削除

ENTRY_DELETE

SUBSCRIPTION

追加

SUBSCRIPTION_ADD

SUBSCRIPTION

変更

SUBSCRIPTION_MODIFY

SUBSCRIPTION

削除

SUBSCRIPTION_DELETE

SUBSCRIBER

追加

SUBSCRIBER_ADD

SUBSCRIBER

変更

SUBSCRIBER_MODIFY

SUBSCRIBER

削除

SUBSCRIBER_DELETE

ノート:

サポートされるイベント・オブジェクトのメタデータは、cn=Event Definitions,cn=Directory Integration Platform,cn=Products,cn=OracleContextコンテナに格納されます。