Schéma LDAP Oracle, alias TNS et Novell eDirectory

Le schéma fournit par Oracle avec Oracle Virtual Directory 11.1.1.4 ne permet pas de stocker les alias TNS dans l’annuaire de Novell. La faute au fichier eDirSchema.ldif qui en plus de contenir des erreurs de syntaxe est incomplet quant aux classes qui peuvent contenir orclNetService, orclNetDescription, orclNetAddressList et orclNetAddress.

Pour corriger ce problème et vous permettre de stocker vos alias TNS avec vos utilisateurs d’Entreprise via EUS, j’ai créé un fichier LDIF qui contient les clauses X-NDS_CONTAINMENT compatibles avec vos besoins. Certaines fonctionnalités pourraient encore être limitées mais au moins ça fonctionne…

dn: cn=schema
changetype: modify
delete: objectclasses
objectclasses: ( 2.16.840.1.113894.3.2.5 NAME 'orclNetService' SUP Top STRUCTURAL MUST cn MAY ( orclNetDescName $ orclNetDescString $ orclVersion $ description ) X-NDS_NAMING ( 'cn' 'orclNetDescName' 'orclNetDescString' 'orclVersion' 'description' ) X-NDS_CONTAINMENT ( 'Organization' 'organizationalUnit' 'Country' 'Locality' 'domain' ) )
-
add: objectclasses
objectclasses: ( 2.16.840.1.113894.3.2.5 NAME 'orclNetService' SUP Top STRUCTURAL MUST cn MAY ( orclNetDescName $ orclNetDescString $ orclVersion $ description ) X-NDS_NAMING ( 'cn' 'orclNetDescName' 'orclNetDescString' 'orclVersion' 'description' ) X-NDS_CONTAINMENT ( 'Organization' 'organizationalUnit' 'Country' 'Locality' 'domain' 'orclcontext' ) )

dn: cn=schema
changetype: modify
delete: objectclasses
objectclasses: ( 2.16.840.1.113894.3.2.3 NAME 'orclNetDescription' SUP Top STRUCTURAL MUST cn MAY ( orclNetAddrList $ orclNetProtocolStack $ orclNetSdu $ orclSid $ orclNetServer $ orclNetServiceName $ orclNetInstanceName $ orclNetHandlerName $ orclOracleHome $ orclNetAuthenticationType $ orclNetAuthenticationService $ orclNetAuthParams $ orclNetParamList $ orclNetConnParamList $ orclNetSourceRoute $ orclNetLoadBalance $ orclNetFailover $ orclNetShared $ orclVersion $ description ) X-NDS_NAMING ( 'cn' 'orclNetAddrList' 'orclNetProtocolStack' 'orclNetSdu' 'orclSid' 'orclNetServer' 'orclNetServiceName' 'orclNetInstanceName' 'orclNetHandlerName' 'orclOracleHome' 'orclNetAuthenticationType' 'orclNetAuthenticationService' 'orclNetAuthParams' 'orclNetParamList' 'orclNetConnParamList' 'orclNetShared' 'orclVersion' 'description' ) X-NDS_CONTAINMENT ( 'Organization' 'organizationalUnit' 'Country' 'Locality' 'domain' 'orclService' 'orclDBServer' 'orclApplicationEntity' ) )
-
add: objectclasses
objectclasses: ( 2.16.840.1.113894.3.2.3 NAME 'orclNetDescription' SUP Top STRUCTURAL MUST cn MAY ( orclNetAddrList $ orclNetProtocolStack $ orclNetSdu $ orclSid $ orclNetServer $ orclNetServiceName $ orclNetInstanceName $ orclNetHandlerName $ orclOracleHome $ orclNetAuthenticationType $ orclNetAuthenticationService $ orclNetAuthParams $ orclNetParamList $ orclNetConnParamList $ orclNetSourceRoute $ orclNetLoadBalance $ orclNetFailover $ orclNetShared $ orclVersion $ description ) X-NDS_NAMING ( 'cn' 'orclNetAddrList' 'orclNetProtocolStack' 'orclNetSdu' 'orclSid' 'orclNetServer' 'orclNetServiceName' 'orclNetInstanceName' 'orclNetHandlerName' 'orclOracleHome' 'orclNetAuthenticationType' 'orclNetAuthenticationService' 'orclNetAuthParams' 'orclNetParamList' 'orclNetConnParamList' 'orclNetShared' 'orclVersion' 'description' ) X-NDS_CONTAINMENT ( 'Organization' 'organizationalUnit' 'Country' 'Locality' 'domain' 'orclService' 'orclnetService' 'orclDBServer' 'orclApplicationEntity' ) )


dn: cn=schema
changetype: modify
delete: objectclasses
objectclasses: ( 2.16.840.1.113894.3.2.2 NAME 'orclNetAddressList' SUP Top STRUCTURAL MUST cn MAY ( orclNetAddrList $ orclNetSourceRoute $ orclNetLoadBalance $ orclNetFailover $ orclNetShared $ orclVersion $ description ) X-NDS_NAMING ( 'cn' 'orclNetAddrList' 'orclNetShared' 'orclVersion' 'description' ) X-NDS_CONTAINMENT ( 'Organization' 'organizationalUnit' 'Country' 'Locality' 'domain' ) )
-
add: objectclasses
objectclasses: ( 2.16.840.1.113894.3.2.2 NAME 'orclNetAddressList' SUP Top STRUCTURAL MUST cn MAY ( orclNetAddrList $ orclNetSourceRoute $ orclNetLoadBalance $ orclNetFailover $ orclNetShared $ orclVersion $ description ) X-NDS_NAMING ( 'cn' 'orclNetAddrList' 'orclNetShared' 'orclVersion' 'description' ) X-NDS_CONTAINMENT ( 'Organization' 'organizationalUnit' 'Country' 'Locality' 'domain' 'orclNetDescription') )


dn: cn=schema
changetype: modify
delete: objectclasses
objectclasses: ( 2.16.840.1.113894.3.2.1 NAME 'orclNetAddress' SUP Top STRUCTURAL MUST cn MAY ( orclNetAddressString $ orclNetProtocol $ orclNetShared $ orclVersion $ description ) X-NDS_NAMING ( 'cn' 'orclNetAddressString' 'orclNetProtocol' 'orclNetShared' 'orclVersion' 'description' ) X-NDS_CONTAINMENT ( 'Organization' 'organizationalUnit' 'Country' 'Locality' 'domain' 'orclNetDescription' ) )
-
add: objectclasses
objectclasses: ( 2.16.840.1.113894.3.2.1 NAME 'orclNetAddress' SUP Top STRUCTURAL MUST cn MAY ( orclNetAddressString $ orclNetProtocol $ orclNetShared $ orclVersion $ description ) X-NDS_NAMING ( 'cn' 'orclNetAddressString' 'orclNetProtocol' 'orclNetShared' 'orclVersion' 'description' ) X-NDS_CONTAINMENT ( 'Organization' 'organizationalUnit' 'Country' 'Locality' 'domain' 'orclNetDescription' 'orclNetAddressList' ) )

Chargez simplement ce fichier dans l’annuaire de Novell avec Apache Directory Studio, vous pourrez utiliser Oracle Net Manager (netmgr) pour enregistrer vos alias 9i, 10g et 11g.