10.1 Migrazione dello schema da Sun ONE a NetIQ eDirectory

Per eseguire la migrazione dello schema da Sun ONE a NetIQ eDirectory, effettuare le operazioni seguenti:

10.1.1 Passaggio 1: aggiornamento della cache dello schema

È possibile scrivere in un file gli eventuali errori rilevati durante il confronto dello schema utilizzando il comando seguente:

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

Ad esempio:

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

Eventuali errori riscontrati durante il confronto dello schema vengono scritti nel file degli errori (err.ldf nell'esempio). Per effettuare questa operazione non è necessario eseguire il login, a meno che uno dei server non richieda l'autenticazione per leggere la DSE radice. In Microsoft Active Directory è necessaria l'autenticazione per leggere la DSE radice.

10.1.2 Passaggio 2: correzione degli errori nel file degli errori LDIF

  • In Sun ONE alcune definizioni dello schema sono pubbliche, mentre in eDirectory non lo sono. Fra queste si ricordano attributi quali objectClasses, attributeTypes, ldapSyntaxes e subschemSubentry. Poiché queste definizioni sono interne allo schema e molto importanti, non è possibile modificarle. Le operazioni che tentano di modificare tali definizioni generano l'errore seguente:

    Errore LDAP: 53 (DSA non disponibile per l'esecuzione)

    Tutti i record che contengono riferimenti a queste definizioni generano l'errore seguente:

    Errore LDAP: 16: (Attributo inesistente)

    Pertanto, i record che contengono eventuali riferimenti a tali oggetti o tentano di modificare dette definizioni devono essere contrassegnati come commenti nel file degli errori LDIF (err.ldf nell'esempio).

  • Alcune definizioni delle classi di oggetti in Sun ONE non includono attributi di denominazione. Se si aggiungono queste classi di oggetti in eDirectory viene generato l'errore seguente:

    Errore LDAP: 80 (Errore NDS: denominazione ambigua (-651)

    Questo errore si verifica perché Sun ONE non utilizza lo stesso metodo di eDirectory per stabilire le regole di denominazione.

    Per risolvere il problema, è possibile utilizzare una qualsiasi delle tre opzioni seguenti:

    Opzione 1:

    Esaminare tutte le classi di oggetti non conformi e aggiungere a ciascuna di esse un attributo di denominazione valido.

    Ad esempio:

    Per aggiungere l'attributo di denominazione [ cn ] alla classe di oggetti netscapeMachineData, modificare la voce (in grassetto nell'esempio seguente) nel file err.ldf includendo il flag X-NDS_NAMING come illustrato di seguito:

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

    Opzione 2:

    Esaminare tutte le classi di oggetti non conformi e impostarle come AUXILIARY o ABSTRACT.

    Ad esempio:

    Per modificare la definizione della classe di oggetti netscapeMachineData impostando AUXILIARY al posto di STRUCTURAL, modificare la voce nel file err.ldf (in grassetto nell'esempio che segue) come illustrato di seguito:

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

    Per modificare la definizione della classe di oggetti netscapeMachineData impostando ABSTRACT al posto di STRUCTURAL, modificare la voce nel file err.ldf (in grassetto nell'esempio che segue) come illustrato di seguito:

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

    Opzione 3:

    Aggiungere cn alla definizione di Top in eDirectory, che comporta un possibile attributo di denominazione per tutte le classi di oggetti.

    Esistono due metodi per aggiungere cn a Top:

    • Metodo 1:

      Creare un file come illustrato di seguito e nominarlo 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)
      

      Utilizzare la riga di comando seguente dell'utility di importazione, conversione ed esportazione di NetIQ:

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

      Ad esempio:

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

      1. In NetIQ iManager, fare clic sul pulsante Ruoli e taskRoles and Tasks button.

      2. Fare clic su Schema > Aggiungi attributo.

      3. Nell'elenco Classi disponibili, selezionare Alto e fare clic su OK.

      4. Fare doppio clic su CN nell'elenco Attributi opzionali disponibili.

      5. Fare clic su OK.

  • Alcune definizioni delle classi di oggetti contengono userPassword nel proprio elenco di attributi obbligatori. L'aggiunta di tali classi di oggetti in eDirectory genera l'errore seguente:

    Errore LDAP: 16: (Attributo inesistente)

    Per risolvere il problema, modificare la definizione della classe di oggetti affinché erediti la nuova classe di oggetti da ndsLoginProperties e rimuovere l'attributo userPassword dall'elenco degli attributi obbligatori.

    Ad esempio:

    Una classe di oggetti contenente userPassword nell'elenco degli attributi obbligatori:

    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 )
    

    Deve essere modificata come segue (si noti la modifica nell'ultima riga):

    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 Passaggio 3: importazione del file LDIF

Per importare il file LDIF di confronto con lo schema modificato (err.ldf nell'esempio), utilizzare il seguente comando dell'utility di importazione, conversione ed esportazione di NetIQ:

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

Ad esempio:

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