7.1 NetIQインポート/エクスポート変換ユーティリティ

NetIQインポート/エクスポート変換ユーティリティは次の操作に使用できます。

  • LDIFファイルからLDAPディレクトリへのデータのインポート

  • LDAPディレクトリからLDIFファイルへのデータのエクスポート

  • LDAPサーバ間でのデータの移行

  • スキーマの比較と更新の実行

  • テンプレートを使用したeDirectoryへの情報のロード

  • SCHファイルからLDAPディレクトリへのスキーマのインポート

NetIQインポート/エクスポート変換ユーティリティは、形式に応じてデータを読み書きするための一連のハンドラを管理します。データを読み込むハンドラをソースハンドラと呼び、データを書き込むハンドラをターゲットハンドラと呼びます。1つの実行可能モジュールがソースハンドラとターゲットハンドラの両方として機能することもあります。Novellインポート/エクスポート変換エンジンは、ソースハンドラからデータを受け取ってそれを処理し、処理したデータをターゲットハンドラに渡します。

たとえば、LDIFデータをLDAPディレクトリにインポートする場合、NetIQインポート/エクスポート変換エンジンは、LDIFソースハンドラを使用してLDIFファイルを読み込み、読み込んだデータをLDAPターゲットハンドラを使用してLDAPディレクトリサーバに送信します。LDIFファイルの構文、構造、およびデバッグの詳細については、セクション I.0, トラブルシューティングを参照してください。

NetIQインポート/エクスポート変換クライアントユーティリティは、コマンドラインから、またはNetIQ iManagerの[インポート変換エクスポートウィザード]から実行できます。ただし、コンマ区切りのデータに対応したハンドラは、コマンドラインユーティリティとNetIQ iManagerでのみ使用できます。

NetIQインポート/エクスポート変換ユーティリティは、次のどちらの方法でも使用できます。

NetIQインポート/エクスポート変換エンジンには、ウィザードからもコマンドラインインタフェースからもアクセスできます。ただし、コマンドラインインタフェースの方が、ソースハンドラとターゲットハンドラの組み合わせでより多くの選択肢があります。

NDSおよびeDirectoryの旧バージョンで提供されていたBULKLOADユーティリティとZONEIMPORTユーティリティはどちらも、NetIQインポート/エクスポート変換ユーティリティに置き換わっています。

7.1.1 NetIQ iManagerインポート/エクスポート変換ウィザードを使用する

インポート/エクスポート変換ウィザードは次の操作に使用できます。

NetIQ iManagerの使用方法とアクセス方法の詳細については、『NetIQ iManager Administration Guide』を参照してください。

不足しているスキーマの追加

iManagerには、不足しているスキーマをサーバのスキーマに追加するためのオプションが用意されています。このプロセスには、ソースとターゲットの比較が含まれます。ソーススキーマに追加のスキーマがある場合、このスキーマがターゲットスキーマに追加されます。ソースはファイルまたはLDAPサーバのいずれかになります。ターゲットはLDAPサーバであることが必要です。

iManagerのICEウィザードからは、不足しているスキーマを次のオプションを使って追加できます。

スキーマをファイルから追加する

ICEはソースとターゲットのスキーマを比較できます。ソースはファイルまたはLDAPサーバのいずれかで、ターゲットはLDAPサーバです。ソースのスキーマファイルは、LDIF形式またはSCH形式のいずれかになります。

図 7-1 ファイルにあるスキーマを比較して追加する

あて先サーバにスキーマを追加せずに、スキーマの比較だけをする場合は、[スキーマを追加しないで比較]オプションを選択します。この場合、追加のスキーマは追加先サーバに追加されず、処理の最後に表示されるリンクからスキーマの相違点を確認できます。

図 7-2 スキーマを比較して出力ファイルに結果を追加する

スキーマをサーバから追加する

ソースとターゲットはLDAPサーバです。

あて先サーバにスキーマを追加せずに、スキーマの比較だけをする場合は、[スキーマを追加しないで比較]オプションを選択します。この場合、追加のスキーマは追加先サーバに追加されず、処理の最後に表示されるリンクからスキーマの相違点を確認できます。

データをファイルからインポートする

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. ディスク上のファイルからデータをインポート]をクリックし、[次へ]をクリックします。

  4. インポートするファイルのタイプを選択します。

  5. インポートするデータが含まれているファイルの名前を指定し、適切なオプションを指定してから[次へ]をクリックします。

    このページのオプションは、選択したファイルのタイプによって異なります。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。

  6. データのインポート先になるLDAPサーバを指定します。

  7. 次の表の説明を参照して、適切なオプションを追加します。

    オプション

    説明

    サーバのDNS名/IPアドレス

    相手LDAPサーバのDNS名またはIPアドレス

    ポート

    相手LDAPサーバのポート番号(整数)

    DERファイル

    SSL認証に使用するサーバキーが格納されているDERファイルの名前

    ログイン方法

    [認証ログイン]または[匿名ログイン]([ユーザDN]フィールドに指定したエントリのログイン方法)

    ユーザDN

    サーバで指定されたバインド操作に使用されるエントリの識別名

    パスワード

    [ユーザDN]フィールドで指定したエントリのパスワード属性

  8. 次へ]をクリックし、[終了]をクリックします。

データをファイルへエクスポートする

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. ディスク上のファイルにデータをエクスポート]>[次へ]の順にクリックします。

  4. エクスポートするエントリが格納されているLDAPサーバを指定します。

    詳細設定]を使用して、LDAPソースハンドラの追加オプションを設定します。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。

  5. 次の表の説明を参照して、適切なオプションを追加します。

    オプション

    説明

    サーバのDNS名/IPアドレス

    ソースLDAPサーバのDNS名またはIPアドレス

    ポート

    ソースLDAPサーバのポート番号(整数)

    DERファイル

    SSL認証に使用するサーバキーが格納されているDERファイルの名前

    ログイン方法

    [認証ログイン]または[匿名ログイン]([ユーザDN]フィールドに指定したエントリのログイン方法)

    ユーザDN

    サーバで指定されたバインド操作に使用されるエントリの識別名

    パスワード

    [ユーザDN]フィールドで指定したエントリのパスワード属性

  6. 次へ]をクリックします。

  7. エクスポートするエントリの検索条件を次のように指定します。

    オプション

    説明

    ベースDN

    検索要求のベース識別名

    このフィールドを指定しなかった場合、デフォルトのベースDNである""(空の文字列)が使用されます。

    スコープ

    検索要求のスコープ

    フィルタ

    RFC 1558準拠の検索フィルタ

    デフォルトは「objectclass=*」です。

    属性

    検索エントリごとに取得する属性

  8. 次へ]をクリックします。

  9. エクスポートするファイルのタイプを選択します。

    エクスポートされたファイルは、一時的な場所に保存されます。このファイルは、インポート/エクスポート変換ウィザードの最後でダウンロードできます。

  10. 次へ]をクリックし、[終了]をクリックします。

LDAPサーバ間でデータを移行する

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. サーバ間でデータを移行]>[次へ]の順にクリックします。

  4. 移行するエントリが格納されているLDAPサーバを指定します。

    詳細設定]を使用して、LDAPソースハンドラの追加オプションを設定します。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。

  5. 次の表の説明を参照して、適切なオプションを追加します。

    オプション

    説明

    サーバのDNS名/IPアドレス

    ソースLDAPサーバのDNS名またはIPアドレス

    ポート

    ソースLDAPサーバのポート番号(整数)

    DERファイル

    SSL認証に使用するサーバキーが格納されているDERファイルの名前

    ログイン方法

    [認証ログイン]または[匿名ログイン]([ユーザDN]フィールドに指定したエントリのログイン方法)

    ユーザDN

    サーバで指定されたバインド操作に使用されるエントリの識別名

    パスワード

    [ユーザDN]フィールドで指定したエントリのパスワード属性

  6. 次へ]をクリックします。

  7. 移行するエントリの検索条件を次のように指定します。

    オプション

    説明

    ベースDN

    検索要求のベース識別名

    このフィールドを指定しなかった場合、デフォルトのベースDNである""(空の文字列)が使用されます。

    スコープ

    検索要求のスコープ

    フィルタ

    RFC 2254準拠の検索フィルタ

    デフォルトは「objectclass=*」です。

    属性

    検索エントリごとに取得する属性

  8. 次へ]をクリックします。

  9. データを移行するLDAPサーバを指定します。

  10. 次へ]をクリックし、[終了]をクリックします。

    メモ:スキーマが各LDAPサービスで整合性を保っていることを確認します。

スキーマをファイルから更新する

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. ファイルからスキーマを追加]>[次へ]の順にクリックします。

  4. 追加するファイルのタイプを選択します。

    LDIFおよびスキーマファイルからタイプを選択できます。

  5. 追加するデータが含まれているスキーマの名前を指定し、適切なオプションを指定してから[次へ]をクリックします。

    追加先のサーバにスキーマを追加せずに、スキーマの比較だけをする場合は、[スキーマを追加しないで比較]を選択します。追加のスキーマは追加先サーバに追加されず、処理の最後に表示されるリンクからスキーマの相違点を確認できます。

    このページのオプションは、選択したファイルのタイプによって異なります。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。

  6. スキーマのインポート先になるLDAPサーバを指定します。

  7. 次の表の説明を参照して、適切なオプションを追加します。

    オプション

    説明

    サーバのDNS名/IPアドレス

    相手LDAPサーバのDNS名またはIPアドレス

    ポート

    相手LDAPサーバのポート番号(整数)

    DERファイル

    SSL認証に使用するサーバキーが格納されているDERファイルの名前

    ログイン方法

    [認証ログイン]または[匿名ログイン]([ユーザDN]フィールドに指定したエントリのログイン方法)

    ユーザDN

    サーバで指定されたバインド操作に使用されるエントリの識別名

    パスワード

    [ユーザDN]フィールドで指定したエントリのパスワード属性

  8. 次へ]>[完了]をクリックします。

スキーマをサーバから追加する

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. サーバからスキーマを追加]>[次へ]の順にクリックします。

  4. スキーマの追加元になるLDAPサーバを指定します。

  5. 次の表の説明を参照して、適切なオプションを追加します。

    オプション

    説明

    サーバのDNS名/IPアドレス

    相手LDAPサーバのDNS名またはIPアドレス

    ポート

    相手LDAPサーバのポート番号(整数)

    DERファイル

    SSL認証に使用するサーバキーが格納されているDERファイルの名前

    ログイン方法

    [認証ログイン]または[匿名ログイン]([ユーザDN]フィールドに指定したエントリのログイン方法)

    ユーザDN

    サーバで指定されたバインド操作に使用されるエントリの識別名

    パスワード

    [ユーザDN]フィールドで指定したエントリのパスワード属性

    追加先のサーバにスキーマを追加せずに、スキーマの比較だけをする場合は、[スキーマを追加しないで比較]を選択します。追加のスキーマは追加先サーバに追加されず、処理の最後に表示されるリンクからスキーマの相違点を確認できます。

  6. スキーマの追加先になるLDAPサーバを指定します。

  7. 次の表の説明を参照して、適切なオプションを追加します。

    オプション

    説明

    サーバのDNS名/IPアドレス

    相手LDAPサーバのDNS名またはIPアドレス

    ポート

    相手LDAPサーバのポート番号(整数)

    DERファイル

    SSL認証に使用するサーバキーが格納されているDERファイルの名前

    ログイン方法

    [認証ログイン]または[匿名ログイン]([ユーザDN]フィールドに指定したエントリのログイン方法)

    ユーザDN

    サーバで指定されたバインド操作に使用されるエントリの識別名

    パスワード

    [ユーザDN]フィールドで指定したエントリのパスワード属性

  8. 次へ]>[完了]をクリックします。

スキーマファイルを比較する

[スキーマファイルの比較]オプションはソースファイルとターゲットファイルのスキーマを比較し、結果を出力ファイルに保存します。不足しているスキーマをターゲットファイルに追加するには、出力ファイルのレコードをターゲットファイルに適用します。

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. スキーマファイルの比較]>[次へ]の順にクリックします。

  4. 比較するファイルのタイプを選択します。

    LDIFおよびスキーマファイルから形式を選択できます。

  5. 比較するデータが含まれているスキーマの名前を指定し、適切なオプションを指定してから[次へ]をクリックします。

    このページのオプションは、選択したファイルのタイプによって異なります。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。

  6. 比較するスキーマファイルを指定します。

    LDIFファイルのみを選択できます。

  7. 次へ]>[完了]をクリックします。

2つのスキーマファイルの相違点は、処理の最後に表示されるリンクから確認できます。

サーバとファイルからスキーマを比較する

サーバとファイル間のスキーマ比較オプションで、コピー元サーバとコピー先ファイル間でスキーマの比較ができ、その結果をファイルに出力できます。不足しているスキーマをターゲットファイルに追加するには、出力ファイルのレコードをターゲットファイルに適用します。

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. サーバとファイル間でスキーマファイルを比較]>[次へ]の順にクリックします。

  4. スキーマの比較元になるLDAPサーバを指定します。

  5. 次の表の説明を参照して、適切なオプションを追加します。

    オプション

    説明

    サーバのDNS名/IPアドレス

    相手LDAPサーバのDNS名またはIPアドレス

    ポート

    相手LDAPサーバのポート番号(整数)

    DERファイル

    SSL認証に使用するサーバキーが格納されているDERファイルの名前

    ログイン方法

    [認証ログイン]または[匿名ログイン]([ユーザDN]フィールドに指定したエントリのログイン方法)

    ユーザDN

    サーバで指定されたバインド操作に使用されるエントリの識別名

    パスワード

    [ユーザDN]フィールドで指定したエントリのパスワード属性

  6. 比較するファイルのタイプを選択します。

  7. 比較するデータが含まれているファイルの名前を指定し、適切なオプションを指定してから[次へ]をクリックします。

    このページのオプションは、選択したファイルのタイプによって異なります。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。

  8. 次へ]>[完了]をクリックします。

サーバのスキーマとスキーマファイルの相違点は、処理の最後に表示されるリンクから確認できます。

順序ファイルを生成する

このオプションは、区切りデータファイルからデータをインポートするために、DELIMハンドラを使用する順序ファイルを生成します。ウィザードでは、特定のオブジェクトクラスの属性リストを含む順序ファイルを作成できます。

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. 順序ファイルの生成]、[次へ]の順にクリックします。

  4. 順序ファイルを生成するクラスを選択し、[表示]をクリックします。

    順次属性]リストに追加する属性を選択します。

    補助クラスを選択して、[Select Auxiliary Classes]リストに追加します。

    [順次属性]リストおよび[補助クラス]リストの詳細については、iMonitorのオンラインヘルプを参照してください。

    [次へ]をクリックします。

  5. 次の表の説明を参照して、適切なオプションを追加します。

    オプション

    説明

    コンテキスト

    作成されたオブジェクトを関連付けるコンテキスト

    データファイルを選択

    データファイルの場所

    データファイルでデリミタを選択

    データファイル内で使用される区切り記号。デフォルトの区切り記号はコンマ(,)です。

    ネーミング属性を選択

    選択したクラスで使用できるすべての属性のリストのネーミング属性

    詳細設定]を使用して、LDAPソースハンドラの追加オプションを設定します。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。

    処理するレコード]を使用して、データファイルで処理するレコードを選択してください。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。

  6. 次の表の説明を参照して、適切なオプションを追加します。

    オプション

    説明

    サーバのDNS名/IPアドレス

    相手LDAPサーバのDNS名またはIPアドレス

    ポート

    相手LDAPサーバのポート番号(整数)

    DERファイル

    SSL認証に使用するサーバキーが格納されているDERファイルの名前

    ログイン方法

    [認証ログイン]または[匿名ログイン]([ユーザDN]フィールドに指定したエントリのログイン方法)

    ユーザDN

    サーバで指定されたバインド操作に使用されるエントリの識別名

    パスワード

    [ユーザDN]フィールドで指定したエントリのパスワード属性

    詳細設定]を使用して、LDAPソースハンドラの追加オプションを設定します。使用可能なオプションの詳細については、[ヘルプ]をクリックしてください。

  7. 次へ]をクリックし、[終了]をクリックします。

7.1.2 コマンドラインインタフェースを使用する

NetIQインポート/エクスポート変換ユーティリティのコマンドラインバージョンは、次の操作に使用できます。

  • LDIFのインポート

  • LDIFのエクスポート

  • コンマ区切りデータのインポート

  • コンマ区切りデータのエクスポート

  • LDAPサーバ間でのデータの移行

  • スキーマの比較と更新

  • テンプレートを使用したeDirectoryへの情報のロード

  • スキーマのインポート

NetIQインポート/エクスポート変換ウィザードは、NetIQ iManagerの一部としてインストールされます。Windowsバージョン(ice.exe)はインストールに組み込まれています。Linuxコンピュータでは、インポート/エクスポートユーティリティはNOVLiceパッケージに組み込まれています。

NetIQインポート/エクスポート変換構文

NetIQインポート/エクスポート変換ユーティリティは、次の構文で起動します。

ice general_options
-S[LDIF | LDAP | DELIM | LOAD | SCH] source_options
-D[LDIF | LDAP | DELIM] destination_options

またはスキーマキャッシュを使用する場合は、次の構文になります。

ice -C schema_options
-S[LDIF | LDAP] source_options
-D[LDIF | LDAP] destination_options

スキーマキャッシュを使用して更新を実行する場合、LDIFファイルはターゲットとして有効ではありません。

一般オプションの指定は任意です。ただし、指定する場合はソースハンドラオプションやターゲットハンドラオプションより前に指定します。-S(ソース)ハンドラセクションと-D(ターゲット)ハンドラセクションはどちらを先に指定してもかまいません。

利用できるソースハンドラとターゲットハンドラは次のとおりです。

全般オプション

一般オプションは、NetIQインポート/エクスポート変換エンジンの処理全体に影響のあるオプションです。

オプション

説明

-C

スキーマキャッシュを使用してスキーマの比較および更新を実行する場合に指定します。

-l log_file

出力メッセージ(エラーメッセージなど)を書き込むログファイルの名前を指定します。このオプションを指定しなかった場合、エラーメッセージはice.logに出力されます。

Linuxコンピュータでこのオプションを指定しなかった場合、エラーメッセージはログに記録されません。

-o

既存のログファイルを上書きします。このフラグを設定しなかった場合、メッセージは既存のログファイルの末尾に追加されます。

-e LDIF_error_log_ file

正常に処理されなかったエントリを書き込むファイルの名前を指定します。エントリはLDIF形式で書き込まれます。このファイルは、内容を調べてエラーを修正したうえで元のディレクトリに再適用できます。

-p URL

インポート/エクスポート変換エンジンが使用するXML配置ルールが格納されている場所を指定します。配置ルールはエントリの位置を変更するときに使用します。詳細については、変換ルールを参照してください。

-c URL

インポート/エクスポート変換エンジンが使用するXML作成ルールが格納されている場所を指定します。作成ルールは、インポート時にエントリを正しく作成するために必要な情報が欠落している場合にそれを補うために使用します。詳細については、変換ルールを参照してください。

-s URL

インポート/エクスポート変換エンジンが使用するXMLスキーママッピングルールが格納されている場所を指定します。スキーママッピングルールによって、転送元サーバのスキーマエレメントを、転送先サーバ上の同等ではあるが異なるスキーマエレメントにマッピングできます。

詳細については、変換ルールを参照してください。

-hまたは-?

コマンドラインのヘルプを表示します。

スキーマオプション

スキーマオプションでは、スキーマキャッシュを使用してスキーマの比較および更新操作を実行できます。

オプション

説明

-C -a

ターゲットスキーマを更新します(足りないスキーマを追加します)。

-C -c filename

指定したファイルにターゲットスキーマを出力します。

-C -n

スキーマの事前チェックを無効にします。

ソースハンドラのオプション

ソースハンドラオプション(-S)で、インポートするデータのソースを決定します。コマンドラインには、次のうちの1つだけを指定できます。

オプション

説明

-SLDIF

LDIFファイルをソースとして指定します。

サポートされているLDIFオプションのリストについては、LDIFソースハンドラのオプションを参照してください。

-SLDAP

LDAPサーバをソースとして指定します。

サポートされているLDAPオプションのリストについては、LDAPソースハンドラのオプションを参照してください。

-SDELIM

コンマ区切りのデータファイルをソースとして指定します。

メモ:パフォーマンスを向上させるには、NetIQインポート/エクスポート変換ユーティリティでDELIMではなくLDIFファイルを指定して、データをインポートします。カスタムPERLスクリプトを使用すると、必要なフォーマットで出力を生成できます。

サポートされているDELIMオプションのリストについては、DELIMソースハンドラのオプションを参照してください。

-SSCH

スキーマファイルをソースとして指定します。

サポートされているSCHオプションのリストについては、SCHソースハンドラのオプションを参照してください。

-SLOAD

DirLoadテンプレートをソースとして指定します。

サポートされているLOADオプションのリストについては、LOADソースハンドラのオプションを参照してください。

ターゲットハンドラのオプション

ターゲットハンドラオプション(-D)で、エクスポートするデータの書き込み先を決定します。コマンドラインには、次のうちの1つだけを指定できます。

オプション

説明

-DLDIF

LDIFファイルを書き込み先として指定します。

サポートされているオプションのリストについては、LDIFターゲットハンドラのオプションを参照してください。

-DLDAP

LDAPサーバを書き込み先として指定します。

サポートされているオプションのリストについては、LDAPターゲットハンドラのオプションを参照してください。

-DDELIM

コンマ区切りのデータファイルを書き込み先として指定します。

サポートされているオプションのリストについては、DELIMターゲットハンドラのオプションを参照してください。

LDIFソースハンドラのオプション

LDIFソースハンドラは、LDIFファイルからデータを読み込んで、それをNetIQインポート/エクスポート変換エンジンに送ります。

オプション

説明

-f LDIF_file

LDIFソースハンドラで読み込んだLDIFレコードを格納するファイルの名前を指定します。これらのLDIFレコードはインポート/エクスポート変換エンジンに送信されます。

Linuxコンピュータでは、このオプションを指定しなかった場合、入力データはstdinから読み込まれます。

-a

このオプションを設定した場合、指定したLDIFファイル内のレコードが内容レコード(変更タイプが設定されていないレコード)であれば、これらのレコードの変更タイプは「追加」であるとみなされます。

-c

エラーが発生してもLDIFソースハンドラの処理を続行します。ここでいうエラーとは、LDIF解析エラーや、ターゲットハンドラから返されたエラーなどです。このオプションが設定されている場合にエラーが発生すると、LDIFソースハンドラは、エラーを報告したうえで、LDIFファイルの次のレコードを検出し、処理を続行します。

-n

実際の更新は行わず、更新を行った場合の結果を表示して確認します。このオプションを設定すると、LDIFソースハンドラは、LDIFファイルの解析は行いますが、NetIQインポート/エクスポート変換エンジンやターゲットハンドラへのレコードの送信は行いません。

-m

このオプションを設定した場合、指定したLDIFファイル内のレコードが内容レコード(変更タイプが設定されていないレコード)であれば、これらのレコードの変更タイプは「変更」であるとみなされます。

-x

このオプションを設定した場合、指定したLDIFファイル内のレコードが内容レコード(変更タイプが設定されていないレコード)であれば、これらのレコードの変更タイプは「削除」であるとみなされます。

-R value

処理するレコードの範囲を指定します。

-v

ハンドラの冗長モードを有効にします。

-e value

LDIFファイル内の属性値を復号化するために使用するスキーム。[des/3des]。

-E value

属性の復号化用のパスワード。

LDIFターゲットハンドラのオプション

LDIFターゲットハンドラは、NetIQインポート/エクスポート変換エンジンからデータを受け取り、そのデータをLDIFファイルに書き込みます。

オプション

説明

-f LDIF_file

LDIFレコードの書き込み先になるファイルの名前を指定します。

Linuxコンピュータでは、このオプションを指定しなかった場合、出力データはstdoutに送られます。

-B

バイナリ値も印刷します。

-b

LDIFデータのBase64エンコードを行いません。

-e value

LDAPサーバから受け取った属性値を暗号化するために使用するスキーマ。[des/3des]。

-E value

属性の暗号化用のパスワード。

LDAPソースハンドラのオプション

LDAPソースハンドラは、検索要求を該当するLDAPサーバに送信することによってそのサーバからデータを読み込みます。LDAPソースハンドラは、検索操作の結果として受け取った検索エントリをNetIQインポート/エクスポート変換エンジンに送ります。

オプション

説明

-s server_name

ハンドラが検索要求を送るときの送信先LDAPサーバのDNS名またはIPアドレスを指定します。デフォルトはローカルホストです。

-p port

server_nameで指定したLDAPサーバのポート番号を整数で指定します。デフォルトは389です。セキュリティで保護された操作の場合、デフォルトポートは636です。

ICEがSSLポート(デフォルトは636)でLDAPサーバと証明書なしで通信している場合は、サーバの証明書を信頼できるものとして許可します。このオプションは、サーバとクライアントの間で暗号化された通信が行われ、サーバの検証を必要としないような制御された環境でのみ使用してください。

-d DN

サーバによって指定されたバインド操作に使用するエントリの識別名を指定します。

-w password

DNで指定したエントリのパスワード属性を指定します。

-W

DNで指定したエントリのパスワードの入力を求めるプロンプトが表示されます。

このオプションはLinuxでのみ適用できます。

-F filter

RFC 1558準拠の検索フィルタを指定します。このオプションを指定しなかった場合、デフォルトの検索フィルタである「objectclass=*」が使用されます。

-n

実際の検索は行わず、検索の条件などを表示して確認します。

-a attribute_list

検索対象の属性をカンマ区切りのリスト形式で指定します。属性名を指定するか、次の3つのうちいずれかを指定します。

  • 属性を検索しない場合は、(1.1)

  • すべてのユーザ属性を検索する場合は、(*)

  • オペレーショナルでない属性をすべて検索する場合は、空のリスト。

このオプションを指定しなかった場合、属性リストは空のリスト(デフォルト)になります。

-o attribute_list

LDAPサーバから受け取った検索結果をインポート/エクスポート変換エンジンに送信する前に、その検索結果から削除する属性をカンマ区切りのリスト形式で指定します。このオプションは、-aオプションでワイルドカードを指定してクラスの属性を初めにすべて検索してから、その検索結果をインポート/エクスポート変換エンジンに渡す前に一部の属性を削除したい場合に便利です。

たとえば、「-a* -o telephoneNumber」と指定すると、ユーザレベルの属性がすべて検索された後で、その検索結果から電話番号にフィルタを適用します。

-R

参照結果を自動的に適用しない場合に指定します。デフォルトでは、-dおよび-wオプションで指定された名前とパスワードによる参照結果が自動的に適用されます。

-e value

LDAPクライアントSDKで有効にするデバッグフラグを指定します。

詳細については、「LDAP SDKデバッギングフラグを使用する」を参照してください。

-b base_DN

検索要求のベース識別名を指定します。このオプションを指定しなかった場合、ベースDNはデフォルトの" "(空の文字列)になります。

-c search_scope

検索要求のスコープを指定します。有効な値は次のとおりです。

  • One: この値を指定すると、ベースオブジェクトの直接の子だけが検索の対象になります。

  • Base: この値を指定すると、ベースオブジェクトのエントリだけが検索の対象になります。

  • Sub: この値を指定すると、ベースオブジェクトをルートとし、ベースオブジェクトを含むLDAPサブツリーが検索の対象になります。

このオプションを指定しなかった場合は、検索スコープのデフォルトの「Sub」が使用されます。

-r deref_aliases

検索時に別名を逆参照する方法を指定します。指定できる値は次のとおりです。

  • Never: この値を指定すると、サーバは別名の逆参照を行いません。

  • Always: この値を指定すると、検索のベースオブジェクトを検索するときと検索フィルタに一致するエントリを評価するときの両方で、別名の逆参照が行われます。

  • Search: この値を指定すると、ベースオブジェクトを検出した後で検索スコープ内のエントリにフィルタを適用するときには別名の逆参照が行われますが、ベースオブジェクト自体の検索時には別名の逆参照は行われません。

  • 検索: この値を指定すると、検索のベースオブジェクトを検索するときには別名の逆参照が行われますが、検索フィルタに一致するエントリを実際に評価するときには別名の逆参照は行われません。

このオプションを指定しなかった場合は、別名逆参照の方式のデフォルトである「Never」が使用されます。

-l time_limit

検索の制限時間を秒単位で指定します。

-z size _limit

検索結果として取得できるエントリの最大数を指定します。

-V version

接続に使用するLDAPプロトコルのバージョンを指定します。この値は2または3にする必要があります。このオプションを指定しなかった場合のデフォルトは3です。

-v

ハンドラの冗長モードを有効にします。

-L filename

SSL認証に使用するサーバキーが格納されているDER形式のファイルを指定します。Linuxの場合は、ファイル名はオプションで、そのデフォルト値は/etc/opt/novell/certs/SSCert.derです。

-A

属性名のみを取得します。このオプションを指定した場合、出力される検索結果に属性値は含まれません。

-t

エラーが発生してもLDAPハンドラの処理を続行したい場合に指定します。

-m

LDAP操作は「変更」になります。

-x

LDAP操作は「削除」になります。

-k

このオプションはサポートされなくなりました。SSLを使用するには、-Lオプションを使用して有効な証明書を指定します。

-M

Manage DSA ITコントロールを有効にします。

-MM

Manage DSA ITコントロールを有効にし、重要度を高く設定します。

LDAPターゲットハンドラのオプション

LDAPターゲットハンドラは、NetIQインポート/エクスポート変換エンジンからデータを受け取り、それをLDAPサーバに送信します。データは更新操作の形で送信され、送信先サーバによって実行されます。

LDIFファイル内のハッシュ化パスワードについては、「LDIFファイル内でのハッシュ化パスワードの表記」を参照してください。

オプション

説明

-s server_name

ハンドラが検索要求を送るときの送信先LDAPサーバのDNS名またはIPアドレスを指定します。デフォルトはローカルホストです。

-p port

server_nameで指定したLDAPサーバのポート番号を整数で指定します。デフォルトは389です。セキュリティで保護された操作の場合、デフォルトポートは636です。

-d DN

サーバによって指定されたバインド操作に使用するエントリの識別名を指定します。

-w password

DNで指定したエントリのパスワード属性を指定します。

-W

DNで指定したエントリのパスワードの入力を求めるプロンプトが表示されます。

このオプションはLinuxでのみ適用できます。

-B

サーバへの更新操作の転送に非同期LBURP(LDAP Bulk Update/Replication Protocol)要求を使用しない場合は、このオプションを指定します。代わりに、標準の同期LDAP更新操作要求を使用します。

詳細については、LBURP (LDAP Bulk Update/Replication Protocol)を参照してください。

-F

前方向参照を作成できるようにします。作成するエントリの親が存在しない場合、エントリが正常に作成できるよう、そのエントリの親に対応するプレースフォルダが作成されます。このプレースホルダを前方向参照といいます。以後の操作で親が作成されると、前方向参照は通常のエントリに変更されます。

-l

パスワード値の格納にNMAS (NetIQモジュラー認証サービス)の簡易パスワードメソッドを使用する場合は、このオプションを指定します。簡易パスワードを使用する場合、パスワードはディレクトリ内の安全な場所に保持されますが、鍵のペアはサーバ間での認証で実際に必要になるまで生成されません。

-e value

LDAPクライアントSDKで有効にするデバッグフラグを指定します。

詳細については、「LDAP SDKデバッギングフラグを使用する」を参照してください。

-V version

接続に使用するLDAPプロトコルのバージョンを指定します。この値は2または3にする必要があります。このオプションを指定しなかった場合のデフォルトは3です。

-L filename

SSL認証に使用するサーバキーが格納されているDER形式のファイルを指定します。Linuxの場合は、ファイル名はオプションで、そのデフォルト値は/etc/opt/novell/certs/SSCert.derです。

-k

このオプションはサポートされなくなりました。SSLを使用するには、-Lオプションを使用して有効な証明書を指定します。

-M

Manage DSA ITコントロールを有効にします。

-MM

Manage DSA ITコントロールを有効にし、重要度を高く設定します。

-P

同時LBURP処理を有効にします。このオプションは、LDIF内のすべての処理を追加する場合にだけ有効にします。–Fオプションを使用する場合は、-Pはデフォルトで有効になります。

-Z

非同期要求の数を指定します。この数値は、LDAPサーバから返される結果を待たずに、ICEクライアントからLDAPサーバに非同期に送信できるエントリの数を示します。

DELIMソースハンドラのオプション

DELIMソースハンドラはコンマ区切りのデータファイルからデータを読み込み、それをターゲットハンドラに送信します。

オプション

説明

-f filename

DELIMソースハンドラによって読み込まれるコンマ区切りのレコードを含んだファイルの名前を指定します。これらのDELIMレコードはターゲットハンドラに送信されます。

-F value

-fで指定したファイルに対する属性のデータオーダを含んだファイルを指定します。

デフォルトでは、区切り文字で区切られたファイル内の属性の列数は、属性値の最大数と一致します。属性が繰り返されている場合、この列数はテンプレート内で属性が繰り返される回数に一致します。このオプションが指定されていない場合、-tを使用してこの情報を直接入力する必要があります。

詳細については、コンマ区切りのインポートを実行するを参照してください。

-t value

コンマ区切りの属性リストです。このリストによって、-fで指定されたファイルに対する属性のデータオーダを指定します。

デフォルトでは、区切り文字で区切られたファイル内の属性の列数は、属性値の最大数と一致します。属性が繰り返されている場合、この列数はテンプレート内で属性が繰り返される回数に一致します。このオプションまたは-Fのいずれかを指定する必要があります。

詳細については、コンマ区切りのインポートを実行するを参照してください。

-c

エラーが発生してもDELIMソースハンドラの処理を続行したい場合に指定します。ここでいうエラーとは、カンマ区切りデータファイルの解析エラーや、ターゲットハンドラから返されたエラーなどです。このオプションが設定されている場合にエラーが発生すると、DELIMソースハンドラは、エラーを報告したうえで、コンマ区切りデータファイル内の次のレコードを検出し、処理を続行します。

-n value

新しいオブジェクトにLDAPネーミング属性を指定します。この属性は、-Fまたは-tを使用して指定する属性データに含まれている必要があります。

-l value

RDNの追加先のパスを指定します(o=myCompanyなど)。DNを渡す場合、この値は必要ありません。

-o value

オブジェクトクラスのコンマ区切りのリスト(入力ファイルに含まれていない場合)、または補助クラスなどその他のオブジェクトクラスを指定します。デフォルト値は「inetorgperson」です。

-i value

スキップする列のコンマ区切りのリストです。この値には、スキップする列の数を整数で指定します。たとえば3列目と5列目をスキップする場合は、「i3,5」と指定します。

-d value

区切り記号を指定します。デフォルトの区切り記号はカンマ(,)です。

次に示すのは、特別な場合の区切り記号です。

  • [q] =引用符(区切り記号としての単一の")

  • [t] =タブ

たとえば、タブを区切り記号として指定するには、-d[t]を渡します。

-q value

2次的区切り記号を指定します。デフォルトのセカンダリ区切り記号は一重引用符('')です。

次に示すのは、特別な場合の区切り記号です。

  • [q] =引用符(区切り記号としての単一の")

  • [t] =タブ

たとえば、タブを区切り記号として指定するには、-q[t]を渡します。

-v

冗長モードで実行します。

-k value

区切りファイルの最初の行をテンプレートにする場合に指定します。このオプションを-tまたは-Fとともに指定した場合、指定したテンプレートと区切りファイル内のテンプレートの整合性がチェックされます。

DELIMターゲットハンドラのオプション

DELIMターゲットハンドラはソースハンドラからデータを受け取り、そのデータをカンマ区切りのデータファイルに書き込みます。

オプション

説明

-f filename

コンマ区切りレコードの書き込み先になるファイルの名前を指定します。

-F value

-fで指定したファイルに対する属性のデータオーダを含んだファイルを指定します。

デフォルトでは、区切り文字で区切られたファイル内の属性の列数は、属性値の最大数と一致します。属性が繰り返されている場合、この列数はテンプレート内で属性が繰り返される回数に一致します。このオプションが指定されていない場合、-tを使用してこの情報を直接入力する必要があります。

-t value

コンマ区切りの属性リストです。このリストによって、-fで指定されたファイルに対する属性のデータオーダを指定します。

デフォルトでは、区切り文字で区切られたファイル内の属性の列数は、属性値の最大数と一致します。属性が繰り返されている場合、この列数はテンプレート内で属性が繰り返される回数に一致します。このオプションまたは-Fのいずれかを指定する必要があります。

-l value

RDNまたはDNのいずれかになります。ドライバによってデータ内に配置されるのが、DN全体またはRDNのみのどちらになるかを指定します。デフォルト値はRDNです。

-d value

区切り記号を指定します。デフォルトの区切り記号はカンマ(,)です。

次に示すのは、特別な場合の区切り記号です。

  • [q] =引用符(区切り記号としての単一の")

  • [t] =タブ

たとえば、タブを区切り記号として指定するには、-d[t]を渡します。

-q value

2次的区切り記号を指定します。デフォルトのセカンダリ区切り記号は一重引用符('')です。

次に示すのは、特別な場合の区切り記号です。

  • [q] =引用符(区切り記号としての単一の")

  • [t] =タブ

たとえば、タブを区切り記号として指定するには、-q[t]を渡します。

-n value

インポート処理中に追加されるネーミング属性を指定します。たとえばcnなどです。

SCHソースハンドラのオプション

SCHハンドラは、古いNDSやeDirectoryのスキーマファイル(拡張子*.schがついたファイル)からデータを読み込んで、それをNetIQインポート/エクスポート変換エンジンに送ります。このハンドラを使用すれば、拡張子*.schがついたファイルを入力として、スキーマ関連の操作をLDAPサーバに実装できます。

SCHハンドラは、ソースハンドラだけのハンドラです。スキーマハンドラを使用すると、LDAPサーバに*.schファイルをインポートできますが、*.schファイルをエクスポートすることはできません。

SCHハンドラでサポートされているオプションを次の表に示します。

オプション

説明

-f filename

*.schファイルの完全なパス名を指定します。

-v

(オプション)冗長モードで実行します。

LOADソースハンドラのオプション

DirLoadハンドラはテンプレートのコマンドからeDirectory情報を生成します。このテンプレートファイルは-f引数で指定します。このファイルには、属性仕様の情報とプログラム制御の情報が保持されます。

オプション

説明

-f filename

すべての属性仕様とプログラムの実行を制御するすべての情報を含んだテンプレートファイルを指定します。

-c

エラーが通知された場合、次のレコードから続行します。

-v

冗長モードで実行します。

-r

データが追加されずに削除されるように、要求を削除要求に変更します。このオプションにより、DirLoadテンプレートを使用して追加されたレコードを削除できます。

-m

テンプレートファイル内に変更要求を作成します。

属性仕様 新しいオブジェクトのコンテキストを決定します。

次の属性仕様ファイルのサンプルを参照してください。

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ファイルに似ていますが、属性仕様ファイルでは強力な構成体を使用して、詳細な情報と属性間の関係を指定することができます。

固有の数値 指定されたオブジェクトに対する固有の数値を属性値に挿入します。

Syntax: $C[(<format)]

オプションの<formatは、値に適用された出力形式を指定します。形式を指定しない場合、カッコは2種類とも必要ありません。

$C
$C(%d) 
$C(%04d)

$Cのみを指定すると、現在の数値が属性値に挿入されます。「%d」は、何も指定されなかった場合にプログラムが使用するデフォルト形式であるため、$Cは$C(%d)と同じです。数値は各オブジェクトの後で増加するため、属性仕様で$Cを複数回使用しても、単一オブジェクト内では数値は変わりません。開始値は、!COUNTER=valueの構文を使用して、設定ファイル内で指定できます。

任意の数値 次の構文を使用して、属性値に任意の数値を挿入します。

$N(<low-<high[,<format])]

<low<highでは、下限値と上限値を指定します。任意の数字が生成される際に各々の値を使用します。オプションの<formatは、値に適用された出力形式を指定します。

$N(1-999) 
$N(1-999,%d) 
$N(1-999,%03d)

リストの任意の文字列 次の構文を使用して、指定したリストから任意に選択された文字列を属性値に挿入します。

$R(<filename[,<format])]

<filenameには、値を格納しているファイルを指定します。ファイルへのパスは絶対パスまたは相対パスのどちらでも指定できます。リストを格納しているファイルには、このパッケージに含まれているものがあります。値は改行文字で区切る必要があります。

オプションの<formatは、値に適用された出力形式を指定します。

$A(givenname)
$A(givenname,%s) 
$A(givenname,%.1s)

前方向参照は使用できませんので注意してください。属性値を使用する場合、その属性は全て、属性仕様ファイル内で現在の属性より前にある必要があります。下記の例では、DNの一部であるcnは、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)」である場合、次のcnが作成されます。

    cn: Doug Hoffmancn cn: Karl Hoffmancn cn: Doug Schultzcn cn: Karl Schultzcn cn: Doug Griegercn cn: Karl Grieger

ここでは、NetIQインポート/エクスポート変換ユーティリティのコマンドラインユーティリティで次の操作をする場合のコマンドの例を紹介します。

LDIFインポートの実行

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エクスポートを実行する

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に追加されるようにします。

NetIQインポート/エクスポート変換ユーティリティを使用して生成されたコンマ区切りファイルは、生成するために使用されたテンプレートを最初の行に含みます。コンマ区切りファイルの最初の行がテンプレートであることを指定するには、-kオプションを使用します。-Fまたは-t-kとともに使用する場合、指定するテンプレートは、コンマ区切りファイル内のテンプレートと整合していなければなりません。つまり、両方の属性が正確に一致する必要があります。ただし、各属性の出現数や順序は異なっていても構いません。上の例では、in.csv

最初の行にdn,cn,title,title,title,snが含まれています。以下のテンプレートは整合しており、-kの使用時に-tまたは-Fもともに使用できます。

dn,cn,title,sn (属性titleの反復回数が異なる)

dn,sn,title,cn (属性の順序が異なる)

しかし以下のテンプレートは、in.csv内のテンプレートと整合していないため、-kの使用時に-tまたは-Fを指定することはできません。

dn,cn,title,sn,objectclass (新しい属性objectclassが含まれている)

dn,cn,title (属性snが含まれていない)

コンマ区切りのエクスポートを実行する

コンマ区切りのエクスポートを実行するには、コマンドを次の例のように指定します。

ice -S LDAP -s server1.acme.com -p 389 -d cn=admin,c=us ‑w password -F 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ファイルに出力されます。

order.csv内の属性に複数の値が含まれている場合、/tmp/server1.csvでは、この属性の列数が、属性値の最大数と一致します。order.csv内で属性が繰り返されている場合、この属性の列数は、属性が繰り返される回数と一致します。

たとえば、order.csvdn,sn,objectclassが含まれている場合、エクスポートされたすべてのエントリについて、objectclassの値が4つあるのに対し、dnsnの値は1つずつしかない場合、dnsnの列数はそれぞれ1つずつになるのに対し、objectclassの列数は4つになります。objectclassの値を2つだけコンマ区切りファイルに出力するには、order.csvにはdn,sn,objectclass,objectclassが含まれている必要があります。

どちらの場合も、属性が/tmp/server1.csvの最初の行に書き込まれます。最初の例では、/tmp/server1.csvの最初の行にdn,sn,objectclass,objectclass,objectclass,objectclasssが含まれており、2番目の例では、/tmp/server1.csvの最初の行にdn,sn,objectclass,objectclassが含まれています。

2回目以降のインポート時に、最初の行を一連の属性として処理させないようにするには、-kオプションを使用します。詳細については、コンマ区切りのインポートを実行するを参照してください。

LDAPサーバ間でデータを移行する

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ファイルのインポートを実行する

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 
-

暗号化された属性を含むLDIFエクスポートをLDAPサーバから実行する

暗号化された属性を含むLDIFのエクスポートをLDAPサーバから実行するには、次のように、LDAPソースハンドラおよびLDIFターゲットハンドラを暗号化用のスキームおよびパスワードと組み合わせて使用します。

ice -S LDAP -s server1.acme.com -p 636 -L cert-server1.der -d cn=admin,c=us -w password -F objectClass=* -c sub -D LDIF -f server1.ldif -e des -E secret

暗号化された属性を含むLDIFインポートを実行する

ICEによってあらかじめ暗号化されている属性を持つファイルのLDIFインポートを実行するには、次のように、LDIFソースを、ファイルとLDAPターゲットハンドラをエクスポートするために以前使用したスキームおよびパスワードと組み合わせて使用します。

ice -S LDIF -f server1.ldif -e des -E secret -D LDAP -s server2.acme.com -p 636 -L cert-server2.der -d cn=admin,c=us -w password

7.1.3 変換ルール

NetIQインポート/エクスポート変換エンジンは、ソースハンドラから受け取ったレコードをターゲットハンドラに送る前に、レコードに対して変換処理を行います。この変換処理の内容は一連のルールを使用して指定できます。これらのルールは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を使用するかに関係なく)で、転送元サーバのスキーマと転送先サーバのスキーマが異なっている場合、次のようにスキーママッピングを使用できます。

  • エクスポート元サーバからインポートするエントリのオブジェクトクラスと属性タイプをすべて受け付けることができるように、インポート先サーバ上のスキーマを拡張します。

  • 転送元サーバのスキーマエレメントを、転送先サーバ上の同等ではあるが異なるスキーマエレメントにマッピングします。

これらのルールの形式については、スキーママッピングルールを参照してください。

これらの変換ルールは、NetIQ eDirectoryインポート/エクスポートウィザードとコマンドラインインタフェースのどちらでも利用できます。XMLルールの詳細については、XMLルールを使用するを参照してください。

NetIQ eDirectoryインポート/エクスポート変換ウィザードを使用する

  1. iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. 実行するタスクを選択します。

  4. 詳細設定]の下の次のオプションから選択します。

    オプション

    説明

    スキーマルール

    インポート/エクスポート変換エンジンが使用するXMLスキーママッピングルールが格納されている場所を指定します。

    配置ルール

    インポート/エクスポート変換エンジンが使用するXML配置ルールが格納されている場所を指定します。

    作成ルール

    インポート/エクスポート変換エンジンが使用するXML作成ルールが格納されている場所を指定します。

  5. 次へ]をクリックします。

  6. 表示される指示に従って、選択したタスクを完了します。

コマンドラインインタフェースを使用する

コマンドラインバージョンで変換ルールを使用するには、NetIQインポート/エクスポート変換ユーティリティの実行ファイルを起動するときに、使用したいルールに対応する一般オプション(-p-c、または-s)を指定します。詳細については、全般オプションを参照してください。

オプション

説明

-p URL

インポート/エクスポート変換エンジンが使用するXML配置ルールが格納されている場所です。

-c URL

インポート/エクスポート変換エンジンが使用するXML作成ルールが格納されている場所です。

-s URL

インポート/エクスポート変換エンジンが使用するXMLスキーママッピングルールが格納されている場所です。

すべての3つのオプションで、URLを次のいずれかに指定します。

  • 次の形式のURL:

    file://[path/]filename
    

    ファイルは、ローカルファイルシステムに存在する必要があります。

  • ベースレベルの検索を指定するRFC 2255準拠のLDAP URLと、1つの値の属性タイプに対して1つの属性記述が定義されている属性リスト。

XMLルールを使用する

NetIQインポート/エクスポート変換ルールで使用されるXML形式は、NetIQ Identity Managerの場合と同じです。NetIQ Identity Managerの詳細については、NetIQ Identity Managerマニュアルサイトを参照してください。

スキーママッピングルール

スキーママッピングルールの最上位エレメントは、<attr-name-map>です。インポートスキーマとエクスポートスキーマの相互関係は、マッピングルールによって決まります。マッピングルールは、指定されたインポートクラスの定義や属性を、対応するエクスポートスキーマの定義に関連付けます。

マッピングルールは、属性名またはクラス名に対応させて設定します。

  • 属性マッピングの場合、マッピングルールでは、それが属性マッピングであること、ネームスペース(nds-nameはソース名のタグ)、eDirectoryネームスペース内での名前、および他のネームスペース(app-nameはターゲット名のタグ)とそのネームスペース内での名前を指定する必要があります。マッピングルールでは、マッピングが特定のクラスに適用されることを指定することも、その属性を持つすべてのクラスに適用されることを指定することもできます。

  • クラスマッピングの場合、マッピングルールでは、それがクラスマッピングルールであること、ネームスペース(eDirectoryまたはアプリケーション)とそのネームスペース内での名前、およびその他のネームスペースとそのネームスペース内での名前を指定する必要があります。

スキーママッピングルールの正式な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: 次のルールでは、ソースのsurname属性をターゲットのinetOrgPersonクラスの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内のテンプレートオブジェクトの識別名を指定します。現時点では、NetIQインポート/エクスポート変換ユーティリティの作成ルールにテンプレートを指定することはできません。

作成ルールの正式な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つの条件が適用されます。

  • 追加レコードには、givenName属性が必要です。この属性が含まれていない場合、追加は失敗します。

  • 追加レコードには、Surname属性が必要です。この属性が含まれていない場合、追加は失敗します。

  • 追加レコードには、L属性が必要です。この属性が含まれていない場合、L属性はデフォルト値「Provo」に設定されます。

<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つの条件が適用されます。

  • 作成ルールは、レコードにuid属性としてratuidが指定されているかチェックします。この属性が含まれていない場合、追加は失敗します。

  • 作成ルールは、レコードにL属性が指定されているかチェックします。この属性がない場合、L属性はデフォルト値「Provo」に設定されます。

<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で使用することを指定します。

  • 属性をコピー エントリの新しいDNで使用するネーミング属性を指定します。指定されたネーミング属性は、エントリのベースクラスのネーミング属性として有効でなければなりません。

  • パスをコピー ソースDNをターゲット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形式として定義されます。

NetIQインポート/エクスポート変換ユーティリティがサポートするソース名およびターゲット名は、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

7.1.4 LBURP (LDAP Bulk Update/Replication Protocol)

NetIQインポート/エクスポート変換ユーティリティでは、LDAPサーバへの非同期要求の送信に、LBURPを使用します。これにより、要求は常にプロトコルで指定された順序で処理されます。複数プロセッサ間の相互関係やオペレーティングシステムのスケジューラの設定によって処理順序が変わることはありません。

LBURPにより、NetIQインポート/エクスポート変換ユーティリティは、複数の更新操作を1つの要求として送信したり、これらすべての更新操作に対する応答を1つのレスポンスとして受け取ることができます。これにより、プロトコルのネットワーク処理効率が向上します。

LBURPは次のように機能します。

  1. NetIQインポート/エクスポート変換ユーティリティがLDAPサーバにバインドします。

  2. サーバからクライアントにバインドレスポンスが送られます。

  3. クライアントからサーバに開始LBURP拡張要求が送られます。

  4. サーバからクライアントに開始LBURP拡張レスポンスが送られます。

  5. 必要に応じてクライアントからサーバにLBURP操作拡張要求が送られます。

    これらの要求は非同期で送信することもできます。要求ごとに通し番号が付けられ、同じクライアントから同じ接続を介して送信された個々の要求の順序はこの通し番号によって特定されます。各要求には、少なくとも1つのLDAP更新操作が設定されます。

  6. サーバは、受け取った各LBURP操作拡張要求を通し番号に従って順番に処理し、要求ごとにLBURP操作拡張レスポンスを送信します。

  7. サーバへの更新操作の送信がすべて終了すると、クライアントはサーバに終了LBURP拡張要求を送ります。

  8. サーバからクライアントに終了LBURP拡張レスポンスが送られます。

LBURPプロトコルにより、NetIQインポート/エクスポート変換機能は、サーバにデータを転送するときに送信元と送信先の間のネットワーク接続の限界まで転送速度を上げることができます。ネットワーク接続が十分に高速であれば、NetIQインポート/エクスポート変換機能から要求が送られてくるのを待つ必要がないため、サーバはすべての処理時間を更新操作の処理だけに費やすことができます。

更新操作の処理効率をさらに上げるため、eDirectoryのLBURPプロセッサは、データベースへの更新操作をグループに分けて行います。LBURPの採用により、従来の同期処理の場合と比べて、LDIFのインポート処理の効率は大幅に改善されています。

LBURPはデフォルトで有効になっていますが、LDIFのインポート中に無効にすることもできます。

LDIFのインポート中にLBURPの有効/無効を切り替えるには、次を実行します。

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. ディスク上のファイルからデータをインポート]をクリックし、[次へ]をクリックします。

  4. ファイルタイプ]ドロップダウンリストからLDIFを選択し、インポートするデータが格納されているLDIFファイルの名前を指定します。

  5. 次へ]をクリックします。

  6. データをインポートするLDAPサーバとログインのタイプ(匿名ログインまたは認証ログイン)を指定します。

  7. 詳細設定]の下の[LBURPを使用]を選択します。

  8. 次へ]をクリックし、表示される指示に従ってLDIFインポートウィザードでの残りの作業を完了します。

重要:LBURPは比較的新しいプロトコルであるため、バージョン8.5以前のeDirectoryサーバおよびeDirectory以外のサーバの大部分は、LBURPをサポートしていません。NetIQ eDirectoryインポート/エクスポートウィザードを使用してLBURPをサポートしていないサーバにLDIFファイルをインポートする場合は、LDIFのインポートが正しく行われるよう、LBURPオプションを無効にします。

コマンドラインオプションを使用して、LDIFのインポート中にLBURPの有効/無効を切り替えることができます。詳細については、-Bを参照してください。

7.1.5 LDIFのインポートを高速化する

1つのLDIFファイルに数千または数百万のレコードがある場合は、次のことを検討してください。

読み書き可能レプリカを持つサーバに直接インポートする

実行が可能な場合は、LDIFファイルで示されているすべてのエントリを含む、読み書き可能レプリカを持つサーバをLDIFのインポート先に選択します。これによりネットワーク効率を大幅に高めることができます。

更新時には、インポート先サーバから他のeDirectoryサーバへのチェーン接続は行わないでください。これにより、パフォーマンスはかなり低下します。ただし、一部の更新対象エントリがLDAPを実行していないサーバ上だけに存在する場合には、LDIFファイルをインポートするためにチェーン接続が必要になることもあります。

レプリカとパーティション管理の詳細については、セクション 6.0, パーティションおよびレプリカの管理を参照してください。

LBURPを使用する

NetIQインポート/エクスポート変換機能では、ネットワークとeDirectoryサーバの処理をできるだけ効率化するために、ウィザードとサーバの間でのデータ転送にLBURPを使用します。LDIFのインポート時にLBURPを使用することにより、LDIFのインポートにかかる時間が大幅に短縮されます。

LBURPの詳細については、LBURP (LDAP Bulk Update/Replication Protocol)を参照してください。

データベースキャッシュを設定する

eDirectoryで使用できるデータベースキャッシュの容量は、LDIFインポートの処理速度に大きく影響します。特に、サーバ上のエントリの総数が多いほど影響は大きくなります。LDIFのインポートでは、インポート実行中にはできるだけ多くのメモリをeDirectoryに割り当てると効率的です。インポートが完了してサーバの負荷が通常レベルに戻ったら、メモリの設定を元にもどすことができます。この方法は、eDirectoryサーバで実行する処理がインポートだけの場合に特に効果があります。

eDirectoryデータベースキャッシュの設定の詳細については、セクション 19.0, NetIQ eDirectoryのメンテナンスを参照してください。

簡易パスワードを使用する

NetIQ eDirectoryでは、公開鍵と秘密鍵のペアを使用して認証を行います。これらの鍵の生成は、CPUに大きな負担のかかる処理です。eDirectory 8.7.3以降では、パスワードの格納に、NMAS (NetIQモジュラー認証サービス)の簡易パスワード機能を使用できます。簡易パスワードを使用する場合、パスワードはディレクトリ内の安全な場所に保持されますが、鍵のペアはサーバ間での認証で実際に必要になるまで生成されません。これにより、パスワード情報を持つオブジェクトをロードする速度を大幅にアップできます。

LDIFのインポート時に簡易パスワードを有効にするには、次を実行します。

  1. NetIQ iManagerで、[役割およびタスク]ボタン [役割およびタスク]ボタン をクリックします。

  2. eDirectoryの保守]>[インポート/エクスポート変換ウィザード]の順にクリックします。

  3. ディスク上のファイルからデータをインポート]をクリックし、[次へ]をクリックします。

  4. ファイルタイプ]ドロップダウンリストからLDIFを選択し、インポートするデータが格納されているLDIFファイルの名前を入力します。

  5. 次へ]をクリックします。

  6. データをインポートするLDAPサーバとログインのタイプ(匿名ログインまたは認証ログイン)を指定します。

  7. 詳細設定]の下の[パスワードをNMASシンプルパスワード/ハッシュ化されたパスワードに格納]を選択します。

  8. 次へ]をクリックし、表示される指示に従ってLDIFインポートウィザードでの残りの作業を完了します。

パスワードの格納に簡易パスワードを使用する場合は、eDirectoryツリーへのログインおよび従来型のファイルサービスやプリントサービスへのアクセスには、NMAS対応のNovell Clientを使用する必要があります。またサーバにはNMASがインストールされている必要があります。名前とパスワードのバインドを行うLDAPアプリケーションは、簡易パスワード機能とスムーズに連携します。

NMASの詳細については、『NetIQモジュラー認証サービス管理ガイド』を参照してください。

インデックスを使用する場合の注意

不要なインデックスがあると、LDIFのインポートにかかる時間が長くなります。これは、定義されているすべてのインデックスで、設定されている属性値を持つエントリごとに追加の処理が実行されるためです。LDIFをインポートする前に、不要なインデックスがないことを確認します。インデックスを作成するときは、あらかじめデータ確認済みのプレディケート統計をロードしてインデックスが本当に必要な箇所を確認すると、不要なインデックスを減らすことができます。

インデックスの調整の詳細については、セクション 7.2, インデックスマネージャを参照してください。