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

前
 
次
 

37 他のデータ・リポジトリからのデータの移行

この章では、LDAPバージョン3準拠のディレクトリおよびアプリケーション固有のデータ・リポジトリからOracle Internet Directoryへのデータの移行方法を説明します。

この章の項目は次のとおりです。

37.1 他のデータ・リポジトリからのデータの移行の概要

Oracle Internet Directoryのインストール時に、Oracle Identity Management 11gインストーラによって、デフォルトのスキーマとディレクトリ情報ツリー(DIT)が作成されます。このデフォルトのDITフレームワークの詳細は、第3章「Oracle Internet Directoryの概念およびアーキテクチャの理解」および第34章「レルムの計画、デプロイおよび管理」を参照してください。このフレームワークには柔軟性があるため、デプロイメント要件に応じて適切に変更できます。

Oracle Internet Directoryでは、次のディレクトリ要素がデフォルトで作成されます。

このデフォルトのアイデンティティ管理レルムは、デプロイメント要件に応じて変更してもかまいません。

37.2 LDAP準拠のディレクトリからのデータの移行

この項では、LDAP準拠のサード・パーティのディレクトリからOracle Internet Directoryにデータを移行する際に役立つ情報を提供します。すでに確立された構造を持つディレクトリが存在し、データをそのディレクトリからデフォルトのディレクトリ構造の環境に移行する場合は、この項の指示に従ってください。

データの移行に使用される一般的なツールには、bulkloadおよびsyncProfileBootstrapの2つがあります。表37-1「bulkloadとsyncProfileBootstrapの機能」では、bulkloadsyncProfileBootstrapの機能の比較を示します。

表37-1 bulkloadとsyncProfileBootstrapの機能

機能 bulkload syncProfileBootstrap

速度

高速

低速

データ転送方式

SQL

LDAP

受け入れ可能な入力のタイプ

LDIFファイルのみ

LDIFファイル、LDAPディレクトリ、タグ付きファイル、CSVファイル

データの変換

×

LDIF入力の検証

×



関連項目:

  • bulkloadの構文情報と例は、『Oracle Fusion Middleware Oracle Identity Managementリファレンス』のOracle Internet Directoryデータ管理ツールに関する説明を参照してください。

  • syncProfileBootstrapの詳細は、『Oracle Fusion Middleware Oracle Directory Integration Platform管理者ガイド』を参照してください。


37.2.1 LDIFファイルとbulkloadを使用したLDAPデータの移行

バルク・ローダー(bulkload)は、大量のエントリをディレクトリ・サーバーにロードするためのコマンドライン・ツールです。このツールでは、Oracle SQL*Loaderを使用してディレクトリ・エントリをロードします。bulkloadツールの入力ファイルの形式は、LDAP Data Interchange Format(LDIF)である必要があります。bulkloadツールでは、LDIF入力の参照整合性を検証できますが、データに対してマッピングやその他の変換を実行することはできません。

変換が不要でデータが非常に大きい(50万件以上)場合、サード・パーティのディレクトリからOracle Internet Directoryにデータを移行するにはbulkloadが最も適しています。これは高速で、LDIF入力の検証が可能です。

この方法を使用する場合は、図37-1「LDIFファイルとbulkloadの使用」に示すように、まずサード・パーティのディレクトリからLDIFファイルにデータをエクスポートする必要があります。

図37-1 LDIFファイルとbulkloadの使用

この図はテキストで説明します。

LDIFは、LDAP準拠のディレクトリのデータをファイルとして表現するためのASCII交換フォーマットで、IETFによる承認を受けています。すべてのLDAP準拠のディレクトリには、エクスポート時にDITを表す1つ以上のLDIFファイルにその内容をエクスポートするツールがあります。


関連項目:

IETFのRFC 2849は、http://www.ietf.orgで入手可能です。


LDIFファイルとbulkloadを使用してデータをOracle Internet Directoryに移行するには、次のタスクを実行する必要があります。

タスク1: 非Oracle Internet DirectoryサーバーからLDIFファイル形式へのデータのエクスポート

エクスポートの方法については、ベンダーが提供するマニュアルを参照してください。外部のディレクトリからデータをエクスポートするためのフラグまたはオプションが存在する場合は、必ず次の方法を選択してください。

  • 最小の独自情報が含まれるLDIF出力を生成する方法

  • http://www.ietf.orgで入手可能なIETF RFC 2849に最も準拠している方法

タスク2: LDIFデータで参照される必須スキーマの追加のためのLDIFユーザー・データの分析

Oracle Internet Directoryベース・スキーマ内で検索できない属性については、LDIFファイルをインポートする前に、Oracle Internet Directoryベース・スキーマの拡張が必要です。一部のディレクトリでは、そのベース・スキーマへの拡張を定義するための構成ファイルの使用をサポートしている場合があります(Oracle Internet Directoryではサポートしていません)。構成ファイルがある場合は、「タスク3: Oracle Internet Directory内のスキーマの拡張」において、Oracle Internet Directory内のベース・スキーマを拡張するためのガイドラインとしてそのファイルを使用できます。

タスク3: Oracle Internet Directory内のスキーマの拡張

Oracle Internet Directoryにおけるディレクトリ・スキーマの拡張方法に関するヒントは、第21章「ディレクトリ・スキーマの管理」を参照してください。この作業は、Oracle Directory Services ManagerまたはSchemaSynchツール(『Oracle Fusion Middleware Oracle Identity Managementリファレンス』を参照)を使用して実行できます。

他のOracle製品を使用するユーザーがいる場合は、オブジェクト・クラスがorclUserV2で必須属性を持ったユーザーを作成する必要があります。Active Directoryとの統合には、オブジェクト・クラスがorclADUserで必須属性を持ったユーザーを作成する必要があります。これらのオブジェクト・クラスとその属性の詳細は、『Oracle Fusion Middleware Oracle Identity Managementリファレンス』を参照してください。

タスク4: LDIFファイルからの独自のディレクトリ・データの削除

ACI属性など、LDAP v3標準の一部の要素は、まだ正式なものではありません。その結果、様々なディレクトリ・ベンダーがベンダー間で正常に変換できない方法で、ACIポリシー・オブジェクトを実装しています。

クリーンアップされたLDIFファイルからOracle Internet Directoryに基本エントリ・データをインポートした後、Oracle Internet Directory環境でセキュリティ・ポリシーを明示的に再適用する必要があります。この作業は、Oracle Directory Services Managerまたはコマンドライン・ツールと、必要なACP情報を含むLDIFファイルを使用して実行できます。

この他にもアクセス制御に関連しない独自のメタデータが含まれている場合があります。これも同様に削除する必要があります。様々なIETF RFCを理解することで、どのディレクトリ・メタデータが特定のベンダー独自のものであり、どれがLDAP規格に準拠していてLDIFファイルによって移植できるかを判断できます。

タスク5: LDIFファイルからの操作属性の削除

エントリが作成またはインポートされるたびに、標準のLDAPバージョン3の操作属性のうち、creatorsNamecreateTimestampmodifiersNameおよびmodifyTimestampの4つの属性が、Oracle Internet Directoryによって自動的に生成されます。たとえば、LDIFファイルのインポートを使用して、既存のディレクトリ・データからこれらの値をインスタンス化することはできません。したがって、インポートを試行する前に、これらの属性をファイルから削除する必要があります。

タスク6: LDIFファイルからの非互換のuserPassword属性値の削除

Oracle Internet DirectoryでサポートされているuserPassword属性のハッシュ・アルゴリズムの詳細は、第9.1.5項「DSEの属性」orclcryptoschemeエントリを参照してください。

一部のベンダー製品で使用されているuserPassword属性のハッシュ値は、Oracle Internet Directoryと互換性がありません。このため、プレーン・テキストで表されているか、または値が含まれていない場合を除き、userPassword属性と値に対応する行はすべてLDIFデータ・ファイルから削除する必要があります。LDIFデータをインポートした後、手動で再入力するか、またはハッシュされたuserPassword情報を別途ディレクトリにアップロードする必要があります。パスワードがOracle Internet Directoryパスワード・ポリシーに準拠し、クリアテキストになっていることを確認します。

タスク7: bulkload check =TRUE"モードの実行とスキーマ違反または重複エラーが残っているかどうかの判断

LDIFファイルを生成してロードする前に、必ずbulkloadユーティリティのチェック・モードを使用してLDIFファイルのチェックを実行してください。bulkloadの出力によって、データにおける不整合が報告されます。


関連項目:

bulkloadのチェック・モードの使用方法は、『Oracle Fusion Middleware Oracle Identity Managementリファレンス』bulkloadコマンドライン・ツールのリファレンスを参照


37.2.2 syncProfileBootstrapを直接使用したLDAPデータの移行

ディレクトリ統合アシスタントであるsyncProfileBootstrapは、Oracle Directory Integration Serverによってスケジュールされた同期プロファイルを管理するためのコマンドライン・ツールです。管理者は、Oracle Directory Integration Serverで継続的に同期を実行するように構成する際に、syncProfileBootstrap操作を使用して、接続ディレクトリとOracle Internet Directoryとの間で初期のデータ移行を実行できます。この操作は、継続した同期のない、1回かぎりのデータの移行にも使用できます。

syncProfileBootstrap操作では、データをサード・パーティのLDAP準拠ディレクトリから直接受け取るか、LDIFファイル、タグ付きファイルまたはCSVファイルから受け取ることができます。同期プロファイルまたは構成ファイルのいずれかで、マッピング・ルールを指定する必要があります。

syncProfileBootstrapの構文情報、構成ファイルのプロパティ、入力ファイルのタイプに関する情報および例の詳細は、『Oracle Fusion Middleware Oracle Identity Managementリファレンス』のOracle Directory Integration Platformツールに関する説明、および『Oracle Fusion Middleware Oracle Directory Integration Platform管理者ガイド』を参照してください。

サード・パーティのディレクトリからOracle Internet Directoryにデータを移行するときにマッピングを実行する必要があり、データのサイズが小さい場合は、syncProfileBootstrapを使用できます。図37-2「syncProfileBootstrapの直接の使用」に示すように、サード・パーティのディレクトリ自体をsyncProfileBootstrapへの入力として使用できます。

図37-2 syncProfileBootstrapの直接の使用

dipassistantの直接の使用

37.2.3 LDIFファイルとsyncProfileBootstrapを使用したLDAPデータの移行

使用例3は、使用例2のバリエーションです。サード・パーティのディレクトリに直接アクセスできない場合は、管理者に依頼してデータをLDIFファイルにエクスポートすることができます。図37-3「LDIFファイルとsyncProfileBootstrapの使用」に示すように、syncProfileBootstrapはLDIFファイルから入力を受け取ることができます。また、Oracle Directory Integration Serverを使用してデータを移行することもできます。

図37-3 LDIFファイルとsyncProfileBootstrapの使用

この図はテキストで説明します。

LDIFファイルとbulkloadを使用してデータをOracle Internet Directoryに移行する場合には、いくつかのタスクを実行する必要があります。この使用例では、syncProfileBootstrapまたはOracle Directory Integration Platformとともにマッピング・ファイルを使用するため、「LDIFファイルとbulkloadを使用したLDAPデータの移行」に示されているすべてのタスクを実行する必要はありません。実行する必要のあるタスクは、次のとおりです。

37.2.4 syncProfileBootstrap、bulkloadおよびLDIFファイルを使用したLDAPデータの移行

大量のデータがあり、データにマッピングを実行する必要がある場合は、ツールを組み合せて使用することができます。図37-4「syncProfileBootstrap、bulkloadおよびLDIFファイルの使用」に示すように、サード・パーティのディレクトリからLDIFファイルにデータをエクスポートし、syncProfileBootstrapを使用して別のLDIFファイルにデータをマッピングして、そのファイルをbulkloadでロードできます。

図37-4 syncProfileBootstrap、bulkloadおよびLDIFファイルの使用

この図はテキストで説明します。

第37.2.3項「LDIFファイルとsyncProfileBootstrapを使用したLDAPデータの移行」に示すように、実行する必要のあるタスクは、次のとおりです。

37.2.5 Oracle Directory Integration Platform Serverを使用したLDAPデータの移行

場合によっては、管理者はOracle Directory Integration Serverを構成するときに、syncProfileBootstrapを使用しないことがあります。Oracle Directory Integration Serverの構成後は、このサーバー自体で接続ディレクトリからOracle Internet Directoryにデータを移行できます。また、Oracle Directory Integration Serverを1回かぎりのデータの移行に使用することもできます。詳細は、『Oracle Fusion Middleware Oracle Directory Integration Platform管理者ガイド』を参照してください。

Oracle Directory Integration Serverを使用すると、図37-5「Oracle Directory Integration Serverの使用」に示すように、Oracle Internet Directoryとサード・パーティのディレクトリの間に双方向で継続的な統合を構成できます。詳細は、『Oracle Fusion Middleware Oracle Directory Integration Platform管理者ガイド』を参照してください。

図37-5 Oracle Directory Integration Serverの使用

この図はテキストで説明します。

37.3 ユーザー・データのアプリケーション固有リポジトリからの移行

ユーザー・データをアプリケーション固有のリポジトリから移行するには、次の処理が必要です。

37.3.1 中間テンプレート・ファイル

この移行を実行するには、Oracle Directory Provisioning Integration Serviceで、アプリケーション固有のリポジトリを使用してそのデータを中間テンプレート・ファイルにエクスポートする必要があります。このテンプレート・ファイル内のレコードは、完全なLDIFにはなっておらず、情報が最終的に格納されるディレクトリ内の場所などに関連する置換変数が含まれています。これらの変数はアプリケーションにより未定義のまま残されるため、ディレクトリ管理者は後で定義できます。

ユーザー・データをこの中間テンプレート・ファイルから適切なLDIFに変換するには、OID移行ツール(ldifmigrator)を使用します。LDIFに変換されたデータは、ディレクトリにロードできます。

要約すると、アプリケーション固有のリポジトリからデータを移行するには、通常、次の手順を実行します。

  1. アプリケーション固有のデータを中間テンプレート・ファイルとしてエクスポートします。

  2. ディレクトリ管理者は、OID移行ツール(ldifmigrator)を使用して、不完全なLDIFエントリをテンプレート・ファイルからロードし、デプロイメントの選択に基づいて完全なLDIFエントリに変換します。

  3. ディレクトリ管理者は、この完全なLDIFのデータをOracle Internet Directoryにロードします。

  4. アプリケーションは、独自の仕様に従って移行処理を完了します。

37.3.2 アプリケーション・リポジトリ内のデータとディレクトリの既存データとの調停

アプリケーション固有のリポジトリから移行しているデータが、Oracle Internet Directoryにすでに存在している場合があります。この場合、OID移行ツール(ldifmigrator)の調停機能を使用して、2つのディレクトリ間の差分を調整できます。


関連項目:

OID移行ツールの調停機能の詳細は、『Oracle Fusion Middleware Oracle Identity Managementリファレンス』ldifmigratorコマンドライン・ツールのリファレンスを参照


37.3.3 アプリケーション固有のリポジトリからデータを移行するためのタスク

アプリケーション固有のリポジトリからデータを移行するには、中間テンプレート・ファイルを作成してから、OID移行ツールを実行します。

37.3.3.1 タスク1: 中間テンプレート・ファイルの作成

各国語のデータを生成するアプリケーションでは、中間テンプレート・ファイルにデータをAL32UTF8で格納する必要があります。詳細は、http://www.ietf.orgで、IETFのRFC 2849「The LDAP Data Interchange Format(LDIF)- Technical Specification(LDAP Data Interchange Format(LDIF) - 技術仕様)」を参照してください。

中間テンプレート・ファイルの生成時に、移行を実行するアプリケーションでは、RFC 2849で定義されているレコード・セパレータを使用して、すべてのユーザー・レコードを順にリストする必要があります。OID移行ツール(ldifmigrator)は、デフォルトのアイデンティティ管理レルム(企業自体に対応しています)にすべてのユーザーを割り当てます。

図37-6に、ユーザー・エントリが格納される中間テンプレート・ファイルの全体構造を示します。

図37-6 中間ユーザー・ファイルの構造

図37-6の説明が続きます。
「図37-6 中間ユーザー・ファイルの構造」の説明

中間テンプレート・ファイルでは、次の形式を使用して、有効なユーザー・エントリが生成されます。太字の文字列は、すべてアプリケーション固有のリポジトリから提供されます。

dn: cn=UserID, %s_UserContainerDN%
sn: Last_Name
orclGlobalID: GUID_for_User
%s_UserNicknameAttribute%: UserID
objectClass: inetOrgPerson
objectClass: orclUserV2

このテンプレートの文字列%s_UserContainerDN%%s_UserNicknameAttribute%は置換変数で、OID移行ツールによって値が提供されます。OID移行ツールは、デプロイメントに固有な考慮事項に従ってこれらの値を判別します。引数は、アプリケーションがOID移行ツールに渡すか、ツールがディレクトリから取得します。

37.3.3.1.1 例: 中間テンプレート・ファイル内のユーザー・エントリ

次の中間テンプレート・ファイルには、アプリケーション固有の移行ロジックによって生成されたユーザー・エントリが格納されます。この例にある太字のデータは、すべてアプリケーション固有のユーザー・リポジトリから提供されます。

dn: cn=jdoe, %s_UserContainerDN%
sn: Doe
%s_UserNicknameAttribute%: jdoe
objectClass: inetOrgPerson
objectClass: orclUserV2
title: Member of Technical Staff
homePhone: 415-584-5670
homePostalAddress: 234 Lez Drive$ Redwood City$ CA$ 94402
dn: cn=jsmith, %s_UserContainerDN%
sn: Smith
%s_UserNicknameAttribute%: jsmith
objectClass: inetOrgPerson
objectClass: orclUserV2
title: Member of Technical Staff
homePhone: 650-584-5670
homePostalAddress: 232 Gonzalez Drive$ San Francisco$ CA$ 94404
dn: cn=lrider, %s_UserContainerDN%
sn: Rider
%s_UserNicknameAttribute%: lrider
objectClass: inetOrgPerson
objectClass: orclUserV2
title: Senior Member of Technical Staff
homePhone: 650-584-5670

中間ファイルの形式に変換されたすべてのユーザー・データは、さらに、OID移行ツールによって、Oracle Internet Directoryにロード可能な適切なLDIFファイルに変換されます。

中間テンプレート・ファイルの例は、$ORACLE_HOME/ldap/schema/oidにあります。

37.3.3.1.2 ユーザー・エントリの属性

各ユーザー・エントリには、必須とオプションの属性があります。

表37-2に、ユーザー・エントリの必須属性を示します。

表37-2 ユーザー・エントリの必須属性

属性 説明

dn

適切な置換変数を持つユーザー・エントリの識別名。エントリの相対識別名には、必ずcn属性を含める必要があります。

sn

ユーザーの姓。

objectclass

エントリが最小限、属する必要があるオブジェクト・クラス。inetOrgPersonおよびorclUserV2があります。



関連項目:

  • inetOrgPersonオブジェクト・クラスの各属性については、http://www.ietf.orgで、IETFのRFC 2798「Definition of the inetOrgPerson LDAP Object Class(inetOrgPerson LDAPオブジェクト・クラスの定義)」を参照してください。

  • orclUserV2オブジェクト・クラスのオプション属性の詳細は、『Oracle Fusion Middleware Oracle Identity Managementリファレンス』のOracle Identity Managementのオブジェクト・クラスのリファレンスを参照してください。


37.3.3.2 タスク2: OID移行ツールの実行

中間テンプレート・ファイルを設定すると、OID移行ツールによって、すべての関連データをアプリケーション固有のリポジトリからOracle Internet Directoryに移行できます。データの移行後は、そのアプリケーションとOracle Internet Directoryを同期化することによって、アプリケーションに関連するあらゆるデータを更新できます。同期化には、Oracle Directory Synchronization Serviceを使用します。


関連項目:

OID移行ツールの使用方法は、『Oracle Fusion Middleware Oracle Identity Managementリファレンス』ldifmigratorコマンドライン・ツールのリファレンスを参照