Active Directory vs OpenLDAP
quelles sont les principales différences entre ces deux implémentations du protocole LDAP? Ce qui est mieux pour l'environnement hétérogène? Tout les bons sites web sur ce sujet?
2 réponses
pour les environnements hétérogènes vous voulez utiliser un serveur universel tel que OpenLDAP. L'avantage de la publicité est généralement qu'elle contient déjà des comptes utilisateurs pour vos utilisateurs internes - ceux-ci peuvent être synchronisés avec un serveur LDAP séparé bien que cela ajoute de la complexité.
en ce qui concerne les détails du protocole, Les docs pour Oracle Virtual Directory ont un assez bon résumé. (OVD est un produit qui peut être utilisé pour proxy AD et traduire certaines de ses bizarreries en un plus standard interface.):
http://download.oracle.com/docs/html/E10286_01/app_bundled_plugins.htm#CHDGDBBG
Attributs De La Portée Attributs dans Active Directory et ADAM avec plus alors 1000 valeurs sont retournées 1000 à un temps avec un nom qui inclut la gamme de valeurs retournées (ou 1500 Pour Windows 2003). La gamme est retourné au client dans le formulaire: membre; 1-1000: une certaine valeur pour la prochaine mille entrées, l' l'application client doit savoir pour répéter la requête et demander le membre de l'attribut;1001-2000. Ce nécessite des applications à traiter Microsoft Active Directory dans un de façon particulière par rapport à d'autres produits d'annuaire.
Mise À Jour Des Mots De Passe Microsoft Active Directory et ADAM ont des les règles sur la façon dont le mot de passe d'un l'utilisateur peut être mis à jour à l'aide de LDAP:
- les mots de passe ne peuvent être mis à jour via une connexion SSL sécurisée.
- si un utilisateur met à jour son propre mot de passe, le mot de passe original doit être inclus dans un modifier supprimer avec le nouveau mot de passe étant un modifier ajouter dans la même opération de modification.
- seul un administrateur peut réinitialiser le mot de passe d'un utilisateur mot de passe précédent.
- Active Directroy n'utilise pas l'attribut userPassword, il utilise attribut unicodePwd (qui est cité-UTF16-hex-collier-encodées en base64).
ObjectClass Mapping la plupart des LDAP les répertoires utilisent le inetOrgPerson et groupOfUniqueNames classes d'objets pour les utilisateurs et les groupes. Microsoft Active Le répertoire utilise l'utilisateur et le groupe classes d'objets avec attributs spécifiques exigences relatives aux numéros de répertoire actif de Microsoft."
ceux-ci sont quelques-uns des principaux mais il y en a d'autres.
voici quelques différences que je connais du haut de ma tête. OpenLDAP pourrait être appelé un serveur LDAP générique similaire à de nombreux serveurs LDAP d'autres fournisseurs (Fedora DS 389, Oracle Internet Directory, IBM Tivoli Directory Server). Active Directory est un peu plus personnalisé pour une suite de produits Microsoft (c'est-à-dire: exécuter un domaine Microsoft). Il y a des avantages et des inconvénients de chacun.
OpenLDAP est vide après l'installation et n'a pas de structure (appelé DIT). Il n'a même pas une racine l'entrée de la boîte. AD va expédier avec une structure de base et a les outils GUI prêt pour vous de commencer à peupler les utilisateurs. OpenLDAP et d'autres s'attendent à ce que vous créiez le DIT à la main de sorte que vous aurez à concevoir une structure. Donc, vous devrez planifier où vous allez placer vos utilisateurs, vos groupes, vos rôles et penser à L'ACLs ou à la délégation de la Direction générale si votre projet implique des choses comme ça. Par exemple, vous pouvez avoir un domaine pour widgets.com. Dans AD la structure expédiée ressemblera à quelque chose comme ceci:
+ dc=widgets,dc=com
|-- cn=Computers
|-- cn=Users
|-- cn=Groups
dans OpenLDAP (ou d'autres implémentations vanille), vous pouvez concevoir votre DIT de plusieurs façons. Vous pouvez suivre la convention domain component (dc=foo,dc=bar) ou vous pouvez utiliser quelque chose organisé par région géographique (o=foo,c=bar). Il n'importe pas beaucoup, mais vous devriez aller avec l'un ou l'autre. AD utilise la Convention DC et ne vous donne pas le choix, mais les autres serveurs LDAP peuvent suivre l'une ou l'autre de ces conventions. Si vous essayez de vous insérer dans un grand domaine MS, je reste avec Convention de Washington pour la cohérence et la facilité de l'intégration. Mais pour cet exemple, nous allons prétendre que notre entreprise est une organisation (o) dans un pays (c) Sans régions ni unités (ou):
+ o=widgets,c=us
|-- cn=Machines
|-- cn=People
|-- cn=Groups
|-- cn=Roles
alors vous pouvez étendre votre schéma si besoin est. Si vous souhaitez étendre votre schéma publicitaire, vous devrez ajouter des éléments de schéma via le plugin MMC console (créer un MMC personnalisé) de L'éditeur Active Directory Schema Editor. Après, c'est assez simple. Définissez vos attributs d'abord et ensuite votre objectclasses. OpenLDAP exige que vous écriviez un LDIF (nécessite également des attributs d'abord et ensuite des classes objectclasses). Ou utilisez Apache Directory Studio avec OpenLDAP qui est un outil de GUI et d'administration impressionnant et rend OpenLDAP proche-AD facilité d'utilisation.
la publicité ne vous permet pas de tout interroger sur 389 de façon anonyme. Si vous voulez obtenir des informations de schéma (appelé le catalogue) vous devez interroger sur 3289 et authentifier. Cela me rappelle le DIB vs DIT de LDAP se cacher mais je ne sais pas si AD essaie de faire la même chose ici.
la limite de requête par défaut de la publicité est de 10 000. Si vous voulez aspirer tout en un coup, vous devez utiliser des commandes de paging sur votre client ou dans votre code ou modifier la limite de requête par défaut sur le contrôleur de domaine que vous recherchez. Notez que les contrôles de pagination peuvent être problématiques. Je les ai fait travailler en java en utilisant les bibliothèques Netscape, mais certains clients LDAP ne semblent pas fonctionner correctement, même s'ils prétendent supporter les contrôles de pagination. (YMMV).
l'authentification de la publicité est un peu étrange. Vous pouvez vous authentifier sous forme de nom d'utilisateur formaté (-d username@domain) ou vous pouvez utiliser le DN utilisateur complet. S'il y a un moyen de faire ça en OpenLDAP, Je ne sais pas comment le faire, mais je ne m'en soucierais pas. C'est étrange comparé à d'autres serveurs LDAP. LDAP simple suit généralement le format DN (cn=username,cn=Users,o=widgets,c=us).
je suppose que, en résumé, AD est opiniâtre et OpenLDAP est générique. Et à cause de cela, AD est facile à tenir debout, mais OpenLDAP peut être plus flexible.