Novellインポート/エクスポート変換ユーティリティは次の操作に使用できます。
Novellインポート/エクスポート変換ユーティリティは、形式に応じてデータを読み書きするための一連のハンドラを管理します。データを読み込むハンドラをソースハンドラと呼び、データを書き込むハンドラをターゲットハンドラと呼びます。1つの実行可能モジュールがソースハンドラとターゲットハンドラの両方として機能することもあります。Novellインポート/エクスポート変換エンジンは、ソースハンドラからデータを受け取ってそれを処理し、処理したデータをターゲットハンドラに渡します。
たとえば、LDIFデータをLDAPディレクトリにインポートする場合、Novellインポート/エクスポート変換エンジンは、LDIFソースハンドラを使用してLDIFファイルを読み込み、読み込んだデータをLDAPターゲットハンドラを使用してLDAPディレクトリサーバに送信します。LDIFファイルの構文、構造およびデバッグの詳細については、「LDIFファイルのトラブルシューティング」を参照してください。
Novellインポート/エクスポート変換クライアントユーティリティは、コマンドライン、ConsoleOne(R)スナップイン、またはNovell iManagerのインポート/エクスポート変換ウィザードから実行できます。ただし、コンマ区切りのデータに対応したハンドラは、コマンドラインユーティリティとNovell iManagerでのみ使用できます。
Novellインポート/エクスポート変換ユーティリティは、次のどちらの方法でも使用できます。
Novellインポート/エクスポート変換エンジンには、ウィザードからもコマンドラインインタフェースからもアクセスできます。ただし、ソースハンドラとターゲットハンドラの組み合わせの選択肢は、コマンドラインインタフェースを使用する場合のほうが多くなります。
NDSおよびeDirectoryの旧バージョンで提供されていたBULKLOADユーティリティとZONEIMPORTユーティリティはどちらも、Novellインポート/エクスポート変換ユーティリティに変更されました。
インポート/エクスポート変換ウィザードは次の操作に使用できます。
Novell iManagerの使用方法とアクセス方法の詳細については、『Novell iManager 2.5管理ガイド』を参照してください。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[ディスク上のファイルからデータをインポート]をクリックし、[次へ]をクリックします。
インポートするファイルのタイプを選択します。
インポートするデータが含まれているファイルの名前を指定し、適切なオプションを指定してから[次へ]をクリックします。
このページのオプションは、選択したファイルのタイプによって異なります。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。
データのインポート先になるLDAPサーバを指定します。
次の表の説明を参照して、適切なオプションを追加します。
[次へ]>[完了]の順にクリックします。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[ディスク上のファイルにデータをエクスポート]>[次へ]の順にクリックします。
エクスポートするエントリが格納されているLDAPサーバを指定します。
[詳細設定]を使用して、LDAPソースハンドラの追加オプションを設定します。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。
次の表の説明を参照して、適切なオプションを追加します。
[次へ]をクリックします。
エクスポートするエントリの検索条件を次のように指定します。
オプション | 説明 |
---|---|
ベースDN |
検索要求のベース識別名 このフィールドを指定しなかった場合、デフォルトのベースDNである""(空の文字列)が使用されます。 |
スコープ |
検索要求のスコープ |
フィルタ |
RFC 1558準拠の検索フィルタ デフォルトは「objectclass=*」です。 |
属性 |
検索エントリごとに取得する属性 |
[次へ]をクリックします。
エクスポートするファイルのタイプを選択します。
エクスポートされたファイルは、一時的な場所に保存されます。このファイルは、インポート/エクスポート変換ウィザードの最後でダウンロードできます。
[次へ]>[完了]の順にクリックします。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[Migrate Data Between Servers]>[次へ]の順にクリックします。
移行するエントリが格納されているLDAPサーバを指定します。
[詳細設定]を使用して、LDAPソースハンドラの追加オプションを設定します。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。
次の表の説明を参照して、適切なオプションを追加します。
[次へ]をクリックします。
移行するエントリの検索条件を次のように指定します。
オプション | 説明 |
---|---|
ベースDN |
検索要求のベース識別名 このフィールドを指定しなかった場合、デフォルトのベースDNである""(空の文字列)が使用されます。 |
スコープ |
検索要求のスコープ |
フィルタ |
RFC 2254準拠の検索フィルタ デフォルトは「objectclass=*」です。 |
属性 |
検索エントリごとに取得する属性 |
[次へ]をクリックします。
データを移行するLDAPサーバを指定します。
[次へ]>[完了]の順にクリックします。
注: スキーマが各LDAPサービスで整合性を保っていることを確認します。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[ファイルからスキーマを追加]>[次へ]の順にクリックします。
追加するファイルのタイプを選択します。
LDIFおよびスキーマファイルからタイプを選択できます。
追加するデータが含まれているスキーマの名前を指定し、適切なオプションを指定してから[次へ]をクリックします。
追加先のサーバにスキーマを追加せずに、スキーマの比較だけをする場合は、[スキーマを追加しないで比較]を選択します。追加のスキーマは追加先サーバに追加されず、処理の最後に表示されるリンクからスキーマの相違点を確認できます。
このページのオプションは、選択したファイルのタイプによって異なります。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。
スキーマのインポート先になるLDAPサーバを指定します。
次の表の説明を参照して、適切なオプションを追加します。
[次へ]>[完了]の順にをクリックします。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[サーバからスキーマを追加]>[次へ]の順にクリックします。
スキーマの追加元になるLDAPサーバを指定します。
次の表の説明を参照して、適切なオプションを追加します。
追加先のサーバにスキーマを追加せずに、スキーマの比較だけをする場合は、[スキーマを追加しないで比較]を選択します。追加のスキーマは追加先サーバに追加されず、処理の最後に表示されるリンクからスキーマの相違点を確認できます。
スキーマの追加先になるLDAPサーバを指定します。
次の表の説明を参照して、適切なオプションを追加します。
[次へ]>[完了]の順にをクリックします。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[スキーマファイルの比較]>[次へ]の順にクリックします。
比較するファイルのタイプを選択します。
LDIFおよびスキーマファイルから形式を選択できます。
比較するデータが含まれているスキーマの名前を指定し、適切なオプションを指定してから[次へ]をクリックします。
このページのオプションは、選択したファイルのタイプによって異なります。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。
比較するスキーマファイルを指定します。
LDIFファイルのみを選択できます。
[次へ]>[完了]の順にをクリックします。
2つのスキーマファイルの相違点は、処理の最後に表示されるリンクから確認できます。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[サーバとファイル間でスキーマファイルを比較]>[次へ]の順にクリックします。
スキーマの比較元になるLDAPサーバを指定します。
次の表の説明を参照して、適切なオプションを追加します。
比較するファイルのタイプを選択します。
比較するデータが含まれているファイルの名前を指定し、適切なオプションを指定してから[次へ]をクリックします。
このページのオプションは、選択したファイルのタイプによって異なります。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。
[次へ]>[完了]の順にをクリックします。
サーバのスキーマとスキーマファイルの相違点は、処理の最後に表示されるリンクから確認できます。
このオプションは、区切りデータファイルからデータをインポートするために、delimハンドラを使用する順序ファイルを生成します。ウィザードでは、特定のオブジェクトクラスの属性リストを含む順序ファイルを作成できます。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[順序ファイルの生成]、[次へ]の順にクリックします。
順序ファイルを生成するクラスを選択して、[表示]をクリックします。
[順次属性]リストに追加する属性を選択します。
補助クラスを選択して、[選択された補助クラス]リストに追加します。
[順次属性]リストおよび[補助クラス]リストの詳細については、iMonitorのオンラインヘルプを参照してください。
[次へ]をクリックします。
次の表の説明を参照して、適切なオプションを追加します。
オプション | 説明 |
---|---|
コンテキスト |
作成されたオブジェクトを関連付けるコンテキスト |
データファイルを選択 |
データファイルの場所 |
データファイルでデリミタを選択 |
データファイル内で使用される区切り記号。デフォルトの区切り記号はコンマ(,)です。 |
ネーミング属性を選択 |
選択したクラスで使用できるすべての属性のリストのネーミング属性 |
[詳細設定]を使用して、LDAPソースハンドラの追加オプションを設定します。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。
[処理するレコード]を使用して、データファイルで処理するレコードを選択してください。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。
次の表の説明を参照して、適切なオプションを追加します。
[詳細設定]を使用して、LDAPソースハンドラの追加オプションを設定します。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。
[次へ]>[完了]の順にクリックします。
Novellインポート/エクスポート変換ユーティリティのコマンドラインバージョンは、次の操作に使用できます。
Novellインポート/エクスポート変換ウィザードは、Novell iManagerの一部としてインストールされます。Win32*バージョン(ice.exe)とNetWare(R)バージョン(ice.nlm)の両方がインストールされます。Linux、Solaris、AIX、およびHP-UXの各システムの場合、インポート/エクスポートユーティリティは、NOVLiceパッケージに含まれています。
Novellインポート/エクスポート変換ユーティリティは、次の構文で起動します。
ice 標準オプション
-S[LDIF | LDAP | DELIM | LOAD | SCH] ソースのオプション
-D[LDIF | LDAP | DELIM] ターゲットのオプション
またはスキーマキャッシュを使用する場合は、次の構文になります。
ice -C スキーマオプション
-S[LDIF | LDAP] ソースのオプション
-D[LDIF | LDAP] ターゲットのオプション
スキーマキャッシュを使用して更新を実行する場合、LDIFファイルはターゲットとして有効ではありません。
一般オプションの指定は任意です。ただし、指定する場合はソースハンドラオプションやターゲットハンドラオプションより前に指定します。-S(ソース)ハンドラセクションと-D(ターゲット)ハンドラセクションはどちらを先に指定してもかまいません。
利用できるソースハンドラとターゲットハンドラは次のとおりです。
一般オプションは、Novellインポート/エクスポート変換エンジンの処理全体に影響のあるオプションです。
オプション | 説明 |
---|---|
-C |
スキーマキャッシュを使用して比較および更新を実行する場合に指定します。 |
-l ログファイル |
出力メッセージ(エラーメッセージなど)を書き込むログファイルの名前を指定します。このオプションを指定しなかった場合、エラーメッセージはice.logに出力されます。 Linux、Solaris、AIX、およびHP-UXの各システムでは、このオプションを指定しなかった場合、エラーメッセージのログは記録されません。 |
-o |
既存のログファイルを上書きする場合に指定します。このフラグを設定しなかった場合、メッセージは既存のログファイルの末尾に追加されます。 |
-e LDIFエラーログファイル |
正常に処理されなかったエントリを書き込むファイルの名前を指定します。エントリはLDIF形式で書き込まれます。このファイルは、内容を調べてエラーを修正したうえで元のディレクトリに再適用できます。 |
-p URL |
インポート/エクスポート変換エンジンが使用するXML配置ルールが格納されている場所を指定します。配置ルールはエントリの位置を変更するときに使用します。詳細については、変換ルールを参照してください。 |
-c URL |
インポート/エクスポート変換エンジンが使用するXML作成ルールが格納されている場所を指定します。作成ルールは、インポート時にエントリを正しく作成するために必要な情報が欠落している場合にそれを補うために使用します。詳細については、「変換ルール」を参照してください。 |
-s URL |
インポート/エクスポート変換エンジンが使用するXMLスキーママッピングルールが格納されている場所を指定します。スキーママッピングルールによって、転送元サーバのスキーマエレメントを、転送先サーバ上の同等ではあるが異なるスキーマエレメントにマッピングできます。 詳細については、「変換ルール」を参照してください。 |
-b (NetWareのみ) |
実行終了時のICEコンソール画面で、入力を待って停止しない場合に指定します。 |
-hまたは-? |
コマンドラインのヘルプを表示します。 |
スキーマオプションでは、スキーマキャッシュを使用してスキーマの比較および更新操作を実行できます。
オプション | 説明 |
---|---|
-C -a |
ターゲットスキーマを更新します(足りないスキーマを追加します)。 |
-C -c ファイル名 |
指定したファイルにターゲットスキーマを出力します。 |
-C -n |
スキーマの事前チェックを無効にします。 |
ソースハンドラオプション(-S)で、インポートするデータのソースを決定します。コマンドラインには、次のうちの1つだけを指定できます。
オプション | 説明 |
---|---|
-SLDIF |
LDIFファイルをソースとして指定します。 サポートされているLDIFオプションのリストについては、LDIFソースハンドラのオプションを参照してください。 |
-SLDAP |
LDAPサーバをソースとして指定します。 サポートされているLDAPオプションのリストについては、LDAPソースハンドラのオプションを参照してください。 |
-SDELIM |
コンマ区切りのデータファイルをソースとして指定します。 サポートされているDELIMオプションのリストについては、DELIMソースハンドラのオプションを参照してください。 |
-SSCH |
スキーマファイルをソースとして指定します。 サポートされているSCHオプションのリストについては、SCHソースハンドラのオプションを参照してください。 |
-SLOAD |
DirLoadテンプレートをソースとして指定します。 サポートされているLOADオプションのリストについては、LOADソースハンドラのオプションを参照してください。 |
ターゲットハンドラオプション(-D)で、エクスポートするデータの書き込み先を決定します。コマンドラインには、次のうちの1つだけを指定できます。
オプション | 説明 |
---|---|
-DLDIF |
LDIFファイルを書き込み先として指定します。 サポートされているオプションのリストについては、LDIFターゲットハンドラのオプションを参照してください。 |
-DLDAP |
LDAPサーバを書き込み先として指定します。 サポートされているオプションのリストについては、LDAPターゲットハンドラのオプションを参照してください。 |
-DDELIM |
コンマ区切りのデータファイルを書き込み先として指定します。 サポートされているオプションのリストについては、DELIMターゲットハンドラのオプションを参照してください。 |
LDIFソースハンドラは、LDIFファイルからデータを読み込んで、それをNovellインポート/エクスポート変換エンジンに送ります。
LDIFターゲットハンドラは、Novellインポート/エクスポート変換エンジンからデータを受け取り、そのデータをLDIFファイルに書き込みます。
LDAPソースハンドラは、検索要求を該当するLDAPサーバに送信することによってそのサーバからデータを読み込みます。LDAPソースハンドラは、検索操作の結果として受け取った検索エントリをNovellインポート/エクスポート変換エンジンに送ります。
オプション | 説明 |
---|---|
-s サーバ名 |
ハンドラが検索要求を送るときの送信先LDAPサーバのDNS名またはIPアドレスを指定します。デフォルトはローカルホストです。 |
-p ポート |
サーバ名で指定したLDAPサーバのポート番号を整数で指定します。デフォルトは389です。セキュリティ保護された処理の場合、デフォルトポートは636です。 ICEがSSLポート(デフォルトは636)でLDAPサーバと証明書なしで通信している場合は、サーバの証明書を信頼できるものとして許可します。このオプションは、サーバおよびクライアント間で暗号化された通信が行われ、サーバの証明書を必要としないような制御された環境でのみ使用してください。 |
-d DN |
サーバによって指定されたバインド操作に使用するエントリの識別名を指定します。 |
-w パスワード |
DNで指定したエントリのパスワード属性を指定します。 |
-W |
DNで指定したエントリのパスワードの入力を求めるプロンプトが表示されます。 このオプションは、Linux、Solaris、AIX、およびHP-UXにのみ適用されます。 |
-F フィルタ |
RFC 1558準拠の検索フィルタを指定します。このオプションを指定しなかった場合、デフォルトの検索フィルタである「objectclass=*」が使用されます。 |
-n |
実際の検索は行わず、検索の条件などを表示して確認する場合に指定します。 |
-a 属性リスト |
検索対象の属性をコンマ区切りのリスト形式で指定します。属性名を指定するか、次の3つのうちいずれかを指定します。
このオプションを指定しなかった場合、属性リストは空のリスト(デフォルト)になります。 |
-o 属性リスト |
LDAPサーバから受け取った検索結果をインポート/エクスポート変換エンジンに送信する前に、その検索結果から削除する属性をコンマ区切りのリスト形式で指定します。このオプションは、-aオプションでワイルドカードを指定してクラスの属性を初めにすべて検索してから、その検索結果をインポート/エクスポート変換エンジンに渡す前に一部の属性を削除したい場合に便利です。 たとえば、「-a* -o telephoneNumber」と指定すると、ユーザレベルの属性がすべて検索された後で、その検索結果からtelephoneNumber属性が削除されます。 |
-R |
参照結果を自動的に適用しない場合に指定します。デフォルトでは、-dおよび-wオプションで指定された名前とパスワードによる参照結果が自動的に適用されます。 |
-e 値 |
LDAPクライアントSDKで有効にするデバッグフラグを指定します。 詳細については、「LDAP SDKデバッギングフラグを使用する」を参照してください。 |
-b ベースDN |
検索要求のベース識別名を指定します。このオプションを指定しなかった場合、デフォルトのベースDNである""(空の文字列)が使用されます。 |
-c 検索スコープ |
検索要求のスコープを指定します。有効な値は次のとおりです。
このオプションを指定しなかった場合は、検索スコープのデフォルトの「Sub」が使用されます。 |
-r 別名の逆参照 |
検索時に別名を逆参照する方法を指定します。指定できる値は次のとおりです。
このオプションを指定しなかった場合は、別名逆参照の方式のデフォルトである「Never」が使用されます。 |
-l 制限時間 |
検索の制限時間を秒単位で指定します。 |
-z サイズ制限 |
検索結果として取得できるエントリの最大数を指定します。 |
-V バージョン |
接続に使用するLDAPプロトコルのバージョンを指定します。2または3を指定します。このオプションを省略した場合のデフォルト値は3です。 |
-v |
ハンドラの冗長モードを有効にします。 |
-L ファイル名 |
SSL認証に使用するサーバキーが格納されているDER形式のファイルを指定します。 |
-A |
属性名だけを取得したいときに指定します。このオプションを指定した場合、出力される検索結果に属性値は含まれません。 |
-t |
エラーが発生してもLDAPハンドラの処理を続行したい場合に指定します。 |
-m |
LDAP操作は「変更」になります。 |
-x |
LDAP操作は「削除」になります。 |
-k |
SSLを使用して接続します。 |
-M |
Manage DSA ITコントロールを有効にします。 |
-MM |
Manage DSA ITコントロールを有効にし、重要度を高く設定します。 |
LDAPターゲットハンドラは、Novellインポート/エクスポート変換エンジンからデータを受け取り、それをLDAPサーバに送信します。データは更新操作の形で送信され、送信先サーバによって実行されます。
LDIFファイル内のハッシュ化パスワードについては、「LDIFファイル内でのハッシュ化パスワードの表記」を参照してください。
オプション | 説明 |
---|---|
-s サーバ名 |
ハンドラが検索要求を送るときの送信先LDAPサーバのDNS名またはIPアドレスを指定します。デフォルトはローカルホストです。 |
-p ポート |
サーバ名で指定したLDAPサーバのポート番号を整数で指定します。デフォルトは389です。セキュリティ保護された処理の場合、デフォルトポートは636です。 |
-d DN |
サーバによって指定されたバインド操作に使用するエントリの識別名を指定します。 |
-w パスワード |
DNで指定したエントリのパスワード属性を指定します。 |
-W |
DNで指定したエントリのパスワードの入力を求めるプロンプトが表示されます。 このオプションは、Linux、Solaris、AIX、およびHP-UXにのみ適用されます。 |
-B |
サーバへの更新操作の転送に非同期LBURP(LDAP Bulk Update/Replication Protocol)要求を使用しない場合は、このオプションを指定します。標準の同期LDAP更新操作要求を使用します。 詳細については、「LBURP(LDAP Bulk Update/Replication Protocol)」を参照してください。 |
-F |
前方参照を作成可能にしたい場合は、このオプションを指定します。作成するエントリのペアレントが存在しない場合、エントリが正常に作成できるよう、そのエントリのペアレントに対応するプレースフォルダが作成されます。このプレースフォルダを前方参照といいます。以後の処理でペアレントが作成されると、前方参照は通常のエントリに変更されます。 |
-l |
パスワード値の格納にNMASTM(Novell Modular Authentication Service)の簡易パスワード方式を使用する場合は、このオプションを指定します。簡易パスワード方式の場合、パスワードはディレクトリ内の安全な場所で保持されますが、キーのペアはサーバ間での認証で実際に必要になるまで生成されません。これにより、パスワード情報を持つオブジェクトのロードにかかる時間を短縮できます。 |
-e 値 |
LDAPクライアントSDKで有効にするデバッグフラグを指定します。 詳細については、「LDAP SDKデバッギングフラグを使用する」を参照してください。 |
-V バージョン |
接続に使用するLDAPプロトコルのバージョンを指定します。2または3を指定します。このオプションを省略した場合のデフォルト値は3です。 |
-L ファイル名 |
SSL認証に使用するサーバキーが格納されているDER形式のファイルを指定します。 |
-k |
SSLを使用して接続します。 |
-M |
Manage DSA ITコントロールを有効にします。 |
-MM |
Manage DSA ITコントロールを有効にし、重要度を高く設定します。 |
-P |
同時LBURP処理を有効にします。このオプションは、LDIF内のすべての処理を追加する場合にだけ有効にします。-Fオプションを使用する場合は、-Pはデフォルトで有効になります。 |
-Z |
非同期要求の数を指定します。サーバから返される結果を待たずに、ICEクライアントがLDAPサーバに非同期に送信できるエントリの数を示します。 |
DELIMソースハンドラはコンマ区切りのデータファイルからデータを読み込み、それをターゲットハンドラに送信します。
オプション | 説明 |
---|---|
-f ファイル名 |
DELIMソースハンドラによって読み込まれるコンマ区切りのレコードを含んだファイルの名前を指定します。これらのDELIMレコードはターゲットハンドラに送信されます。 |
-F 値 |
-fで指定したファイルに対する属性のデータオーダを含んだファイル名を指定します。このオプションが指定されていない場合、-tを使用してこの情報を直接入力します。 詳細については、コンマ区切りのインポートを実行するを参照してください。 |
-t 値 |
カンマ区切りの属性リストです。このリストによって、-fで指定されたファイルに対する属性のデータオーダを指定します。このオプションまたは-Fオプションのいずれかを指定する必要があります。 詳細については、コンマ区切りのインポートを実行するを参照してください。 |
-c |
エラーが発生してもDELIMソースハンドラの処理を続行したい場合に指定します。ここでいうエラーとは、コンマ区切りデータファイルの解析エラーや、ターゲットハンドラからのエラー返信などです。このオプションが設定されている場合にエラーが発生すると、DELIMソースハンドラは、エラーを報告したうえで、コンマ区切りデータファイル内の次のレコードを検出し、処理を続行します。 |
-n 値 |
新しいオブジェクトにLDAPネーミング属性を指定します。この属性は、-Fまたは-tを使用して指定する属性データに含まれている必要があります。 |
-l 値 |
RDNの追加先のパスを指定します(o=myCompanyなど)。DNを渡す場合は、この値は必要ありません。 |
-o 値 |
オブジェクトクラスのコンマ区切りのリスト(入力ファイルに含まれていない場合)、または補助クラスなどその他のオブジェクトクラスを指定します。デフォルト値は「inetorgperson」です。 |
-i 値 |
スキップする列のコンマ区切りのリストです。この値には、スキップする列の数を整数で指定します。たとえば3列目と5列目をスキップする場合は、「i3,5」と指定します。 |
-d 値 |
区切り記号を指定します。デフォルトの区切り記号はコンマ(,)です。 次に示すのは、特別な場合の区切り記号です。 [q] = 引用符(二重引用符「"」1つによる区切り) たとえば、タブを区切り記号として指定するには -d[t] を渡します。 |
-q 値 |
セカンダリ区切り記号を指定します。デフォルトのセカンダリ区切り記号は一重引用符(' ')です。 次に示すのは、特別な場合の区切り記号です。 [q] = 引用符(二重引用符「"」1つによる区切り) たとえば、タブを区切り記号として指定するには -d[t] を渡します。 |
-v |
冗長モードで実行します。 |
DELIMターゲットハンドラはソースハンドラからデータを受け取り、そのデータをコンマ区切りのデータファイルに書き込みます。
SCHハンドラは、古いNDSやeDirectoryのスキーマファイル(拡張子*.schがついたファイル)からデータを読み込んで、それをNovellインポート/エクスポート変換エンジンに送ります。このハンドラを使用すれば、拡張子*.schがついたファイルを入力として、スキーマ関連の操作をLDAPサーバに実装できます。
SCHハンドラは、ソースハンドラだけのハンドラです。LDAPサーバに*.schファイルをインポートするときには、スキーマハンドラを使用できます。ただし、*.schファイルはエクスポートできません。
SCHハンドラでサポートされているオプションを次の表に示します。
オプション | 説明 |
---|---|
-f ファイル名 |
*.schファイルの完全なパス名を指定します。 |
-c |
(オプション)エラーが発生してもSCHハンドラの処理を続行したい場合に指定します。 |
-v |
(オプション)冗長モードで実行します。 |
DirLoadハンドラはテンプレートのコマンドからeDirectory情報を生成します。このテンプレートファイルは-f引数で指定されます。また、属性仕様の情報とプログラム制御の情報が保持されています。
次の属性仕様ファイルのサンプルを参照してください。
givenname:$R(first)
initial:$R(initial)
sn:$R(last)
dn:cn=$A(givenname,%.1s)$A(initial,%.1s)$A(sn),ou=dev,ou=ds,o=novell
objectclass:inetorgperson
telephonenumber:1-800-$N(1-999,%03d)-$C(%04d)
title:$R(titles)
locality:Our location
属性仕様ファイルの形式はLDIFファイルに似ていますが、属性仕様ファイルでは強力な構成体を使用して、詳細な情報と属性間の関係を指定することができます。
固有の数値 指定されたオブジェクトに対する固有の数値を属性値に挿入します。
構文:$C[(<形式)]
オプションの<形式には、値に適用される出力形式を指定します。形式を指定しない場合、カッコは2種類とも必要ありません。
$C
$C(%d)
$C(%04d)
$Cだけを指定すると、現在の数値を属性値に挿入します。「%d」は、何も指定されなかった場合にプログラムが使用するデフォルト形式であるため、$Cは$C(%d)と同じです。数値は各オブジェクトの後で増加するため、属性仕様で$Cを複数回使用しても、単一オブジェクト内では数値は変わりません。開始値は、!COUNTER=値の構文を使用して、設定ファイル内で指定できます。
任意の数値 次の構文を使用して、属性値に任意の数値を挿入します。
$N(<下限-<上限[,<形式])]
<下限と<上限では、下限値と上限値を指定します。任意の数字が生成される際に各々の値を使用します。オプションの<形式には、値に適用される出力形式を指定します。
$N(1-999)
$N(1-999,%d)
$N(1-999,%03d)
リストの任意の文字列 次の構文を使用して、指定したリストから任意に選択された文字列を属性値に挿入します。
$R(<ファイル名[,<形式])]
<ファイル名には、値を格納しているファイルを指定します。ファイルへのパスは絶対パスまたは相対パスのどちらでも指定できます。リストを格納しているファイルには、このパッケージに含まれているものがあります。値は改行文字で区切る必要があります。
オプションの<形式には、値に適用される出力形式を指定します。
$A(givenname)
$A(givenname,%s)
$A(givenname,%.1s)
前方参照は使用できませんので注意してください。属性値を使用する場合、その属性は全て、属性仕様ファイル内で現在の属性より前にある必要があります。次の例では、dnの一部としてのcnがgivenname、initial、snから構成されています。したがって、givenname、initial、snの属性は属性仕様ファイル内ではdnの前にある必要があります。
givenname:$R(first)
initial:$R(initial)
sn:$R(last) dn:o=novell,ou=dev,ou=ds,cn=$A(givenname,%.1s)$A(initial,%.1s)$A(sn)
dnはLDIFファイル内では次のような特別な処理を受けます。dnがどこに設定されているかに関係なく、dnは最初に(LDIF構文どおりに)LDIFファイルに書き込まれます。その他のすべての属性は、表示された順に書き込まれます。
制御設定 オブジェクト作成の際の制御を追加します。すべての制御には、属性設定と区別するために、行頭の文字として感嘆符(!)が付いています。制御はファイル内の任意の場所に置くことができます。
!COUNTER=300
!OBJECTCOUNT=2
!CYCLE=title
!UNICYCLE=first,last
!CYCLE=ou,BLOCK=10
固有のカウンタ値の開始値を提供します。カウンタ値は、$C構文内の任意の属性に挿入されます。
OBJECTCOUNTは、テンプレートから作成されるオブジェクトの数を決定します。
CYCLEは、ファイル($R構文)から任意の値を抜き出す方法を変更するときに使用できます。この設定には異なる3つの値があります。
!CYCLE=title
「title」というリスト名が使用される場合は常に、値が任意で選択されるのではなく、リストの順に次の値が抜き出されます。順番に値がすべて使用された場合には、再度リストの最初から開始します。
!CYCLE=ou,BLOCK=10
リスト「ou」のそれぞれの値が10回ずつ使用され、その後次の値に移動します。
CYCLE制御設定のうちで最も興味深い変数は、UNICYCLEです。UNICYCLEは、一連のソースを左から右の順序で繰り返すように指定します。このため、必要な場合に固有の値が必ず作成されます。UNICYCLE制御を使用する場合、OBJECTCOUNT制御は、オブジェクト数を、リストから作成できる固有のオブジェクトの最大数に制限するためだけに使用します。つまり、UNICYCLEに含まれるリストが15000オブジェクトを作成できる場合、OBJECTCOUNTはその数を減らすことはできますが、増やすことはできません。
たとえば、givennameファイルが2つの値(「Doug」および「Karl」)を格納しており、かつsnファイルが3つの値(「Hoffman」、「Schultz」、および「Grieger」)を格納している場合、制御設定「!UNICYCLE=givenname,sn」およびcnの属性定義は次のようになります。$R(givenname) $R(sn)。ここでは次のcnsが作成されます。
cn:Doug Hoffmancn
cn:Karl Hoffmancn
cn:Doug Schultzcn
cn:Karl Schultzcn
cn:Doug Griegercn
cn:Karl Grieger
ここでは、Novellインポート/エクスポート変換ユーティリティのコマンドラインユーティリティで次の操作を行う場合のコマンドの例を紹介します。
LDIFのインポートを実行するには、LDIFソースハンドラとLDAPターゲットハンドラを組み合わせて次の例のように指定します。
ice -S LDIF -f entries.ldif -D LDAP -s server1.acme.com -p 389 -d cn=admin,c=us -w secret
コマンドラインでこのように指定すると、LDIFデータがentries.ldifから読み込まれ、ポート389にあるLDAPサーバserver1.acme.comに送られます。送信時の識別子は「cn=admin,c=us」、パスワードは「secret」になります。
LDIFのエクスポートを実行するには、LDAPソースハンドラとLDIFターゲットハンドラを組み合わせます。例:
ice -S LDAP -s server1.acme.com -p 389 -d cn=admin,c=us -w password -F objectClass=* -c sub -D LDIF -f server1.ldif
コマンドラインでこのように指定すると、識別子「cn=admin,c=us」およびパスワード「password」を使用してサブツリー検索が実行され、ポート389にあるLDAPサーバserver1.acme.com内のオブジェクトがすべて検出されます。結果のデータはLDIF形式でserver1.ldifに出力されます。
コンマ区切りのインポートを実行するには、コマンドを次の例のように指定します。
ice -S DELIM -f/tmp/in.csv -F /tmp/order.csv -ncn -lo=acme -D LDAP -s server1.acme.com -p389 -d cn=admin,c=us -w secret
コマンドをこのように指定すると、/tmp/in.csvファイルからコンマ区切りの値が読み込まれ、/tmp/order.csvファイルから属性の順序が読み込まれます。IN.CSV内の各属性エントリに対して、ORDER.CSVで属性タイプが指定されます。たとえば、IN.CSVに次の値があるとします。
pat,pat,engineer,john
この場合、order.csvに含まれる値は次のようになります。
dn,cn,title,sn
order.csvの情報は、-tオプションを使用して直接指定することもできます。
次にデータは、識別子「cn=admin,c=us」、およびパスワード「secret」を使用して、ポート389でLDAPサーバserver1.acme.comに送られます。
この例では、-nオプションを使用して、cnがオブジェクトの新しいDNになるように指定し、-lオプションを使用して、このオブジェクトが組織コンテナacmeに追加されるようにします。
コンマ区切りのエクスポートを実行するには、コマンドを次の例のように指定します。
ice -S LDAP -s server1.acme.com -p 389 -d cn=admin,c=us -w password -l objectClass=* -c sub -D DELIM -f /tmp/server1.csv -F order.csv
コマンドラインでこのように指定すると、識別子「cn=admin,c=us」およびパスワード「password」を使用してサブツリー検索が実行され、ポート389にあるLDAPサーバserver1.acme.com内のオブジェクトがすべて検出されます。結果のデータはコンマ区切りの形式で/tmp/server1.csvファイルに出力されます。
LDAPサーバ間でデータを移行するには、LDAPソースハンドラとLDAPターゲットハンドラを組み合わせます。例:
ice -S LDAP -s server1.acme.com -p 389 -d cn=admin,c=us -w password -F objectClass=* -c sub -D LDAP -s server2.acme.com -p 389 -d cn=admin,c=us -w secret
コマンドラインでこのように指定すると、識別子「cn=admin,c=us」およびパスワード「password」を使用してサブツリー検索が実行され、ポート389にあるLDAPサーバserver1.acme.com内のオブジェクトがすべて検出されます。結果のデータは、識別子「cn=admin,c=us」およびパスワード「secret」で、ポート389にあるLDAPサーバserver2.acme.comに送られます。
スキーマファイルのインポートを実行するには、コマンドを次の例のように指定します。
ice -S SCH -f $HOME/myfile.sch -D LDAP -s myserver -d cn=admin,o=novell -w passwd
コマンドラインでこのように指定すると、スキーマデータがmyfile.schから読み込まれ、LDAPサーバ「myserver」に送られます。送信時の識別子は「cn=admin,o=novell」、パスワードは「passwd」になります。
LOADファイルのインポートを実行するには、コマンドを次の例のように指定します。
ice -S LOAD -f attrs -D LDIF -f new.ldf
次に、属性ファイル「attrs」の内容の例を示します。
#=====================================================================
# DirLoad 1.00
#=====================================================================
!COUNTER=300
!OBJECTCOUNT=2
#-----------------------------------------------------------------------
# ATTRIBUTE TEMPLATE
# --------------------------------------------------------------------
objectclass:inetorgperson
givenname:$R(first)
initials:$R(initial)
sn:$R(last)
dn:cn=$A(givenname,%.1s)$A(initial,%.1s)$A(sn),ou=$R(ou),ou=dev,o=novell,
telephonenumber:1-800-$N(1-999,%03d)-$C(%04d)
title:$R(titles)
コマンドプロンプトから前のコマンドを実行すると、次のLDIFファイルが作成されます。
version: 1
dn:cn=JohnBBill,ou=ds,ou=dev,o=novell
changetype:add
objectclass:inetorgperson
givenname:John
initials:B
sn:Bill
telephonenumber: 1-800-290-0300
title:Amigo
dn:cn=BobJAmy,ou=ds,ou=dev,o=novell
changetype:add
objectclass:inetorgperson
givenname:Bob
initials:J
sn:Amy
telephonenumber: 1-800-486-0301
title:Pomo
コマンドプロンプトから次のコマンドを実行すると、データがLDAPハンドラを経由してLDAPサーバに送られます。
ice -S LOAD -f attrs -D LDAP -s www.novell.com -d cn=admin,o=novell -w admin
次のコマンドラインを使用する際に前のテンプレートファイルを使用すると、前のコマンドで追加したすべてのレコードが削除されます。
ice -S LOAD -f attrs -r -D LDAP -s www.novell.com -d cn=admin,o=novell -w admin
-mを使用して変更する場合は、次の例のようにレコードを変更します。
# ======================================================================
# DirLoad 1.00
# ====================================================================== !COUNTER=300
!OBJECTCOUNT=2
#----------------------------------------------------------------------
# ATTRIBUTE TEMPLATE
# ----------------------------------------------------------------------
dn:cn=$R(first),%.1s)($R(initial),%.1s)$R(last),ou=$R(ou),ou=dev,o=novell
delete:givenname
add:givenname
givenname:test1
replace:givenname
givenname:test2
givenname:test3
「attrs」ファイルが上のデータを格納しているときに次のコマンドラインを使用した場合の例を示します。
ice -S LOAD -f attrs -m -D LDIF -f new.ldf
LDIFデータは次のような結果になります。
version: 1
dn:cn=BillTSmith,ou=ds,ou=dev,o=novell
changetype:modify
delete:givenname
-
add:givenname
givenname:test1
-
replace:givenname
givenname:test2
givenname:test3
-
dn:cn=JohnAWilliams,ou=ldap,ou=dev,o=novell
changetype:modify
delete:givenname
-
add:givenname
givenname:test1
-
replace:givenname
givenname:test2
givenname:test3
-
Novellインポート/エクスポート変換エンジンは、ソースハンドラから受け取ったレコードをターゲットハンドラに送る前に、レコードに対して変換処理を行います。この変換処理の内容は一連のルールを使用して指定できます。これらのルールはXMLで記述します(XMLファイルとして作成される場合と、XML用ディレクトリ内に格納されたXMLデータとして作成される場合があります)。このルールにより、LDAPディレクトリ間でのエントリのインポート時に、次の問題が解決されます。
次の3種類の変換ルールがあります。
ルール | 説明 |
---|---|
配置 |
エントリの位置を変更します。 たとえば、あるユーザグループをいったん「l=San Francisco, c=US」というコンテナにインポートし、インポートが終わった後で「l=Los Angeles, c=US」というコンテナに移したい場合などに、配置ルールを利用できます。 これらのルールの形式については、配置ルールを参照してください。 |
作成 |
インポート時にエントリを正しく作成するために必要な情報が欠落している場合にそれを補います。 たとえば、LDIFデータのエクスポート元サーバのスキーマではユーザエントリに必要とされる属性がcn(commonName)属性だけであるのに対し、LDIFデータのインポート先サーバのスキーマではcn属性の他にsn(surname)属性も必要とされる場合が考えられます。このような場合は、作成ルールを使用することにより、インポート/エクスポート変換エンジンが各エントリを処理するときに、そのエントリにデフォルトのsn値(""など)が設定されるようにできます。これにより、各エントリはインポート先サーバに送信されるときには必要な属性であるsn属性を持つことになり、エントリの正常な追加が保証されます。 これらのルールの形式については、作成ルールを参照してください。 |
スキーママッピング |
サーバ間でデータを転送する場合(直接転送するかLDIFを使用するかに関係なく)で、転送元サーバのスキーマと転送先サーバのスキーマが異なっている場合、次のようにスキーママッピングを使用できます。
これらのルールの形式については、スキーママッピングルールを参照してください。 |
これらの変換ルールは、Novell eDirectoryインポート/エクスポートウィザードとコマンドラインインタフェースのどちらでも利用できます。XMLルールの詳細については、XMLルールを使用するを参照してください。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
実行するタスクを選択します。
[詳細設定]の下の次のオプションから選択します。
オプション | 説明 |
---|---|
スキーマルール |
インポート/エクスポート変換エンジンが使用するXMLスキーママッピングルールが格納されている場所を指定します。 |
配置ルール |
インポート/エクスポート変換エンジンが使用するXML配置ルールが格納されている場所を指定します。 |
作成ルール |
インポート/エクスポート変換エンジンが使用するXML作成ルールが格納されている場所を指定します。 |
[次へ]をクリックします。
表示される指示に従って、選択したタスクを完了します。
コマンドラインバージョンで変換ルールを使用するには、Novellインポート/エクスポート変換ユーティリティの実行ファイルを起動するときに、使用したいルールに対応する一般オプション(-p、-c、または-s)を指定します。詳細については、「一般オプション」を参照してください。
オプション | 説明 |
---|---|
-p URL |
インポート/エクスポート変換エンジンが使用するXML配置ルールが格納されている場所です。 |
-c URL |
インポート/エクスポート変換エンジンが使用するXML作成ルールが格納されている場所です。 |
-s URL |
インポート/エクスポート変換エンジンが使用するXMLスキーママッピングルールが格納されている場所です。 |
すべての3つのオプションで、URLを次のいずれかに指定します。
file://[パス/]ファイル名
ファイルは、ローカルファイルシステムに存在する必要があります。
Novellインポート/エクスポート変換ルールで使用されるXML形式は、Novell Nsure Identity Managerの場合と同じです。Novell Nsure Identity Managerの詳細については、『DirXML 管理ガイド』を参照してください。
スキーママッピングルールの最上位エレメントは、<attr-name-map>です。インポートスキーマとエクスポートスキーマの相互関係は、マッピングルールによって決まります。マッピングルールは、指定されたインポートクラスの定義や属性を、対応するエクスポートスキーマの定義に関連付けます。
マッピングルールは、属性名またはクラス名に対応させて設定します。
スキーママッピングルールの正式なDTD定義を次に示します。
<!ELEMENT attr-name-map (attr-name | class-name)*>
<!ELEMENT attr-name (nds-name, app-name)>
<!ATTLIST attr-name
class-name CDATA #IMPLIED>
<!ELEMENT class-name (nds-name, app-name)>
<!ELEMENT nds-name (#PCDATA)>
<!ELEMENT app-name (#PCDATA)>
複数のマッピングエレメントをファイルに定義できます。各エレメントは、ファイルに定義されている順番で処理されます。1つのクラスまたは属性を複数回マッピングした場合は、最初のマッピングが優先されます。
スキーママッピングルールの作成例を次に示します。
スキーマルール1: 次のルールでは、inetOrgPersonクラスについて、ソースのsurname属性をターゲットのsn属性にマッピングします。
<attr-name-map>
<attr-name class-name="inetOrgPperson">
<nds-name>surname</nds-name>
<app-name>sn</app-name>
</attr-name>
</attr-name-map>
スキーマルール2: 次のルールでは、ソースのinetOrgPersonクラスの定義をターゲットのUserクラスの定義にマッピングします。
<attr-name-map>
<class-name>
<nds-name>inetOrgPerson</nds-name>
<app-name>User</app-name>
</class-name>
</attr-name-map>
スキーマルール3: 次の例では、2種類のルールを定義します。1つ目のルールでは、Surname属性を使用するすべてのクラスについて、ソースのSurname属性をターゲットのsn属性にマッピングします。2つ目のルールでは、ソースのinetOrgPersonクラスの定義をターゲットのUserクラスの定義にマッピングします。
<attr-name-map>
<attr-name>
<nds-name>surname</nds-name>
<app-name>sn</app-name>
</attr-name>
<class-name>
<nds-name>inetOrgPerson</nds-name>
<app-name>User</app-name>
</class-name>
</attr-name-map>
コマンド例: スキーマルールがsr1.xmlファイルに保存されている場合、次のコマンドを指定することにより、1entry.ldfファイルの処理中にそのルールを使用すること、および結果をターゲットファイルoutt1.ldfに送ることがインポート/エクスポート変換ユーティリティに指示されます。
ice -o -sfile://sr1.xml -SLDIF -f1entry.ldf -c -DLDIF
-foutt1.ldf
作成ルールによって、宛先ディレクトリ内に新規エントリを作成する場合の条件が指定されます。次のエレメントがサポートされます。
必須属性 すべての必須属性について、追加レコードに値が必要であること、値がない場合には追加が失敗することを指定します。作成ルールでは、必須属性のデフォルト値を指定できます。レコードに属性値がない場合、そのエントリにはデフォルト値が使用されます。レコードに属性値がある場合は、そのレコード値が使用されます。
一致属性 追加レコードに特定の属性が必要であり、特定の値に一致すること、そうでない場合には追加が失敗することを指定します。
テンプレート eDirectory内のテンプレートオブジェクトの識別名を指定します。現時点では、Novellインポート/エクスポート変換ユーティリティの作成ルールにテンプレートを指定することはできません。
作成ルールの正式なDTD定義を次に示します。
<!ELEMENT create-rules (create-rule)*>
<!ELEMENT create-rule (match-attr*,
required-attr*,
template?)>
<!ATTLIST create-rule
class-name CDATA #IMPLIED
description CDATA #IMPLIED>
<!ELEMENT match-attr (value)+ >
<!ATTLIST match-attr
attr-name CDATA #REQUIRED>
<!ELEMENT required-attr (value)*>
<!ATTLIST required-attr
attr-name CDATA #REQUIRED>
<!ELEMENT template EMPTY>
<!ATTLIST template
template-dn CDATA #REQUIRED>
複数の作成ルールをファイルに定義できます。各ルールは、ファイルに定義されている順番で処理されます。ルールに適合しないレコードがあると、そのレコードはスキップされますが、レコードのスキップによるエラーは生成されません。
作成ルールの形式例を次に示します。
作成ルール1: 次に紹介するルールでは、inetOrgPersonクラスの追加レコードに次の3つの条件が適用されます。追加レコードには、givenName属性およびSurname属性が必要です。追加レコードにはL属性が必要ですが、この属性値がない場合には、作成ルールによってデフォルト値「Provo」に設定されます。
<create-rules>
<create-rule class-name="inetOrgPerson">
<required-attr attr-name="givenName"/>
<required-attr attr-name="surname"/>
<required-attr attr-name="L">
<value>Provo</value>
</required-attr>
</create-rule>
</create-rules>
作成ルール2: 次に紹介する作成ルールでは、ベースクラスの種類に関係なく、すべての追加レコードに次の3つの条件が適用されます。
<create-rules>
<create-rule>
<required-attr attr-name="givenName"/>
<required-attr attr-name="Surname"/>
<required-attr attr-name="L">
<value>Provo</value>
</required-attr>
</create-rule>
</create-rules>
作成ルール3: 次に紹介する作成ルールでは、ベースクラスの種類に関係なく、すべての追加レコードに次の2つの条件が適用されます。
<create-rules>
<create-rule>
<match-attr attr-name="uid">
<value>cn=ratuid</value>
</match-attr>
<required-attr attr-name="L">
<value>Provo</value>
</required-attr>
</create-rule>
</create-rules>
コマンド例: 作成ルールをcrl.xmlファイルに保存し、次のコマンドを指定することにより、1entry.ldfファイルの処理中にそのルールを使用すること、および結果をターゲットファイルoutt1.ldfに送ることがインポート/エクスポート変換ユーティリティに指示されます。
ice -o -cfile://cr1.xml -SLDIF -f1entry.ldf -c -DLDIF
-foutt1.ldf
配置ルールによって、ターゲットディレクトリ内でエントリが作成される位置が決まります。配置ルールでは、次の3つの条件を使用して、エントリの配置にそのルールを適用すべきかどうかを決定します。
クラス一致: 配置ルールにmatch classエレメントが定義されている場合、レコードに定義されているobjectClassは、ルールのclass-name属性に一致する必要があります。一致しない場合、そのレコードには配置ルールが使用されません。
属性一致: 配置ルールにmatch attributeエレメントが定義されている場合、レコードでは、match attributeエレメントに定義されている各属性について属性値が必要です。一致しない場合、そのレコードには配置ルールが使用されません。
パス一致: 配置ルールにmatch pathエレメントが定義されている場合、レコードのdn部分は、match pathエレメントに定義されているプリフィックスに一致する必要があります。一致しない場合、そのレコードには配置ルールが使用されません。
ルールの最後のエレメントによって、エントリの配置場所が決まります。配置ルールでは、必要に応じて次のオプションを指定できます。
属性をコピー エントリの新しいDNで使用するネーミング属性を指定します。指定されたネーミング属性は、エントリのベースクラスのネーミング属性として有効でなければなりません。
パスサフィックスをコピー ソースDNのパスの一部をターゲットDNとして使用することを指定します。match-pathエレメントを指定した場合、古いDNのパスの一部、つまり、match-pathエレメントのプリフィックス属性に一致しない部分だけが、エントリのDNの一部として使用されます。
配置ルールの正式なDTD定義を次に示します。
<!ELEMENT placement-rules (placement-rule*)>
<!ATTLIST placement-rules
src-dn-format (%dn-format;) "slash"
dest-dn-format (%dn-format;) "slash"
src-dn-delims CDATA #IMPLIED
dest-dn-delims CDATA #IMPLIED>
<!ELEMENT placement-rule (match-class*,
match-path*,
match-attr*,
placement)>
<!ATTLIST placement-rule
description CDATA #IMPLIED>
<!ELEMENT match-class EMPTY>
<!ATTLIST match-class
class-name CDATA #REQUIRED>
<!ELEMENT match-path EMPTY>
<!ATTLIST match-path
prefix CDATA #REQUIRED>
<!ELEMENT match-attr (value)+ >
<!ATTLIST match-attr
attr-name CDATA #REQUIRED>
<!ELEMENT placement (#PCDATA |
copy-name |
copy-attr |
copy-path |
copy-path-suffix)* >
複数の配置ルールエレメントをファイルに定義できます。各ルールは、ファイルに定義されている順番で処理されます。ルールに適合しないレコードがあると、そのレコードはスキップされますが、レコードのスキップによるエラーは生成されません。
配置ルールの形式例を次に示します。scr-dn-format="ldap"属性およびdest-dn-format="ldap"属性によって、ソースDNおよびターゲットDNのネームスペースがLDAP形式として定義されます。
Novellインポート/エクスポート変換ユーティリティがサポートするソース名およびターゲット名は、LDAP形式だけです。
配置例1: 次の配置ルールでは、レコードはベースクラスinetOrgPersonを持つ必要があります。レコードがこの条件に適合する場合、そのエントリはtestコンテナの直下に置かれ、ソースDNの最上位コンポーネントがエントリのDNの一部として使用されます。
<placement-rules src-dn-format="ldap" dest-dn-format="ldap">
<placement-rule>
<match-class class-name="inetOrgPerson"></match-class>
<placement>cn=<copy-name/>,o=test</placement>
</placement-rule>
</placement-rules>
ベースクラスinetOrgPersonおよび次のDNを持つレコードがあるとします。
dn:cn=Kim Jones, ou=English, ou=Humanities, o=UofZ
このレコードは、例に示したルールに従って、ターゲットディレクトリ内で次のDNを持ちます。
dn:cn=Kim Jones, o=test
配置例2: 次の配置ルールでは、レコードはsn属性を持つ必要があります。レコードがこの条件に適合する場合、そのエントリはtestコンテナの直下に置かれ、ソースDNの最上位コンポーネントがエントリのDNの一部として使用されます。
<placement-rules src-dn-format="ldap" dest-dn-format="ldap">
<placement-rule>
<match-attr attr-name="sn"></match-attr>
<placement>cn=<copy-name/>,o=test</placement>
</placement-rule>
</placement-rules>
次のDNおよびsn属性を持つレコードがあるとします。
dn:cn=Kim Jones, ou=English, ou=Humanities, o=UofZ
sn:Jones
このレコードは、例に示したルールに従って、ターゲットディレクトリ内で次のDNを持ちます。
dn:cn=Kim Jones, o=test
配置例3: 次の配置ルールでは、レコードはsn属性を持つ必要があります。レコードがこの条件に適合する場合、そのエントリはtestコンテナの直下に置かれ、sn属性がエントリのDNの一部として使用されます。copy-attrエレメントに指定された属性は、エントリのベースクラスのネーミング属性でなければなりません。
<placement-rules src-dn-format="ldap" dest-dn-format="ldap">
<placement-rule>
<match-attr attr-name="sn"></match-attr>
<placement>cn=<copy-attr attr-name="sn"/>,o=test</placement>
</placement-rule>
</placement-rules>
次のDNおよびsn属性を持つレコードがあるとします。
dn:cn=Kim Jones, ou=English, ou=Humanities, o=UofZ
sn:Jones
このレコードは、例に示したルールに従って、ターゲットディレクトリ内で次のDNを持ちます。
dn:cn=Jones, o=test
配置例4: 次の配置ルールでは、レコードはsn属性を持つ必要があります。レコードがこの条件に適合する場合、ソースDNがターゲットDNとして使用されます。
<placement-rules src-dn-format="ldap" dest-dn-format="ldap">
<placement-rule>
<match-attr attr-name="sn"></match-attr>
<placement><copy-path/></placement>
</placement-rule>
</placement-rules>
配置例5: 次の配置ルールでは、レコードはsn属性を持つ必要があります。レコードがこの条件に適合する場合、エントリのDN全体がtestコンテナにコピーされます。
<placement-rules src-dn-format="ldap" dest-dn-format="ldap">
<placement-rule>
<match-attr attr-name="sn"></match-attr>
<placement><copy-path-suffix/>,o=test</placement>
</placement-rule>
</placement-rules>
次のDNおよびsn属性を持つレコードがあるとします。
dn:cn=Kim Jones, ou=English, ou=Humanities, o=UofZ
sn:Jones
このレコードは、例に示したルールに従って、ターゲットディレクトリ内で次のDNを持ちます。
dn:cn=Kim Jones, ou=English, ou=Humanities, o=UofZ, o=test
配置例6: 次の配置ルールでは、レコードはsn属性を持つ必要があります。レコードがこの条件に適合する場合、エントリのDN全体がneworgコンテナにコピーされます。
<placement-rules>
<placement-rule>
<match-path prefix="o=engineering"/>
<placement><copy-path-suffix/>o=neworg</placement>
</placement-rule>
</placement-rules>
例:
dn:cn=bob,o=engineering
これは次のようになります。
dn:cn=bob,o=neworg
コマンド例: 配置ルールがpr1.xmlファイルに保存されている場合、次のコマンドを指定することにより、1entry.ldfファイルの処理中にそのルールを使用すること、および結果をターゲットファイルfoutt1.ldfに送ることがインポート/エクスポート変換ユーティリティに指示されます。
ice -o -pfile://pr1.xml -SLDIF -f1entry.ldf -c -DLDIF
-foutt1.ldf
Novellインポート/エクスポート変換ユーティリティでは、LDAPサーバへの非同期要求の送信に、LBURPを使用します。これにより、要求は常にプロトコルで指定された順序で処理されます。複数プロセッサ間の相互関係やオペレーティングシステムのスケジューラの設定によって処理順序が変わることはありません。
LBURPにより、Novellインポート/エクスポート変換ユーティリティは、複数の更新操作を1つの要求として送信したり、これらすべての更新操作に対する応答を1つのレスポンスとして受け取ることができます。これにより、プロトコルのネットワーク処理効率が向上します。
LBURPは次のように機能します。
これらの要求は非同期で送信することもできます。要求ごとに通し番号が付けられ、同じクライアントから同じ接続を介して送信された個々の要求の順序はこの通し番号によって特定されます。各要求には、少なくとも1つのLDAP更新操作が設定されます。
LBURPプロトコルにより、Novellインポート/エクスポート変換機能は、サーバにデータを転送するときに送信元と送信先の間のネットワーク接続の限界まで転送速度を上げることができます。ネットワーク接続が十分に高速であれば、Novellインポート/エクスポート変換機能から要求が送られてくるのを待つ必要がないため、サーバはすべての処理時間を更新操作の処理だけに費やすことができます。
更新操作の処理効率をさらに上げるため、eDirectoryのLBURPプロセッサは、データベースへの更新操作をグループに分けて行います。LBURPの採用により、従来の同期処理の場合と比べて、LDIFのインポート処理の効率は大幅に改善されています。
LBURPはデフォルトで有効になっていますが、LDIFのインポート中に無効にすることもできます。
LDIFのインポート中にLBURPの有効/無効を切り替えるには、次を実行します。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[ディスク上のファイルからデータをインポート]>[次へ]の順にクリックします。
[ファイルタイプ]ドロップダウンリストからLDIFを選択し、インポートするデータが格納されているLDIFファイルの名前を指定します。
[次へ]をクリックします。
データをインポートするLDAPサーバとログインのタイプ(匿名ログインまたは認証ログイン)を指定します。
[詳細設定]の下の[LBURPを使用]を選択します。
[次へ]をクリックし、表示される指示に従ってLDIFインポートウィザードでの残りの作業を完了します。
重要: LBURPは比較的新しいプロトコルであるため、バージョン8.5よりも前のeDirectoryサーバおよびeDirectory以外のサーバの大部分は、LBURPをサポートしていません。Novell eDirectoryインポート/エクスポートウィザードを使用してLBURPをサポートしていないサーバにLDIFファイルをインポートする場合は、LDIFのインポートが正しく行われるよう、LBURPオプションを無効にします。
コマンドラインオプションを使用して、LDIFのインポート中にLBURPの有効/無効を切り替えることができます。詳細については、「」を参照してください。
LDAPディレクトリ間でのスキーマの移行に関する詳細については、Novell Developer PortalのNetWare Application Notesを参照してください。
1つのLDIFファイルに数千または数百万のレコードがある場合は、次のことを検討してください。
実行が可能な場合は、LDIFファイルで示されているすべてのエントリを含む、読み書き可能レプリカを持つサーバをLDIFのインポート先に選択します。これによりネットワーク効率を大幅に高めることができます。
更新時には、インポート先サーバから他のeDirectoryサーバへのチェーン接続は行わないでください。これにより、パフォーマンスはかなり低下します。ただし、一部の更新対象エントリがLDAPを実行していないサーバ上だけに存在する場合には、LDIFファイルをインポートするためにチェーン接続が必要になることもあります。
レプリカとパーティション管理の詳細については、パーティションおよびレプリカの管理を参照してください。
Novellインポート/エクスポート変換機能では、ネットワークとeDirectoryサーバの処理をできるだけ効率化するために、ウィザードとサーバの間でのデータ転送にLBURPを使用します。LDIFのインポート時にLBURPを使用することにより、LDIFのインポートにかかる時間が大幅に短縮されます。
LBURPの詳細については、LBURP(LDAP Bulk Update/Replication Protocol)を参照してください。
eDirectoryで使用できるデータベースキャッシュの容量は、LDIFインポートの処理速度に大きく影響します。特に、サーバ上のエントリの総数が多いほど影響は大きくなります。LDIFのインポートでは、インポート実行中にはできるだけ多くのメモリをeDirectoryに割り当てると効率的です。インポートが完了してサーバの負荷が通常レベルに戻ったら、メモリの設定を元にもどすことができます。この方法は、eDirectoryサーバで実行する処理がインポートだけの場合に特に効果があります。
eDirectoryデータベースキャッシュの設定の詳細については、Novell eDirectoryのメンテナンスを参照してください。
Novell eDirectoryでは、パブリックキーとプライベートキーのペアを使用して認証を行います。これらのキーの生成は、CPUに大きな負荷のかかる処理です。eDirectory 8.7.3以降では、パスワードの格納に、NMASTM(Novell Modular Authentication Service)の簡易パスワード機能を使用できます。簡易パスワードを使用する場合、パスワードはディレクトリ内の安全な場所で保持されますが、キーのペアはサーバ間での認証で実際に必要になるまで生成されません。これにより、パスワード情報を持つオブジェクトをロードする速度を大幅にアップできます。
LDIFのインポート時に簡易パスワードを有効にするには、次を実行します。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。
[ディスク上のファイルからデータをインポート]>[次へ]の順にクリックします。
[ファイルタイプ]ドロップダウンリストからLDIFを選択し、インポートするデータが格納されているLDIFファイルの名前を入力します。
[次へ]をクリックします。
データをインポートするLDAPサーバとログインのタイプ(匿名ログインまたは認証ログイン)を指定します。
[詳細設定]の下の[NMAS通常パスワード/ハッシュ化パスワードを格納する]を選択します。
[次へ]をクリックし、表示される指示に従って、LDIFインポートウィザードでの残りの作業を完了します。
パスワードの格納に簡易パスワードを使用する場合は、eDirectoryツリーへのログインおよび従来型のファイルサービスや印刷サービスへのアクセスには、NMAS対応のNovell ClientTMを使用する必要があります。またサーバにはNMASがインストールされている必要があります。名前とパスワードのバインドを行うLDAPアプリケーションは、簡易パスワード機能とスムーズに連携します。
NMASの詳細については、『Novell Modular Authentication Service管理ガイド』を参照してください。
不要なインデックスがあると、LDIFのインポートにかかる時間が長くなります。これは、定義されているすべてのインデックスで、設定されている属性値を持つエントリごとに追加の処理が実行されるためです。LDIFをインポートする前に、不要なインデックスがないことを確認します。インデックスを作成するときは、あらかじめデータ確認済みのプレディケート統計をロードしてインデックスが本当に必要な箇所を確認すると、不要なインデックスを減らすことができます。
インデックスの調整の詳細については、インデックスマネージャを参照してください。