10.1 Migration du schéma Sun ONE vers NetIQ eDirectory

Pour migrer le schéma Sun ONE vers NetIQ eDirectory, exécutez les étapes suivantes :

10.1.1 Étape 1 : Exécutez l'opération de mise à jour du cache de schéma.

Vous pouvez enregistrer les erreurs qui se sont produites lors de la comparaison du schéma dans un fichier d'erreurs à l'aide de la commande suivante :

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

Par exemple :

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

Les éventuelles erreurs rencontrées lors de la comparaison du schéma sont inscrites dans le fichier d'erreurs (err.ldf dans l'exemple). Il n'est pas nécessaire de vous connecter pour exécuter cette opération, sauf si l'un des serveurs requiert une authentification afin de lire le DSE racine. Microsoft Active Directory requiert une authentification pour lire le DSE racine.

10.1.2 Étape 2 : Corrigez le fichier d'erreurs LDIF afin d'éliminer les erreurs.

  • Sun ONE détermine publiquement certaines définitions de schéma qui ne le sont pas dans eDirectory. Les attributs tels que objectClasses, attributeTypes, ldapSyntaxes et subschemSubentry sont pris en compte. Ces définitions existent de façon interne et sont d'une importance capitale pour le schéma ; elles ne peuvent donc pas être modifiées. Les opérations qui tentent de les modifier génèrent le message d'erreur suivant :

    LDAP error : 53 (DSA is unwilling to perform)

    Tous les enregistrements qui contiennent des références à ces définitions produisent l'erreur suivante :

    LDAP error : 16 : ( No such attribute )

    Par conséquent, les enregistrements qui contiennent des références à ces objets ou qui tentent de modifier ces définitions doivent être commentés dans le fichier d'erreurs LDIF (err.ldf dans l'exemple).

  • Certaines définitions d'attributs objectClasses dans Sun ONE ne possèdent pas d'attributs d'assignation de nom. L'ajout de ces attributs objectClasses produit l'erreur suivante dans eDirectory :

    LDAP error : 80 (NDS error: ambiguous naming (-651)

    Cette erreur se produit car Sun ONE n'utilise pas la même méthode de détermination des règles d'assignation de nom que eDirectory.

    Pour y remédier, utilisez l'une des trois options suivantes :

    Option 1 :

    Ajoutez un attribut d'assignation de nom valable à chaque définition objectClasses en cause.

    Par exemple :

    Pour ajouter l'attribut d'assignation de nom [ cn ] à la classe d'objet netscapeMachineData, modifiez l'entrée (en italique dans l'exemple ci-dessous) dans le fichier err.ldf comme suit afin d'inclure le drapeau X-NDS_NAMING :

    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’ )-
    

    Option 2 :

    Affectez la valeur AUXILIARY ou ABSTRACT à chaque définition objectClasses en cause.

    Par exemple :

    Pour modifier la définition de la classe d'objet netscapeMachineData et affecter la valeur AUXILIARY à la place de STRUCTURAL, modifiez l'entrée du fichier err.ldf (en italique dans l'exemple ci-dessous) :

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

    Pour modifier la définition de la classe d'objet netscapeMachineData et affecter la valeur ABSTRACT à la place de STRUCTURAL, modifiez l'entrée du fichier err.ldf (en italique dans l'exemple ci-dessous) :

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

    Option 3 :

    )-Ajoutez cn à la définition de Top dans eDirectory, afin de générer un attribut d'assignation de nom éventuel pour chaque objectClasses.

    Il existe deux façons différentes d'ajouter cn à Top :

    • Méthode 1 :

      Créez un fichier de la manière suivante et donnez-lui le nom 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)
      

      Utilisez la ligne de commande d'importation, de conversion et d'exportation NetIQ suivante :

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

      Par exemple :

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

      1. Dans NetIQ iManager, cliquez sur le bouton Rôles et tâches bouton Rôles et tâches.

      2. Cliquez sur Schéma > Ajouter un attribut.

      3. Dans la liste Classes disponibles, sélectionnez Haut, puis cliquez sur OK.

      4. Double-cliquez sur CN dans la liste Attributs facultatifs disponibles.

      5. Cliquez sur OK.

  • Certaines définitions objectClass contiennent userPassword dans leur liste d'attributs obligatoires. L'ajout de ces définitions objectClasses à eDirectory produit l'erreur suivante :

    LDAP error : 16 (No such attribute)

    Pour corriger cette erreur, modifiez la définition objectClass afin d'hériter de la nouvelle classe d'objet de ndsLoginProperties et supprimez l'attribut userPassword de la liste des attributs obligatoires.

    Par exemple :

    Une classe d'objet contenant userPassword dans la liste d'attributs obligatoires :

    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 )
    

    doit être modifiée comme suit (prêtez attention à la modification dans la dernière ligne) :

    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 Étape 3 : Importez le fichier LDIF.

Utilisez la commande d'importation, de conversion et d'exportation NetIQ suivante pour importer le fichier LDIF de comparaison de schéma modifié (err.ldf dans l'exemple) :

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

Par exemple :

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