25 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との間でサポートされます。
25.1 Novell eDirectoryまたはOpenLDAPの同期要件の確認
Novell eDirectoryまたはOpenLDAPで基本同期または拡張同期を構成するには、使用する環境で必要な同期要件が満たされていることを確認してください。
「同期要件の確認」で説明されているステップを完了する必要があります。
ノート:
調整が正しく行われるためには、追加と削除が、同期化ディレクトリの1つのみから実行される必要があります。つまり、Oracleバックエンド・ディレクトリから、またはeDirectory/OpenLDAPから追加と削除を実行できますが、その両方から行うことはできません。ただし、変更はどちらのディレクトリからも実行できます。
25.2 Novell eDirectoryまたはOpenLDAPとの基本同期の構成
expressSyncSetup
コマンドを使用すると、Oracleバックエンド・ディレクトリとNovell eDirectoryまたはOpenLDAP間の同期を迅速に確立できます。
expressSyncSetup
コマンドでは、デフォルト設定を使用して、必須の構成をすべて自動的に実行します。expressSyncSetup
コマンドを使用してNovell eDirectoryまたはOpenLDAPと同期化するには、「expressSyncSetupを使用したインポートおよびエクスポートの同期プロファイルの作成」を参照してください。
25.3 eDirectoryまたはOpenLDAPから1つのOracleバックエンド・ディレクトリ・コンテナへの複数のプロファイルの同期化
eDirectoryまたはOpenLDAPから1つのOracleバックエンド・ディレクトリ・コンテナへ複数のプロファイルを同期化する場合は、調整処理で誤ってユーザーが削除されないように、フィルタ処理して調整対象の特定のユーザーのみを除外する必要があります。
フィルタ処理して調整対象の特定のユーザーのみを除外するには、次のいずれかのステップを実行します。
- マッピング・ルールを変更して、各プロファイルによって異なるコンテナにユーザーが作成されるようにします。詳細は、「マッピング・ルールのカスタマイズ」を参照してください。
- マッピング・ファイル内のリコンシリエーション・ルールを変更して、ユーザーの特定のサブセットのみが同期化されるようにします。詳細は、「リコンシリエーション・ルールの定義方法について」を参照してください。
25.4 Novell eDirectoryまたはOpenLDAPとの拡張統合の構成
expressSyncSetup
コマンドまたはOracle Enterprise Manager Fusion Middleware Controlを使用すると、テンプレートから追加の同期プロファイルを作成できます。
expressSyncSetup
によって作成されたインポートおよびエクスポートの同期プロファイルは、Oracleバックエンド・ディレクトリとNovell eDirectoryまたはOpenLDAPの統合をデプロイする際に使用する開始点としてのみ利用されます。これらの同期プロファイルは事前定義の仮定を使用して作成されるため、次のステップを実行して、環境に合せてそれらをさらにカスタマイズする必要があります。
ノート:
Oracle Directory Integration Platformをインストールすると、サポート対象のディレクトリごとにインポートおよびエクスポートのテンプレート・ファイル(ORACLE_HOME/ldap/odi/conf
)が作成されます。Novell eDirectory用に作成されるテンプレート・ファイルは、次のとおりです。
-
Novell eDirectoryImp
—Novell eDirectoryからOracleバックエンド・ディレクトリに変更をインポートするためのプロファイル -
Novell eDirectoryExp
—Oracleバックエンド・ディレクトリからNovell eDirectoryに変更をエクスポートするためのプロファイル
OpenLDAP用に作成される同期プロファイル・テンプレートは、次のとおりです。
-
OpenLDAPImport
—OpenLDAPからOracleバックエンド・ディレクトリに変更をインポートするためのプロファイル -
OpenLDAPExport
—Oracleバックエンド・ディレクトリからOpenLDAPに変更をエクスポートするためのプロファイル
25.4.1 Novell eDirectoryまたはOpenLDAPとの統合を計画する方法の理解
「接続ディレクトリ統合の概念と考慮事項」、特に「Novell eDirectoryおよびOpenLDAP統合の概念」を読んで、統合を計画します。「同期プロファイルの作成」の指示に従い、既存のeDirectoryまたはOpenLDAPのテンプレート・プロファイルをコピーして、必ず新規のプロファイルを作成します。
25.4.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))
ノート:
-
searchfilter
属性に指定する属性はすべて、Novell eDirectoryまたはOpenLDAPの索引付き属性のように構成する必要があります。 -
manageSyncProfiles
コマンドの詳細は、「manageSyncProfilesを使用した同期プロファイルの管理」を参照してください。
関連項目:
LDAP検索フィルタを構成する方法は、『Oracle Internet Directoryの管理』のLDAPフィルタ定義に関する付録を参照してください。
25.4.5 Novell eDirectoryの属性マッピングのカスタマイズ
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:
例25-1 Novell eDirectoryまたはOpenLDAPのユーザー・オブジェクト用の属性レベル・マッピング
Cn:1: :person: cn: :person: sn:1: :person: sn: :person:
例25-2 Novell eDirectoryまたはOpenLDAPのグループ・オブジェクト用の属性レベル・マッピング
cn:1: :groupofname: cn: : groupofuniquenames:
この例では、Novell eDirectoryまたはOpenLDAPのCn
およびsn
は、それぞれOracleバックエンド・ディレクトリのcn
およびsn
にマップされます。
「マッピング・ルールのカスタマイズ」の指示に従い、属性マッピングをカスタマイズします。
25.4.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つのステップに該当します。
inetorgperson
オブジェクト・クラス内のすべてのエントリを検索します。属性値に応じて、このルール内に異なるサブセットを指定することもできます。- Novell eDirectoryの
groupofnames
オブジェクト・クラス内またはOpenLDAPのgroupofuniquenames
オブジェクト・クラス内のすべてのエントリを検索します。
25.4.7 リコンシリエーション・ルールの定義方法について
リコンシリエーション・ルールは、1つのオブジェクト・クラス、1つの属性、任意の数の値を使用して定義します。Oracleバックエンド・ディレクトリと同期化される任意の属性を使用してリコンシリエーション・ルールを定義できます。ただし、次の2つの要件に従う必要があります。
-
指定されたオブジェクト・クラスの属性は、マッピング・ルールに定義されている必要があります。
-
対応するOracleバックエンド・ディレクトリの属性は、索引付けされている必要があります。
たとえば、次のリコンシリエーション・ルールを考えてみます。
myobjclass:myattr:val1:val2:val3
このリコンシリエーション・ルールでは、オブジェクト・クラス名はmyobjclass
、属性名はmyattr
です。val1
、val2
またはval3
の値をmyattr
属性に指定できます。myattr
属性を使用するには、次のマッピング・ルールを定義する必要があります。
myattr: : : myobjclass:attr: :objclass:
このマッピング・ルールは、myattr
属性をmyobjclass
オブジェクト・クラスに定義します。attr
はOracleバックエンド・ディレクトリの対応する属性で、索引付けする必要があります。
25.4.8 削除を同期化するために使用するリコンシリエーション・ルール
リコンシリエーション・ルールを定義すると、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))
25.4.9 「拡張構成情報」属性用の同期パラメータ
同期プロファイルの「拡張構成情報」(orclodipAgentConfigInfo
)属性には、コネクタでOracleバックエンド・ディレクトリと接続ディレクトリの同期化を行うために必要な追加の構成情報が格納されます。SearchDeltaSize
およびSkipErrorToSyncNextChange
パラメータは任意の接続ディレクトリとともに使用できます。
Novell eDirectoryとOpenLDAPでは、表25-1に示すパラメータを使用して追加構成情報を指定することもできます。
ヒント:
同期プロファイルのすべての拡張構成パラメータの説明は、「同期プロファイルの作成」の「拡張」タブの項を参照してください。
表25-1 「拡張構成情報」属性用のNovell eDirectoryとOpenLDAPの同期パラメータ
パラメータ | 説明 |
---|---|
|
|
|
このパラメータは、タイムスタンプに基づいて同期を処理し、変更ログをサポートしないeDirectoryおよびOpenLDAPにのみ適用されます。「時間デルタの検索」によって、各同期サイクルの反復中に変更を処理する時間間隔が決定されます。デフォルト値は3600です。各同期サイクルで実行される反復の回数は、保留中の変更の数によって異なります。たとえば、「時間デルタの検索」パラメータが60に設定されていると、約1分間保留中の変更がある場合、同期に必要な反復は1回です。変更が3分間保留中である場合、同期に必要な反復は3回です。 1分当たりの変更数が少ない場合は、「時間デルタの検索」の値を増やすと、同期の効率が向上します。 「時間デルタの検索」パラメータに設定する値が、接続ディレクトリ・サーバーのLDAP検索制限を超えないことを確認してください。そうでない場合、同期時にエラーが発生して一部の変更が処理されないことがあります。 |
|
Novell eDirectoryまたはOpenLDAPの削除済エントリをOracleバックエンド・ディレクトリと同期化する方法を決定します。このパラメータに |
|
Oracleバックエンド・ディレクトリを実行しているコンピュータとNovell eDirectoryを実行しているコンピュータの間の時間差を指定します。Novell eDirectoryのコンピュータ上の時間がOracleバックエンド・ディレクトリのコンピュータの時間より早い場合、Oracleバックエンド・ディレクトリとNovell eDirectory間の同期が正しく機能しないため、このパラメータが必要になります。このパラメータには、2つのコンピュータ間の時間差と等しい値を秒単位で指定します。デフォルト値は0 (ゼロ)です。一方のコンピュータのクロックと他方のクロックとの間に差異が発生する場合、Network Time Protocol (NTP)を使用してクロックの同期を維持し、この値を定期的に更新する必要があります。 |
|
エントリの検索に使用できるNovell eDirectoryまたはOpenLDAPの一意の属性を指定します。このパラメータには、Novell eDirectoryの場合は |
|
プロファイルにより調整処理のために使用されるクラスを指定します。 |
25.4.10 パスワードを同期化するためのOpenLDAPコネクタの構成
Novell eDirectoryからOracleバックエンド・ディレクトリには、パスワードを同期化できません。一方、OpenLDAPからOracleバックエンド・ディレクトリには、パスワードを同期化できます。
Oracle Directory Integration Platformで、逆方向に、Oracleバックエンド・ディレクトリからNovell eDirectoryまたはOpenLDAPにパスワードの変更を同期化できるのは、ディレクトリでSSLサーバー側認証が実行されており、Oracleバックエンド・ディレクトリがOracle Internet Directoryである場合のみです。
ノート:
Oracleバックエンド・ディレクトリでは、パスワードは5文字以上である必要があります。いずれかのOpenLDAPパスワードが5文字未満だった場合、Oracleバックエンド・ディレクトリへのパスワード同期は失敗します。
OpenLDAPからOracleバックエンド・ディレクトリにパスワードを同期化するには、次のタスクを実行します。
関連項目:
-
マッピング・ルールを追加する方法は、「マッピング・ルールの構成」を参照してください
-
Oracleバックエンド・ディレクトリがOracle Internet Directoryである場合、可逆暗号化の有効化の詳細は、『Oracle Internet Directoryの管理』のパスワード・ベリファイアのディレクトリ格納に関する章を参照してください。
25.4.11 SSLモードでのNovell eDirectoryまたはOpenLDAPコネクタの同期化
「SSLモードでの同期用接続ディレクトリ・コネクタの構成」の指示に従い、SSLモードでの同期用にNovell eDirectoryまたはOpenLDAPコネクタを構成します。
25.4.12 Novell eDirectoryまたはOpenLDAP外部認証プラグインの構成
「外部認証プラグインの構成」の指示に従い、Novell eDirectoryまたはOpenLDAPの外部認証プラグインを構成します。
25.4.13 構成後タスクおよび管理タスクの実行
この項では、Novell eDirectoryまたはOpenLDAPとの拡張統合の構成後に完了する必要のあるタスクについて説明します。
構成後タスクおよび継続的な管理タスクの詳細は、「接続ディレクトリとの統合の管理」を参照してください。