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

前
 
次
 

22 Novell eDirectoryまたはOpenLDAPとの統合

この章では、本番環境でOracle Identity ManagementとNovell eDirectoryまたはOpenLDAPを統合する手順について説明します。内容は次のとおりです。


注意:

この章に進む前に、前の章で説明している概念を理解している必要があります。次の章は特に重要です。

同期は、Oracle Fusion Middleware 11g リリース1(11.1.1)以上と、Novell eDirectory 8.6.2以上またはOpenLDAP 2.2との間でサポートされます。


22.1 Novell eDirectoryまたはOpenLDAPの同期要件の確認

Novell eDirectoryまたはOpenLDAPで基本同期または拡張同期を構成するには、「同期要件の確認」の指示に従い、使用する環境で必要な同期要件が満たされていることを確認してください。


注意:

調整が正しく行われるためには、追加と削除が、同期化ディレクトリの1つのみから実行される必要があります。つまり、Oracleバックエンド・ディレクトリから、またはeDirectory/OpenLDAPから追加と削除を実行できますが、その両方から行うことはできません。ただし、変更はどちらのディレクトリからも実行できます。

22.2 Novell eDirectoryまたはOpenLDAPとの基本同期の構成

expressSyncSetupコマンドを使用すると、Oracleバックエンド・ディレクトリとNovell eDirectoryまたはOpenLDAP間の同期を迅速に確立できます。expressSyncSetupコマンドでは、デフォルト設定を使用して、必須の構成をすべて自動的に実行します。expressSyncSetupコマンドを使用してNovell eDirectoryまたはOpenLDAPと同期化するには、「expressSyncSetupを使用したインポートおよびエクスポートの同期プロファイルの作成」を参照してください。

22.2.1 eDirectoryまたはOpenLDAPから1つのOracleバックエンド・ディレクトリ・コンテナへの複数のプロファイルの同期化

eDirectoryまたはOpenLDAPから1つのOracleバックエンド・ディレクトリ・コンテナへ複数のプロファイルを同期化する場合は、調整処理で誤ってユーザーが削除されないように、フィルタ処理して調整対象の特定のユーザーのみを除外する必要があります。フィルタ処理して調整対象の特定のユーザーのみを除外するには、次のいずれかの手順を実行します。

22.3 Novell eDirectoryまたはOpenLDAPとの拡張統合の構成

Oracle Directory Integration Platformをインストールすると、サポート対象のディレクトリごとにインポートおよびエクスポートの同期プロファイルのサンプルが自動的に作成されます。Novell eDirectory用に作成された同期プロファイルのサンプルは、次のとおりです。

OpenLDAP用に作成された同期プロファイルのサンプルは、次のとおりです。

expressSyncSetupコマンドまたはOracle Enterprise Manager Fusion Middleware Controlを使用して、追加の同期プロファイルを作成することもできます。インストール・プロセス時またはexpressSyncSetupによって作成されたインポートおよびエクスポートの同期プロファイルは、Oracleバックエンド・ディレクトリとNovell eDirectoryまたはOpenLDAPの統合をデプロイする際に使用する開始点としてのみ利用されます。デフォルトの同期プロファイルは事前定義の仮定を使用して作成されるため、次の手順を順序どおりに実行して、環境に合せてそれらをさらにカスタマイズする必要があります。

22.3.1 手順1: 統合の計画

第16章「接続ディレクトリ統合の概念と考慮事項」、特に「Novell eDirectoryおよびOpenLDAP統合の概念」を読んで、統合を計画します。「同期プロファイルの作成」の指示に従い、既存のeDirectoryまたはOpenLDAPのテンプレート・プロファイルをコピーして、必ず新規のプロファイルを作成します。

22.3.2 手順2: レルムの構成

「レルムの構成」の指示に従い、レルムを構成します。

22.3.3 手順3: Novell eDirectoryまたはOpenLDAPから情報を取得する検索フィルタのカスタマイズ

デフォルトでは、Novell eDirectoryまたはOpenLDAPコネクタにより、modifytimestamp属性に基づいてコンテナ内のすべてのオブジェクトに対する変更が取得されます。特定のタイプのオブジェクトに対する変更(ユーザーやグループに対する変更など)を取得する場合は、LDAP検索フィルタを構成する必要があります。このフィルタにより、Novell eDirectoryまたはOpenLDAPコネクタのNovell eDirectoryまたはOpenLDAPに対する問合せの際に、不要な変更が排除されます。フィルタは、同期プロファイルの「接続されたディレクトリ一致フィルタ」属性(orclodipcondirmatchingfilter)に格納されます。

Novell eDirectoryまたはOpenLDAPのサンプルのインポート・プロファイルは、それぞれNovell eDirectoryおよびOpenLDAPのユーザー、グループおよびコンテナ・オブジェクトに対する変更を取得するように構成されています。コンピュータは取得されません。searchfilter属性の値は、次のように設定されます。

searchfilter=(&(!(modifiersname=connected_dir_account))
(|(objectclass=domain)(objectclass=organizationalunit)
(objectclass=organization)(objectclass=person) (objectclass=groupofnames)))

ユーザーまたはグループ以外のエントリを同期化する場合は、manageSyncProfilesコマンドのupdate操作を使用してsearchfilter属性を更新します。たとえば、次のコマンドは、searchfilter属性を更新してユーザーとグループのみを同期化します。

manageSyncProfiles -operation update -profile profile_name odip.profile.condirfilter searchfilter= (|(objectclass=groupofnames)(objectclass=person))

注意:



関連項目:

LDAP検索フィルタを構成する方法は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のLDAPフィルタ定義に関する付録を参照してください。

22.3.4 手順4: ACLのカスタマイズ

「Access制御リストのカスタマイズ」で説明されているように、ACLをカスタマイズします。

22.3.5 手順5: 属性マッピングのカスタマイズ

Novell eDirectoryと統合する場合は、次の属性レベル・マッピングがすべてのオブジェクトに対して必須です。

GUID:1: : :orclNDSObjectGUID: :orclndsObject:bin2b64(guid)
Modifytimestamp:1 : : :orclsourcemodifytimestamp: :orclndsobject:
Createtimestamp:1 : : :orclsourcecreatetimestamp: :orclndsobject:
Targetdn:1: : :orclsourceobjectdn: : orclndsobject:

OpenLDAPと統合する場合は、次の属性レベル・マッピングがすべてのオブジェクトに対して必須です。

entryuuid:1: : : orclOpenLdapEntryUUID: : orclOpenLdapObject
Modifytimestamp:1 : : :orclsourcemodifytimestamp: : orclOpenLdapObject
Createtimestamp:1 : : :orclsourcecreatetimestamp: : orclOpenLdapObject
Targetdn:1: : :orclsourceobjectdn: : orclOpenLdapObject:

例22-1 Novell eDirectoryまたはOpenLDAPのユーザー・オブジェクト用の属性レベル・マッピング

Cn:1: : :person: cn: :person:
sn:1: : :person: sn: :person:

例22-2 Novell eDirectoryまたはOpenLDAPのグループ・オブジェクト用の属性レベル・マッピング

Cn:1: : :groupofname: cn:groupofuniquenames

この例では、Novell eDirectoryまたはOpenLDAPのCnおよびsnは、それぞれOracleバックエンド・ディレクトリのcnおよびsnにマップされます。

「マッピング・ルールのカスタマイズ」の指示に従い、属性マッピングをカスタマイズします。

22.3.6 手順6: 削除を同期化するためのNovell eDirectoryまたはOpenLDAPコネクタのカスタマイズ

「Novell eDirectoryまたはOpenLDAPからOracleバックエンド・ディレクトリへの同期」で説明されているように、Oracleバックエンド・ディレクトリでのNovell eDirectoryまたはOpenLDAPからの削除の同期化は調整方式で処理されます。調整処理は、時間とCPUを大量に消費するため、デフォルトで、調整は3600秒(1時間)間隔で行われます。manageSycnProfilesコマンドと-paramsオプションを使用してodip.profile.reconciliationtimeintervalパラメータを変更することで、この間隔を環境に合わせて変更できます。

Oracleバックエンド・ディレクトリでNovell eDirectoryまたはOpenLDAPからの削除を同期化する際にサーバーでのパフォーマンスの低下を回避するために、DITの特定のサブセットを検索するように比較をカスタマイズできます。ReconciliationRulesキーワードを使用して、サブセットの検索基準をマップ・ファイルの一部として指定します。

Novell eDirectoryのデフォルトのリコンシリエーション・ルールは、次のとおりです。

inetorgperson:cn:*
groupofnames:cn:*

OpenLDAPのデフォルトのリコンシリエーション・ルールは、次のとおりです。

inetorgperson:cn:*
groupofuniquenames:cn:*

これらのルールで指定される検索基準は、次の2つの手順に該当します。

  1. inetorgpersonオブジェクト・クラス内のすべてのエントリを検索します。属性値に応じて、このルール内に異なるサブセットを指定することもできます。

  2. Novell eDirectoryのgroupofnamesオブジェクト・クラス内またはOpenLDAPのgroupofuniquenamesオブジェクト・クラス内のすべてのエントリを検索します。

22.3.6.1 リコンシリエーション・ルールの定義方法

リコンシリエーション・ルールは、1つのオブジェクト・クラス、1つの属性、任意の数の値を使用して定義します。Oracleバックエンド・ディレクトリと同期化される任意の属性を使用してリコンシリエーション・ルールを定義できます。ただし、次の2つの要件に従う必要があります。

  • 指定されたオブジェクト・クラスの属性は、マッピング・ルールに定義されている必要があります。

  • 対応するOracleバックエンド・ディレクトリの属性は、索引付けされている必要があります。

たとえば、次のリコンシリエーション・ルールを考えてみます。

myobjclass:myattr:val1:val2:val3

このリコンシリエーション・ルールでは、オブジェクト・クラス名はmyobjclass、属性名はmyattrです。val1val2またはval3の値をmyattr属性に指定できます。myattr属性を使用するには、次のマッピング・ルールを定義する必要があります。

myattr: : : myobjclass:attr: :objclass:

このマッピング・ルールは、myattr属性をmyobjclassオブジェクト・クラスに定義します。attrはOracleバックエンド・ディレクトリの対応する属性で、索引付けする必要があります。

22.3.6.2 リコンシリエーション・ルールを使用して削除を同期化する方法

リコンシリエーション・ルールを定義すると、Novell eDirectoryまたはOpenLDAPに問い合せて削除エントリ数を特定する検索フィルタが生成されます。たとえば、前の項のmyobjclassおよびattrリコンシリエーション・ルールの例では、次の検索フィルタがNovell eDirectoryまたはOpenLDAPに生成されます。

  • (&(objectclass= myobjclass) (createtimestamp<=orclodipreconciliationtimestamp) (myattr=val1))

  • (&(objectclass= myobjclass) (createtimestamp<= orclodipreconciliationtimestamp) (myattr=val2))

  • (&(objectclass= myobjclass)(createtimestamp<= orclodipreconciliationtimestamp)(myattr=val3))

また、リコンシリエーション・ルールとマッピング・ルールによって、対応するフィルタがOracleバックエンド・ディレクトリに生成されます。たとえば、myobjclassおよびattrリコンシリエーション・ルールについて、次のOracleバックエンド・ディレクトリのフィルタが生成されます。

  • (&(objectclass= objclass) (orclndsobjectguid=*)(orclSourceCreateTimeStamp<= orclodipreconciliationtimestamp)(attr=val1))

  • (&(objectclass= objclass) (orclndsobjectguid=*)(orclSourceCreateTimeStamp<= orclodipreconciliationtimestamp)(attr=val2))

  • (&(objectclass= objclass) (orclndsobjectguid=*)(orclSourceCreateTimeStamp<= orclodipreconciliationtimestamp)(attr=val3))

22.3.7 手順7: 「拡張構成情報」属性用の同期パラメータの指定

同期プロファイルの「拡張構成情報」(orclodipAgentConfigInfo)属性には、コネクタでOracleバックエンド・ディレクトリと接続ディレクトリの同期化を行うために必要な追加の構成情報が格納されます。SearchDeltaSizeおよびSkipErrorToSyncNextChangeパラメータは任意の接続ディレクトリとともに使用できます。

Novell eDirectoryとOpenLDAPでは、表22-1に示すパラメータを使用して追加構成情報を指定することもできます。


ヒント:

同期プロファイルのすべての拡張構成パラメータの説明は、「拡張」の項を参照してください。

表22-1 拡張構成情報属性用のNovell eDirectoryとOpenLDAPの同期パラメータ

パラメータ 説明

AttributeType

UniqueAttributeパラメータのタイプを示します。このパラメータには、Novell eDirectoryの場合はBinary値、OpenLDAPの場合はnonBinary値を指定します。このパラメータは、マッピング・ファイルに定義されている属性に対応するOracleバックエンド・ディレクトリの属性を取得するために使用します。

SearchTimeDeltaInSeconds

このパラメータは、タイムスタンプに基づいて同期を処理し、変更ログをサポートしないeDirectoryおよびOpenLDAPにのみ適用されます。「時間デルタの検索」によって、各同期サイクルの反復中に変更を処理する時間間隔が決定されます。デフォルト値は3600です。各同期サイクルで実行される反復の回数は、保留中の変更の数によって異なります。たとえば、「時間デルタの検索」パラメータが60に設定されていると、約1分間保留中の変更がある場合、同期に必要な反復は1回です。変更が3分間保留中である場合、同期に必要な反復は3回です。

1分当たりの変更数が少ない場合は、「時間デルタの検索」の値を増やすと、同期の効率が向上します。

「時間デルタの検索」パラメータに設定する値が、接続ディレクトリ・サーバーのLDAP検索制限を超えないことを確認してください。そうでない場合、同期時にエラーが発生して一部の変更が処理されないことがあります。

CheckAllEntries

Novell eDirectoryまたはOpenLDAPの削除済エントリをOracleバックエンド・ディレクトリと同期化する方法を決定します。このパラメータにtrue値を指定すると、Oracle Directory Integration Platformでは、Oracleバックエンド・ディレクトリのエントリとNovell eDirectoryまたはOpenLDAPとの間で線形比較して削除済エントリを識別します。エントリがNovell eDirectoryまたはOpenLDAPに存在しない場合、そのエントリはOracleバックエンド・ディレクトリから削除されます。このパラメータにfalse値を指定すると、接続ディレクトリのエントリ数とOracleバックエンド・ディレクトリのエントリ数の差によって削除済エントリは同期化されます。削除済エントリ数が0以下の場合、同期化する削除済エントリはありません。しかし、削除済エントリ数が1以上の場合は、Oracle Directory Integration PlatformはOracleバックエンド・ディレクトリの各エントリをNovell eDirectoryまたはOpenLDAPと比較して同期化する削除済エントリを識別します。Oracle Directory Integration Platformでは、接続ディレクトリのエントリ数とOracleバックエンド・ディレクトリのエントリ数の差と同じ数の削除済エントリを検出するまでエントリの比較を続けます。パフォーマンスを向上させるには、このパラメータにfalse値を指定します。

ReduceFilterTimeInSeconds

Oracleバックエンド・ディレクトリを実行しているコンピュータとNovell eDirectoryを実行しているコンピュータの間の時間差を指定します。Novell eDirectoryのコンピュータ上の時間がOracleバックエンド・ディレクトリのコンピュータの時間より早い場合、Oracleバックエンド・ディレクトリとNovell eDirectory間の同期が正しく機能しないため、このパラメータが必要になります。このパラメータには、2つのコンピュータ間の時間差と等しい値を秒単位で指定します。デフォルト値は0です。

UniqueAttribute

エントリの検索に使用できるNovell eDirectoryまたはOpenLDAPの一意の属性を指定します。このパラメータには、Novell eDirectoryの場合はGUID値、OpenLDAPの場合はentryuuid値を指定します。

Reconciler

プロファイルにより調整処理のために使用されるクラスを指定します。


22.3.8 手順8: パスワードを同期化するためのOpenLDAPコネクタの構成

Novell eDirectoryからOracleバックエンド・ディレクトリには、パスワードを同期化できません。一方、OpenLDAPからOracleバックエンド・ディレクトリには、パスワードを同期化できます。

Oracle Directory Integration Platformで、逆方向に、Oracleバックエンド・ディレクトリからNovell eDirectoryまたはOpenLDAPにパスワードの変更を同期化できるのは、ディレクトリでSSLサーバー側認証が実行されており、Oracleバックエンド・ディレクトリがOracle Internet Directoryである場合のみです。

Oracle Unified Directoryバックエンド・ディレクトリまたはOracle Directory Server Enterprise Editionバックエンド・ディレクトリからの双方向パスワードの同期化はサポートされていません。双方向のパスワードの同期化は、バックエンド・ディレクトリがOracle Internet Directoryである場合にのみサポートされます。


注意:

Oracleバックエンド・ディレクトリでは、パスワードは5文字以上である必要があります。いずれかのOpenLDAPパスワードが5文字未満だった場合、Oracleバックエンド・ディレクトリへのパスワード同期は失敗します。

OpenLDAPからOracleバックエンド・ディレクトリにパスワードを同期化するには、次のタスクを実行します。

  1. パスワードの同期を有効にするマッピング・ルールの追加。次に例を示します。

    userpassword: : : inetorgperson: userpassword: person
    
  2. (オプション)この手順は、OpenLDAPのハッシング・アルゴリズムとOracle Directory Integration Platformのハッシング・アルゴリズムに互換性がない場合にのみ必要となります。


    警告:

    この手順を完了すると、userpassword属性がOpenLDAPにプレーン・テキスト・パスワードとして保存されます。


    Oracleディレクトリ・サーバーでのパスワード・ポリシーおよびパスワードの可逆暗号化の有効化。これを行うには、1の値を、cn=PwdPolicyEntry,cn=common,cn=products,cn=oraclecontext,DN_of_realmエントリのorclPwdPolicyEnable属性とorclpwdEncryptionEnable属性に指定します。そのためには、ldapmodifyを使用して次の内容のLDIFファイルをアップロードします。

    dn:cn=PwdPolicyEntry,cn=common,cn=products,cn=oraclecontext,DN_of_realm.
    changetype: modify
    replace: orclpwdpolicyenable
    orclpwdpolicyenable: 1
    -
    replace: orclpwdencryptionenable
    orclpwdencryptionenable: 1
    

関連項目:


22.3.9 手順9: SSLモードでの同期

「SSLモードでの同期用接続ディレクトリ・コネクタの構成」の指示に従い、SSLモードでの同期用にNovell eDirectoryまたはOpenLDAPコネクタを構成します。

22.3.10 手順10: Novell eDirectoryまたはOpenLDAP外部認証プラグインの構成

「外部認証プラグインの構成」の指示に従い、Novell eDirectoryまたはOpenLDAPの外部認証プラグインを構成します。

22.3.11 手順11: 構成後タスクおよび管理タスクの実行

構成後タスクおよび継続的な管理タスクの詳細は、第23章「接続ディレクトリとの統合の管理」を参照してください。