この章では、本番環境でOracle Identity ManagementとNovell eDirectoryまたはOpenLDAPを統合する手順について説明します。内容は次のとおりです。
注意: この章を読む前に、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のOracle Internet Directoryの概念とアーキテクチャに関する章を理解しておく必要があります。また、このマニュアルのここまでの章、特に次の章を理解していることを前提としています。同期は、Oracle Fusion Middleware 11gリリース11(11.1.1)以上と、Novell eDirectory 8.6.2以上またはOpenLDAP 2.2との間でサポートされます。 |
Novell eDirectoryまたはOpenLDAPで基本同期または拡張同期を構成するには、「同期要件の確認」の指示に従い、使用する環境で必要な同期要件が満たされていることを確認してください。
注意: 調整が正しく行われるためには、追加と削除が、同期化ディレクトリの1つのみから実行される必要があります。つまり、Oracle Internet Directoryから、またはeDirectory/OpenLDAPから追加と削除を実行できますが、その両方から行うことはできません。ただし、変更はどちらのディレクトリからも実行できます。 |
expressSyncSetup
コマンドを使用すると、Oracle Internet DirectoryとNovell eDirectoryまたはOpenLDAP間の同期を迅速に確立できます。expressSyncSetup
では、デフォルトの設定を使用してすべての必須構成を自動的に実行します。expressSyncSetup
を使用してNovell eDirectoryまたはOpenLDAPと同期化するには、「expressSyncSetupを使用したインポートおよびエクスポートの同期プロファイルの作成」を参照してください。
eDirectoryまたはOpenLDAPから1つのOracle Internet Directoryコンテナへ複数のプロファイルを同期化する場合は、調整処理で誤ってユーザーが削除されないように、フィルタ処理して調整対象の特定のユーザーのみを除外する必要があります。フィルタ処理して調整対象の特定のユーザーのみを除外するには、次のいずれかの手順を実行します。
マッピング・ルールを変更して、各プロファイルによって異なるコンテナにユーザーが作成されるようにします。詳細は、「マッピング・ルールのカスタマイズ」を参照してください。
マッピング・ファイル内のリコンシリエーション・ルールを変更して、ユーザーの特定のサブセットのみが同期化されるようにします。詳細は、「リコンシリエーション・ルールの定義方法」を参照してください。
Oracle Directory Integration Platformをインストールすると、サポート対象のサード・パーティ・ディレクトリごとにインポートおよびエクスポートの同期プロファイルのサンプルが自動的に作成されます。Novell eDirectory用に作成された同期プロファイルのサンプルは、次のとおりです。
Novell eDirectoryImp
: Novell eDirectoryからOracle Internet Directoryに変更をインポートするためのプロファイル
Novell eDirectoryExp
: Oracle Internet DirectoryからNovell eDirectoryに変更をエクスポートするためのプロファイル
OpenLDAP用に作成された同期プロファイルのサンプルは、次のとおりです。
OpenLDAPImport
: OpenLDAPからOracle Internet Directoryに変更をインポートするためのプロファイル
OpenLDAPExport
: Oracle Internet DirectoryからOpenLDAPに変更をエクスポートするためのプロファイル
expressSyncSetup
コマンドまたはOracle Enterprise Manager Fusion Middleware Controlを使用して、追加の同期プロファイルを作成することもできます。インストール・プロセス時またはexpressSyncSetup
によって作成されたインポートおよびエクスポートの同期プロファイルは、Oracle Internet DirectoryとNovell eDirectoryまたはOpenLDAPの統合をデプロイする際に使用する開始点としてのみ利用されます。デフォルトの同期プロファイルは事前定義の仮定を使用して作成されるため、次の手順を順序どおりに実行して、環境に合せてそれらをさらにカスタマイズする必要があります。
第16章「サード・パーティ・ディレクトリ統合の概念と考慮事項」、特に「Novell eDirectoryおよびOpenLDAP統合の概念」を読んで、統合を計画します。「同期プロファイルの作成」の指示に従い、既存の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フィルタ定義に関する付録を参照してください。 |
「Access制御リストのカスタマイズ」で説明されているように、ACLをカスタマイズします。
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 Internet Directoryのcn
およびsn
にマップされます。
「マッピング・ルールのカスタマイズ」の指示に従い、属性マッピングをカスタマイズします。
「Novell eDirectoryまたはOpenLDAPからOracle Internet Directoryへの同期」で説明されているように、Oracle Internet DirectoryでのNovell eDirectoryまたはOpenLDAPからの削除の同期化は調整方式で処理されます。調整処理は、時間とCPUを大量に消費するため、デフォルトで、調整は3600秒(1時間)間隔で行われます。manageSycnProfiles
コマンドと-params
オプションを使用してodip.profile.reconciliationtimeintervalパラメータを変更することで、この間隔を環境に合せて変更することができます。
Oracle Internet DirectoryでNovell eDirectoryまたはOpenLDAPからの削除を同期化する際にサーバーでのパフォーマンスの低下を回避するために、DITの特定のサブセットを検索するように比較をカスタマイズできます。ReconciliationRules
キーワードを使用して、サブセットの検索基準をマップ・ファイルの一部として指定します。
Novell eDirectoryのデフォルトのリコンシリエーション・ルールは、次のとおりです。
inetorgperson:cn:* groupofnames:cn:*
OpenLDAPのデフォルトのリコンシリエーション・ルールは、次のとおりです。
inetorgperson:cn:* groupofuniquenames:cn:*
これらのルールで指定される検索基準は、次の2つの手順に該当します。
inetorgperson
オブジェクト・クラス内のすべてのエントリを検索します。属性値に応じて、このルール内に異なるサブセットを指定することもできます。
Novell eDirectoryのgroupofnames
オブジェクト・クラス内またはOpenLDAPのgroupofuniquenames
オブジェクト・クラス内のすべてのエントリを検索します。
リコンシリエーション・ルールは、1つのオブジェクト・クラス、1つの属性、任意の数の値を使用して定義します。Oracle Internet Directoryと同期化される任意の属性を使用してリコンシリエーション・ルールを定義できます。ただし、次の2つの要件に従う必要があります。
指定されたオブジェクト・クラスの属性は、マッピング・ルールに定義されている必要があります。
対応するOracle Internet Directoryの属性は、索引付けされている必要があります。
たとえば、次のリコンシリエーション・ルールを考えてみます。
myobjclass:myattr:val1:val2:val3
このリコンシリエーション・ルールでは、オブジェクト・クラス名はmyobjclass
、属性名はmyattr
です。val1
、val2
またはval3
の値をmyattr
属性に指定できます。myattr
属性を使用するには、次のマッピング・ルールを定義する必要があります。
myattr: : : myobjclass:attr: :objclass:
このマッピング・ルールは、myattr
属性をmyobjclass
オブジェクト・クラスに定義します。attr
はOracle Internet Directoryの対応する属性で、索引付けする必要があります。
リコンシリエーション・ルールを定義すると、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 Internet Directoryに生成されます。たとえば、myobjclass
およびattr
リコンシリエーション・ルールについて、次のOracle Internet Directoryのフィルタが生成されます。
(&(objectclass= objclass) (orclndsobjectguid=*)(orclSourceCreateTimeStamp<= orclodipreconciliationtimestamp)(attr=val1))
(&(objectclass= objclass) (orclndsobjectguid=*)(orclSourceCreateTimeStamp<= orclodipreconciliationtimestamp)(attr=val2))
(&(objectclass= objclass) (orclndsobjectguid=*)(orclSourceCreateTimeStamp<= orclodipreconciliationtimestamp)(attr=val3))
同期プロファイルの拡張構成情報(orclodipAgentConfigInfo
)属性には、コネクタでOracle Internet Directoryと接続ディレクトリの同期化を行うために必要な追加の構成情報が格納されます。SearchDeltaSize
およびSkipErrorToSyncNextChange
パラメータは任意の接続ディレクトリとともに使用できます。
Novell eDirectoryとOpenLDAPでは、表22-1に示すパラメータを使用して追加構成情報を指定することもできます。
表22-1 拡張構成情報属性用のNovell eDirectoryとOpenLDAPの同期パラメータ
パラメータ | 説明 |
---|---|
AttributeType |
|
CheckAllEntries |
Novell eDirectoryまたはOpenLDAPの削除済エントリをOracle Internet Directoryと同期化する方法を決定します。このパラメータに |
ReduceFilterTimeInSeconds |
Oracle Internet Directoryを実行しているコンピュータとNovell eDirectoryを実行しているコンピュータの間の時間差を指定します。Novell eDirectoryのコンピュータ上の時間がOracle Internet Directoryのコンピュータの時間より早い場合、Oracle Internet DirectoryとNovell eDirectory間の同期が正しく機能しないため、このパラメータが必要になります。このパラメータには、2つのコンピュータ間の時間差と等しい値を秒単位で指定します。デフォルト値は0です。 |
UniqueAttribute |
エントリの検索に使用できるNovell eDirectoryまたはOpenLDAPの一意の属性を指定します。このパラメータには、Novell eDirectoryの場合は |
Reconciler |
プロファイルにより調整処理のために使用されるクラスを指定します。 |
Oracle Directory Integration Platformでは、ディレクトリがSSLサーバー側認証を実行している場合にかぎり、Oracle Internet DirectoryからNovell eDirectoryまたはOpenLDAPにパスワードの変更を同期化できます。Novell eDirectoryからOracle Internet Directoryには、パスワードを同期化できません。一方、OpenLDAPからOracle Internet Directoryには、パスワードを同期化できます。
注意: Oracle Internet Directoryではパスワードは5文字以上である必要があります。いずれかのOpenLDAPパスワードが5文字未満だった場合、Oracle Internet Directoryへのパスワード同期は失敗します。 |
OpenLDAPからOracle Internet Directoryにパスワードを同期化するには、次のタスクを実行します。
パスワードの同期を有効にするマッピング・ルールの追加。たとえば、次のようになります。
userpassword: : : inetorgperson: userpassword: person
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
関連項目:
|
「SSLモードでの同期用サード・パーティ・ディレクトリ・コネクタの構成」の指示に従い、SSLモードでの同期用にNovell eDirectoryまたはOpenLDAPコネクタを構成します。
「外部認証プラグインの構成」の指示に従い、Novell eDirectoryまたはOpenLDAPの外部認証プラグインを構成します。
構成後タスクおよび継続的な管理タスクの詳細は、第23章「サード・パーティ・ディレクトリとの統合の管理」を参照してください。