10.1 Sun OneスキーマのNetIQ eDirectoryへの移行

Sun OneスキーマをNetIQ eDirectoryに移行するには、次の手順に従ってください。

10.1.1 手順 1: スキーマキャッシュの更新操作を実行する

次のコマンドを使用して、スキーマの比較中に検出されたエラーをエラーファイルに書き込むことができます。

ice -e LDIF error file name -C -a -SLDAP -s Sun ONE server -p Sun ONE port -DLDAP -s eDirectory server -p eDirectory port

次に例を示します。

ice -e err.ldf -C -a -SLDAP -s sun_srv1 -p sun_port1 -DLDAP -s edir_srv2 -p edir_port2

スキーマの比較中に検出されたエラーはすべてエラーファイル(例ではerr.ldf)に書き込まれます。Root DSEを読み込むためにサーバから認証が要求されない限り、この操作を実行するためにログインする必要はありません。Microsoftアクティブディレクトリでは、Root DSEを読み込むための認証が要求されます。

10.1.2 手順 2: エラーを解決するためにエラーLDIFファイルを訂正する

  • Sun ONEでは、eDirectoryでは定義されていないいくつかのスキーマ定義が公式に定義されています。これらの定義には、objectClassesattributeTypesldapSyntaxesおよびsubschemSubentryなどの属性が含まれます。これらの定義は内部に存在し、スキーマにとって非常に重要です。したがって、これらの定義を変更することはできません。これらの定義を変更しようとすると、次のエラーが発生します。

    LDAPエラー: 53 (DSAが動作しません)

    これらの定義の参照が含まれるすべてのレコードに対して、次のエラーが表示されます。

    LDAPエラー: 16 : (該当する属性はありません)

    したがって、これらのオブジェクトへの参照が含まれるレコードまたはこれらの定義の変更を試行するレコードは、LDIFエラーファイル(例ではerr.ldf)にコメントとして記入されている必要があります。

  • 一部のSun ONEのobjectClasses定義にはネーミング属性がありません。これらのobjectClassesを追加すると、eDirectoryで次のエラーが発生することがあります。

    LDAPエラー: 80 (NDSエラー: ネーミングがあいまいです(-651)

    このエラーは、Sun ONEではeDirectoryとは異なるネーミングルールの決定のメソッドが使用されていることが原因で発生します。

    これを解決するには、次の3つのいずれかのオプションを使用できます。

    オプション1:

    エラーの原因となっている各objectClassesを確認し、それぞれに有効なネーミング属性を追加します。

    次に例を示します。

    ネーミング属性[cn]をオブジェクトクラスnetscapeMachineDataに追加するには、X-NDS_NAMINGフラグが包含されるようにerr.ldfファイル内のエントリ(次の例で強調表示されている部分)を次のように変更します。

    dn: cn=schemachangetype: modifyadd: objectClassesobjectClasses: ( 2.16.840.1.113730.3.2.32 NAME ’netscapeMachineData’ 
        DESC ’iPlanet defined objectclass’ SUP top STRUCTURAL MAY ’cn’     X-NDS_NAMING ’cn’ )-
    

    オプション2:

    エラーの原因となっている各objectClassesを確認し、該当するものをすべてAUXILIARYまたはABSTRACTに変更します。

    次に例を示します。

    netscapeMachineDataのオブジェクトクラス定義を“STRUCTURAL”から“AUXILIARY”に変更するには、次のようにerr.ldfファイルのエントリ(次の例で強調表示されている部分)を変更します。

    dn: cn=schemachangetype: modifyadd: objectClassesobjectClasses: ( 2.16.840.1.113730.3.2.32 NAME ’netscapeMachineData’ 
       DESC ’iPlanet defined objectclass’ SUP top AUXILIARY )-
    

    netscapeMachineDataのオブジェクトクラス定義を“STRUCTURAL”から“ABSTRACT”に変更するには、次のようにerr.ldfファイルのエントリ(次の例で強調表示されている部分)を変更します。

    dn: cn=schemachangetype: modifyadd: objectClassesobjectClasses: ( 2.16.840.1.113730.3.2.32 NAME ’netscapeMachineData’ 
       DESC ’iPlanet defined objectclass’ SUP top ABSTRACT )-
    

    オプション3:

    eDirectoryのTopの定義にcnを追加すると、すべてのobjectClassesの潜在的なネーミング属性になります。

    cnTopに追加するには2つの方法があります。

    • 方法1:

      次のようなファイルを作成し、topsch.ldfと命名します。

      version : 1
      
      dn:cn=schema
      
      changetype :modify
      
      delete : objectclasses
      
      objectclasses : ( 2.5.6.0 NAME ’top’ STRUCTURAL )
      
      -
      
      add:objectclasses
      
      objectclasses : (2.5.6.0 NAME ’top’ STRUCTURAL MAY cn)
      

      次のNetIQインポート/エクスポート変換コマンドラインを使用します。

      ice -SLDIF -f LDIF_file_name -DLDAP -s eDirectory_server -p eDirectory_port -d eDirectory_Admin_DN -w eDirectory_password
      

      次に例を示します。

      ice -SLDIF -f topsch.ldf -DLDAP -s edir_srv2 -p edir_port2 -d cn=admin,o=org -w pwd1
      
    • 方法2:

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

      2. [スキーマ]>[属性の追加]の順にクリックします。

      3. [使用可能なクラス]リストで[トップ]を選択してから、[OK]をクリックします。

      4. [使用可能なオプション属性]リストで、[CN]をダブルクリックします。

      5. [OK] をクリックします。

  • 一部のobjectClass定義には、必須属性リストとしてuserPasswordが含まれる場合があります。これらのobjectClassesをeDirectoryに追加すると、次のエラーが発生します。

    LDAPエラー: 16 (該当する属性はありません)

    このエラーを解決するには、objectClass定義を変更して、ndsLoginPropertiesから新しいobjectClassを継承し、必須属性リストからuserPassword属性を削除します。

    次に例を示します。

    必須属性リストにuserPasswordが含まれるobjectClassの場合:

    version : 1
    dn: cn=schemaz
    changetype: modify
    add: objectClasses
    objectClasses: ( 0.9.2342.19200300.100.4.19 NAME ’simpleSecurityObject’ DESC ’
     Standard LDAP objectClass’ SUP top STRUCTURAL MUST userPassword )
    

    次のように変更する必要があります(最終行の変更に注意してください):

    version : 1
    dn: cn=schema
    changetype: modify
    add: objectClasses
    objectClasses: ( 0.9.2342.19200300.100.4.19 NAME ’simpleSecurityObject’ DESC ’
     Standard LDAP objectClass’ SUP (ndsLoginProperties $ top) STRUCTURAL )
    

10.1.3 手順3: LDIFファイルをインポートする

次のNetIQインポート/エクスポート変換コマンドを使用して変更されたスキーマ比較LDIFファイル(例ではerr.ldf)をインポートします。

ice -e error_file -SLDIF -f modified_LDIF_file -DLDAP -s eDirectory_server -p eDirectory_port -d eDirectory_Admin_DN -w eDirectory_password

次に例を示します。

ice -e errors.ldf -SLDIF -f err.ldf -DLDAP -s edir_srv2 -p edir_port2 -d cn=admin,o=org -w pwd1