ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Directory Integration Platform管理者ガイド
11g リリース1(11.1.1)
B65032-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

13 プロビジョニング統合アプリケーションのデプロイ

この章では、Oracleプロビジョニング・サービスを使用してプロビジョニング統合アプリケーションをデプロイする方法について説明します。内容は次のとおりです。

13.1プロビジョニング統合アプリケーションのデプロイの概要

Oracleプロビジョニング・サービスでプロビジョニング統合アプリケーションをデプロイするには、一般的に次の手順を実行します。

  1. Oracle Internet DirectoryとOracle Directory Integration Platformをインストールします。

  2. ユーザー情報をOracle Internet Directoryにロードします。


    関連項目:

    『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』


  3. Oracle Directory Integration Platformを起動します。

  4. アプリケーションをインストールし、oidprovtoolを使用して各アプリケーションのプロビジョニング・プロファイルを作成します。詳細は、「oidprovtoolを使用したプロビジョニング・プロファイルの管理」を参照してください。

  5. 「プロビジョニング用のアプリケーションの登録」で説明されている手順に従い、アプリケーション登録を構成します。

  6. 「アプリケーションのプロビジョニング・プロパティの構成」で説明されている手順に従い、アプリケーション・プロビジョニングを構成します。

  7. 各アプリケーションについて、プロビジョニング・イベント伝播のステータスを定期的に監視します。これは、Oracle Enterprise Manager Fusion Middleware Controlを使用して実行できます。


    関連項目:

    『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のディレクトリの記録、監査および監視に関する章


13.2 oidprovtoolを使用したプロビジョニング・プロファイルの管理

プロビジョニングによって、たとえば、ユーザーまたはグループに関する情報の変更など、ディレクトリの変更をアプリケーションに確実に通知できます。このような変更は、アプリケーションでプロセスやリソースに対するユーザー・アクセスを許可するかどうかに影響を及ぼすことがあります。

プロビジョニング対象のアプリケーションをインストールする場合、ORACLE_HOME/binディレクトリにあるoidprovtoolコマンドを使用して、プロビジョニング統合プロファイルを作成する必要があります。

oidprovtoolを使用して、次の作業を行えます。

oidprovtoolユーティリティは、ツールのコール元から、プロビジョニング・プロファイル・エントリの場所とスキーマ詳細を保護します。コール元から見ると、アプリケーションとレルムの組合せにより、プロビジョニング・プロファイルが一意に特定されます。システムには、各アプリケーションのレルムごとに存在できるプロビジョニング・プロファイルは1つのみであるという制約があります。

プロファイルが作成されると、modify操作を使用してモード(INBOUND、OUTBOUNDまたはBOTH)を変更することはできません。モードを変更するには、プロファイルを削除してから作成しなおす必要があります。

Oracle Directory Integration Platformサーバーは、Oracle Internet Directoryにおけるプロビジョニング・プロファイルの構成変更(プロビジョニング・プロファイルの作成、変更および削除を含む)を自動的に監視します。このため、プロビジョニング・プロファイルを手動で有効または無効にする必要はありません。


注意:

セキュリティを向上させるため、要求されないかぎり、oidprovtoolコマンドでパスワードを入力しないでください。


13.2.1 oidprovtoolの構文

oidprovtool

oidprovtool operation=[create|modify] ldap_host=oid_hostname ldap_port=port 
ldap_user_dn="bindDN"
[profile_mode=INBOUND|OUTBOUND|BOTH]
application_dn="DN" application_type=type [application_name=name] 
[application_display_name=display name] organization_dn=DN 
[application_isdasvisible=TRUE|FALSE] [manage_application_defaults=TRUE|FALSE] 
[enable_bootstrap=TRUE|FALSE]  [user_data_location=DN] 
[default_provisioning_policy=PROVISIONING_REQUIRED|PROVISIONING_NOT_REQUIRED] 
interface_name=SCHEMA.PACKAGE [interface_type=PLSQL|JAVA] 
interface_version=1.1|2.0|3.0] 
schedule=number_seconds lastchangenumber=number 
max_prov_failure_limit=number  
max_events_per_schedule=number max_events_per_invocation=number 
event_mapping_rules="OBJECT_TYPE:FILTER:DOMAIN" 
event_permitted_operations="OBJECT:DOMAIN:OPERATION(attributes,...)" 
event_subscription="USER|GROUP:DOMAIN:OPERATION(attributes,...)" 
max_events_per_schedule=number max_retries=number profile_group=number
profile_status=ENABLED | DISABLED profile_debug=debug_level 

oidprovtool {operation=enable|disable|delete|status|reset} 
application_dn=DN [organization_dn=DN] [ldap_host=oid_hostname] [ldap_port=port]
[ldap_user_dn=bindDN] [profile_debug=debug_level]

13.2.2 oidprovtoolの引数

operation=create | modify | enable | disable | delete | status | reset

必須。oidprovtoolを使用して実行する操作。一度に1つの操作のみ実行できます。操作は次のとおりです。

  • create: 新しいプロビジョニング・プロファイルを作成します。

  • modify: 既存のプロビジョニング・プロファイルの指定されたプロパティを変更します。

  • enable: プロビジョニング・プロファイルを有効化します。

  • disable: プロビジョニング・プロファイルを無効化します。

  • delete: プロビジョニング・プロファイルを削除します。

  • status: 指定されたプロビジョニング・プロファイルの現行のステータスを表示します。

  • reset: プロビジョニング・プロファイルのすべてのエラーを消去します。

ldap_host=oid_hostname

オプション。Oracle Internet Directoryサーバーのホスト名。指定しない場合、ローカル・ホストの名前が使用されます。

ldap_port=port

オプション。Oracle Internet DirectoryのLDAPリスニング・ポート。デフォルトは389です。

ldap_user_dn=bindDN

必須。スーパーユーザーまたはプロビジョニング・サブスクリプション操作の実行に十分な権限を持つユーザーのDN。デフォルトは、cn=orcladminです。

profile_mode=OUTBOUND | INBOUND | BOTH

create操作専用のオプション。プロビジョニング・イベントの方向。デフォルトはOUTBOUND(Oracle Internet Directoryからアプリケーションへデータがプロビジョニングされる)です。

application_dn=DN

必須。プロビジョニング・サブスクリプションが属するアプリケーションの識別名。アプリケーションDNと組織DNの組合せにより、プロビジョニング・プロファイルが一意に識別されます。たとえば、ポータルのアプリケーションDNは次のように指定します。

"orclApplicationCommonName=PORTAL,cn=Portal,cn=Products,cn=OracleContext"

application_type=type

必須。プロビジョニングするアプリケーションのタイプ。

application_name=name

オプション。プロビジョニングするアプリケーションの名前。指定しない場合、application_dnに割り当てた識別名がデフォルトになります。

application_display_name=name

オプション。プロビジョニングするアプリケーションの表示名。指定しない場合、application_nameに割り当てた値がデフォルトになります。

organization_dn=DN

オプション。指定しない場合、デフォルト・アイデンティティ管理レルムがデフォルトになります。プロビジョニング・サブスクリプションが属する組織の識別名です(dc=company,dc=comなど)。アプリケーションDNと組織DNの組合せにより、プロビジョニング・プロファイルが一意に識別されます。

application_isdasvisible=TRUE | FALSE

オプション。アプリケーションをOracle Internet Directoryプロビジョニング・コンソールにプロビジョニング統合アプリケーションとして表示するかどうかを決定します。デフォルト値はTRUE。

manage_application_default=TRUE | FALSE

オプション。Oracle Internet Directoryプロビジョニング・コンソールでアプリケーションのデフォルト値を管理するかどうかを決定します。デフォルト値はTRUE。

enable_bootstrap=TRUE | FALSE

オプション。アプリケーションのプロビジョニング統合プロファイルを作成する前に Oracle Internet Directory に存在していたユーザーのプロビジョニング・イベントをアプリケーションが受信すべきかどうかを示します。デフォルト値は、FALSEです。

user_data_location=DN

オプション。アプリケーション固有のユーザー情報を格納するコンテナのDNを指定します。

default_provisioning_policy=PROVISIONING_REQUIRED | PROVISIONING_NOT_REQUIRED

オプション。アプリケーションのデフォルト・プロビジョニング・ポリシーを指定します。デフォルト値はPROVISIONING_REQUIREDです。

interface_name=SCHEMA.PACKAGE

create操作またはmodify操作で必須。PLSQLパッケージのデータベース・スキーマ名。値の書式は(schema.package_name)で、たとえば、ポータルのスキーマおよびPLSQLパッケージの情報は次のように指定します。

interface_name=PORTAL.WWSEC_OID_SYNC

interface_version=1.1 | 2.0 | 3.0

インタフェース・プロトコルのバージョン。許可されている値は1.1、2.0または3.0です。デフォルト値は2.0です。

interface_type=PLSQL | JAVA

オプション。イベントの伝播先となるインタフェースのタイプ。デフォルトはPLSQLです。

schedule=number_seconds

create操作およびmodify操作専用のオプション。このプロファイルの実行と実行の間の秒数。デフォルトは3600で、プロファイルが1時間ごとに実行されるようにスケジュールされます。

lastchangenumber=number

OUTBOUNDイベントのcreateおよびmodify操作でのみオプション。Oracle Internet Directoryの最終変更番号であり、この番号より後の適切なすべてのイベントがアプリケーションにプロビジョニングされます。デフォルトは、最新の現行変更番号です。

max_prov_failure_limit=number

オプション。Oracleプロビジョニング・システムがユーザーのプロビジョニングを試行する回数を決定します。デフォルトは1です。

max_events_per_schedule=number

create操作およびmodify操作専用のオプション。プロビジョニング・プロファイルの1回の実行の間に、Oracle Directory Integration Platformサーバーがアプリケーションに送信するイベントの最大数。デフォルトは100です。

max_events_per_invocation=number

create操作およびmodify操作専用のオプション。インタフェースの起動1回当たり、パッケージ化してターゲットに送信できるイベントの最大数。

event_mapping_rules="OBJECT_TYPE:FILTER:DOMAIN"

INBOUNDイベントのcreateおよびmodify操作でのみ必須。このルールは、アプリケーションから(オプションのフィルタ条件を使用して)受け取ったオブジェクト・タイプをOracle Internet Directoryのドメインにマップします。プロビジョニング・プロファイルには、複数のマッピング・ルールを定義できます。

次の例は、2つのマッピング・ルールを示しています。1番目のルールでは、地域属性がアメリカに等しい(l=AMERICA)従業員オブジェクト(EMP)が、ドメインl=AMER,cn=users,dc=company,dc=comにマップされます。2番目のルールでは、フィルタ条件なしで、従業員オブジェクト(EMP)がドメインcn=users,dc=company,dc=comにマップされます。

event_mapping_rules="EMP:l=AMERICA:l=AMER,cn=users,dc=company,dc=com"
event_mapping_rules="EMP::cn=users,dc=company,dc=com"

event_permitted_operations="OBJECT:DOMAIN:OPERATION(attributes,...)

INBOUNDイベントのcreateおよびmodify操作でのみ必須。このプロパティを使用して、Oracle Directory Integration Platformサービスへの送信をアプリケーションに許可するイベントのタイプを定義します。1つのプロビジョニング・プロファイルに複数の許可操作を定義できます。

たとえば、ユーザー・オブジェクトが追加または削除されたときや特定の属性が変更されたときに、アプリケーションがイベントを送信するのを許可する場合、次の3つの操作が許可されていることになります。

event_permitted_operations="USER:dc=mycompany,dc=com:ADD(*)"
event_permitted_operations="USER:dc=mycompany,dc=com:MODIFY(cn,sn,mail,password)"
event_permitted_operations="USER:dc=mycompany,dc=com:DELETE(*)"

event_subscription="USER | GROUP:DOMAIN:OPERATION(attributes,...)"

OUTBOUNDイベントのcreateおよびmodify操作でのみ必須。このプロパティを使用して、Oracle Directory Integration Platformサービスからアプリケーションに送信するイベントのタイプを定義します。1つのプロビジョニング・プロファイルに複数のイベント・サブスクリプションを定義できます。

たとえば、ユーザーまたはグループ・オブジェクトが追加または削除されたときに、常にディレクトリ統合サーバーからアプリケーションにイベントを送信する場合、次の4つのイベント・サブスクリプションがあることになります。

event_subscription="GROUP:dc=mycompany,dc=com:ADD(*)"
event_subscription="GROUP:dc=mycompany,dc=com:DELETE(*)"
event_subscription="USER:dc=mycompany,dc=com:ADD(*)"
event_subscription="USER:dc=mycompany,dc=com:DELETE(*)" 

max_events_per_schedule=number

create操作およびmodify操作専用のオプション。1回のスケジュールでプロビジョニングするイベントの最大数。デフォルトは100です。

max_retries=number

create操作およびmodify操作専用のオプション。失敗したイベントを再試行する回数。デフォルトは5です。

profile_group=number

createおよびmodify操作でのみ必須。プロファイルのグループ番号。デフォルトはDEFAULTです。この引数は、異なるOracle Directory Integration Platform Serverインスタンスを使用して様々な選択グループを実行する場合に発生するスケーラビリティの問題に対処するために必要です。

profile_status=ENABLED | DISABLED

create操作でのみ必須。プロファイルの有効化または無効化を指定します。デフォルトはENABLEDです。

profile_debug=debug_level

必須。プロファイルのデバッグ・レベル。


注意:

セキュリティ上の理由により、ldap_user_password引数とinterface_connect_info引数は、コマンドラインでは受け入れられなくなりました。


13.2.3 oidprovtoolのタスクと使用例

oidprovtoolを使用して、次のタスクを実行できます。

13.2.3.1 プロビジョニング・プロファイルの作成

次の例は、Oracle Internet Directoryで維持されているユーザー情報とグループ情報に対する更新をポータルに認識させる、新しいプロビジョニング・プロファイルを作成します。

例:

oidprovtool operation=create ldap_host=myhost.mycompany.com ldap_port=389 \
ldap_user_dn="cn=orcladmin" application_dn="orclApplicationCommonName=PORTAL,cn=Portal,cn=Products,cn=OracleContext" \
organization_dn="dc=us,dc=mycompany,dc=com" interface_name=PORTAL.WWSEC_OID_SYNC \
interface_type=PLSQL \
schedule=360 event_subscription="USER:dc=us,dc=mycompany,dc=com:DELETE" \
event_subscription="GROUP:dc=us,dc=mycompany,dc=com:DELETE" \
event_subscription="USER:dc=us,dc=mycompany,dc=com:MODIFY(orclDefaultProfileGroup,userpassword)" \
event_subscription="GROUP:dc=us,dc=mycompany,dc=com:MODIFY(uniqueMember)" \
profile_mode=OUTBOUND 

13.2.3.2 プロビジョニング・プロファイルの変更

次の例では、Portalアプリケーションの既存のプロビジョニング・プロファイルを変更します。ユーザー・エントリの変更時にプロビジョニングされる属性のイベント・サブスクリプションを変更します。

例:

oidprovtool operation=modify ldap_host=myhost.mycompany.com ldap_port=389 \
ldap_user_dn="cn=orcladmin" application_dn="orclApplicationCommonName=PORTAL,cn=Portal,cn=Products,cn=OracleContext" \
organization_dn="dc=us,dc=mycompany,dc=com" \
subscription="USER:dc=us,dc=mycompany,dc=com:MODIFY(orclDefaultProfileGroup,userpassword,mail,cn,sn)"

13.2.3.3 プロビジョニング・プロファイルの削除

次の例は、ポータル・アプリケーションのプロビジョニング・プロファイルを無効化します。

例:

oidprovtool operation=delete ldap_host=myhost.mycompany.com ldap_port=389 \
ldap_user_dn="cn=orcladmin" application_dn="orclApplicationCommonName=PORTAL,cn=Portal,cn=Products,cn=OracleContext" \
organization_dn="dc=us,dc=mycompany,dc=com"

13.2.3.4 プロビジョニング・プロファイルの無効化

次の例は、ポータル・アプリケーションのプロビジョニング・プロファイルを無効化します。

例:

oidprovtool operation=disable ldap_host=myhost.mycompany.com ldap_port=389 \
ldap_user_dn="cn=orcladmin" application_dn="orclApplicationCommonName=PORTAL,cn=Portal,cn=Products,cn=OracleContext" \
organization_dn="dc=us,dc=mycompany,dc=com"

13.3 プロビジョニング用のアプリケーションの登録

アプリケーションをインストールし、oidprovtoolを使用してそのプロビジョニング・プロファイルを作成したら、次の手順を実行してプロビジョニングのためにアプリケーションを登録する必要があります。

  1. 初回のプロビジョニング登録を実行してプロビジョニング統合プロファイルを作成します。Oracle Directory Integration Platform Serviceはプロビジョニング統合プロファイルを使用してプロビジョニング統合アプリケーションを識別します。

  2. Oracle Directory Integration Platform Serviceに対して、アプリケーション固有属性とデフォルト値を設定し、アプリケーションにユーザーをプロビジョニングする際に属性が必須であるかどうかを指定します。

  3. プロビジョニング統合アプリケーションで必要なプラグインを登録します。ビジネス・ポリシーを施行するためにアプリケーションが使用する、アプリケーション固有のプラグインを含めることができます。


注意:

Oracle Directory Integration Platform Service では、複数インスタンス・アーキテクチャをサポートするアプリケーションのインスタンス・レベルでのプロビジョニングをサポートしていません。同一アプリケションのインスタンスを複数インストールした場合、Oracle Directory Integration Platform Service は各インスタンスを個別のプロビジョニング統合アプリケーションとして処理します。


ユーザー作成時、管理者はユーザー属性を特定のプロビジョニング統合アプリケーションに割り当てることができます。アプリケーションにプロビジョニングされるユーザーごとに、アプリケーション固有の属性がOracle Internet Directoryに格納されます。パフォーマンスを向上させるために、プロビジョニング統合アプリケーションは通常、Oracle Internet Directoryからユーザー属性を取得するのではなく、ユーザー属性のローカル・コピーをキャッシュしています。データ・アクセスJavaプラグインを使用する同期的な方法、またはPL/SQLプラグインを使用する非同期的な方法のいずれかで、ユーザー作成、ユーザー削除および属性変更がアプリケーションに通知されます。

登録により、アプリケーションの一意のアイデンティティがOracle Internet Directoryに作成されます。Oracleアプリケーションは通常、repository.jarファイル(Oracleアプリケーション・サーバーによってデフォルトで$ORACLE_HOME/jlibディレクトリにインストールされる)にあるリポジトリAPIを使用して、プロビジョニングのために自身を登録します。リポジトリAPIは、Oracle Internet Directoryにアプリケーション・エントリを作成する場合だけでなく、アプリケーションを権限グループに追加する場合にも使用できます。

登録APIを使用できないOracle以外のアプリケーション用に、LDAPコマンドおよびLDIFテンプレートを使用してOracle Internet Directoryにアプリケーションのアイデンティティを作成できます。cn=Products,cn=OracleContextまたはcn=Products, cn=OracleContext, Realm DNにアプリケーションのコンテナを作成します。アプリケーション・アイデンティティの作成先コンテナは、そのアプリケーションが単一のレルムまたは複数のレルムのどちらでユーザーに使用可能であるかによって異なります。ほとんどの場合、アプリケーションが特定のOracle Internet Directoryアイデンティティ管理レルムのアイデンティティ管理ポリシーによってバインドされないように、cn=Products, cn=OracleContextコンテナにアプリケーション・アイデンティティを作成する必要があります。

同じアプリケーションの複数のインスタンスをインストールできます。プロビジョニング統合アプリケーションの新しいインスタンスをインストールすると、アプリケーション・アイデンティティ・コンテナに新しいインスタンス用の個別のエントリが作成されます。一部の構成設定はインスタンス固有ですが、それ以外の設定は同じアプリケーションの複数のインスタンス全体で共有されます。たとえば、Oracleファイルと類似しているアプリケーションを考えてみます。各インスタンスが他のインスタンスから独立している環境で、Oracleファイルの複数のインスタンスをデプロイできます。各インスタンスを個別のプロビジョニング統合アプリケーションとして定義します。アプリケーションの複数のインスタンスで、ユーザーをプロビジョニングすることもできます。

アプリケーションの最初のインスタンスをインストールするときに、次の例に示すエントリをOracle Internet Directoryに作成する必要があります。この例では、cn=Products, cn=OracleContextコンテナにアプリケーション・アイデンティティを作成し、アプリケーション名およびタイプはそれぞれFiles-App1およびFILESとしています。

dn: cn=FILES,cn=Products,cn=OracleContext
changetype: add
objectclass: orclContainer
dn: orclApplicationCommonName=Files-App1,cn=FILES,cn=Products,cn=OracleContext
changetype: add
objectclass: orclApplicationEntityorclappfullname: Files Application Instance 1
userpassword: password
description: This is a test application instance.
protocolInformation: protocol information
orclVersion: 1.0
orclaci: access to entry by group="cn=odisgroup,cn=DIPAdmins,cn=Directory
Integration Platform,cn=Products,cn=OracleContext" (browse,proxy) by
group="cn=User Provisioning Admins,cn=Groups,cn=OracleContext" (browse,proxy)
orclaci: access to attr=(*) by group="cn=odisgroup,cn=DIPAdmins,cn=Directory
Integration Platform,cn=Products,cn=OracleContext" (search,read,write,compare) by
group="cn=User Provisioning Admins,cn=Groups,cn=OracleContext"
(search,read,write,compare)

アプリケーションの2番目のインスタンスをインストールするときに、次の例に示すエントリをOracle Internet Directoryに作成する必要があります。この例でも、cn=Products, cn=OracleContextコンテナにアプリケーション・アイデンティティを作成し、アプリケーション名はFiles-App2としています。

dn: orclApplicationCommonName=Files-App2,cn=FILES,cn=Products,cn=OracleContext
changetype: add
objectclass: orclApplicationEntityorclappfullname: Files Application Instance 2
userpassword: password
description: This is a test Appliction instance.
protocolInformation: protocol information
orclVersion: 1.0
orclaci: access to entry by group="cn=odisgroup,cn=DIPAdmins,cn=Directory
Integration Platform,cn=Products,cn=OracleContext" (browse,proxy) by
group="cn=User Provisioning Admins,cn=Groups,cn=OracleContext" (browse,proxy)
orclaci: access to attr=(*) by group="cn=odisgroup,cn=DIPAdmins,cn=Directory
Integration Platform,cn=Products,cn=OracleContext" (search,read,write,compare) by
group="cn=User Provisioning Admins,cn=Groups,cn=OracleContext"
(search,read,write,compare)

プロビジョニング統合アプリケーションをOracle Internet Directoryに正常に登録した後、そのアプリケーションを様々な権限グループに追加することが必要な場合があります。表13-1には、Oracle Internet Directoryの共通権限グループが記載されています。

表13-1 Oracle Internet Directoryの共通権限グループ

グループ 説明

OracleDASCreateUser

ユーザー作成

OracleDASEditUser

ユーザー編集

OracleDASDeleteUser

ユーザー削除

OracleDASCreateGroup

グループ作成

OracleDASEditGroup

グループ編集

OracleDASDeleteGroup

グループ削除


次のLDIFファイルでは、すべてのレルムにおけるユーザー作成権限をFiles-App1アプリケーションに付与しています。

dn:cn=OracleCreateUser,cn=Groups,cn=OracleContext 
changetype: modify
add: uniquemember
uniquemember: orclApplicationCommonName=Files-App1,cn=FILES,cn=Products,cn=OracleContext

13.4 アプリケーションのプロビジョニング・プロパティの構成

プロビジョニング統合アプリケーションを登録した後、そのプロパティを構成する必要があります。各アプリケーションのプロビジョニング・プロファイルは、自身のプロビジョニング構成プロパティを保持しています。プロビジョニング統合アプリケーションは、プロパティを使用して次のタイプのメタデータを格納します。

Oracle Directory Integration Platformプロビジョニングでは、1.1、2.0および3.0の3つのバージョンのプロビジョニング・プロファイルをサポートしています。バージョン3.0のプロビジョニング・プロファイルは、Oracle Identity Management 11gリリース1(11.1.1)でのみ使用できます。別のアプリケーションでは、別のバージョンのプロビジョニング・プロファイルをサポートします。たとえば、多くのOracleアプリケーションでは、バージョン2.0のみサポートしています。一方、Oracle Collaboration Suiteではバージョン3.0のプロビジョニング・プロファイルをサポートしています。プロビジョニング・プロファイルのバージョン間の主な違いは、次のとおりです。