SlideShare une entreprise Scribd logo
Utiliser   Améliorer   Prêcher




                      Introduction à
                           LDAP

mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher




                      Introduction à
                           LDAP

mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Sommaire




                                                 
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Sommaire
            Historique rapide
          

           Les concepts

           LDAP et la gestion d’identité

           Démonstration

           Autre ressources




                                                                   
mercredi 6 mai 2009
Historique




mercredi 6 mai 2009
Historique




mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Historique rapide




                                                    
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Historique rapide
            Découle des annuaires X.500
          

           L’ensemble du protocole LDAP est aujourd’hui

            disponible via les RFC
           Certains objets sont définis via une RFC

                      c’est le cas par exemple de inetOrgPerson (RFC 2798)
                −

            LDAP est une simplification de X.500
          

           Dernière version : LDAPv3 (depuis 1998)




                                                                                 
mercredi 6 mai 2009
Les concepts LDAP




mercredi 6 mai 2009
Les concepts LDAP




mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     LDAP c’est quoi ?




                                                    
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     LDAP c’est quoi ?
              LDAP signifie Lightweight Directory Access
          

              Protocol,
                      c’est donc avant tout un protocole de communication, au
                −
                      même titre que HTTP




                                                                                  
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     LDAP c’est quoi ?
              LDAP signifie Lightweight Directory Access
          

              Protocol,
                      c’est donc avant tout un protocole de communication, au
                −
                      même titre que HTTP
              On peut donc utiliser le même protocole pour
          

              dialoguer avec un annuaire, quelque soit son
              origine (et même avec des pseudo annuaires)




                                                                                  
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     LDAP c’est quoi ?
              LDAP signifie Lightweight Directory Access
          

              Protocol,
                      c’est donc avant tout un protocole de communication, au
                −
                      même titre que HTTP
            On peut donc utiliser le même protocole pour
          

            dialoguer avec un annuaire, quelque soit son
            origine (et même avec des pseudo annuaires)
           Définit

                      des opérations (search, add, modify, delete)
                −

                      une nomenclature (objets, attributs)
                −

                      la sécurité (authentification, chiffrement)
                −


                                                                                      
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les différences avec un SGBD




                                                        
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les différences avec un SGBD
              Protocole de communication unique
          




                                                                  
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les différences avec un SGBD
            Protocole de communication unique
          

           Base de données hiérarchiques

                      Plutôt une vision fonctionnelle que technique
                −

                        Une entrée du même niveau ne possède pas forcément les
                      

                        mêmes informations qu’une autre
                       Représentation sous forme d’un arbre




                                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les différences avec un SGBD
            Protocole de communication unique
          

           Base de données hiérarchiques

                      Plutôt une vision fonctionnelle que technique
                −

                        Une entrée du même niveau ne possède pas forcément les
                      

                        mêmes informations qu’une autre
                       Représentation sous forme d’un arbre



              Orientée lecture plutôt qu’écriture
          




                                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les différences avec un SGBD
            Protocole de communication unique
          

           Base de données hiérarchiques

                      Plutôt une vision fonctionnelle que technique
                −

                        Une entrée du même niveau ne possède pas forcément les
                      

                        mêmes informations qu’une autre
                       Représentation sous forme d’un arbre



            Orientée lecture plutôt qu’écriture
          

           Administration “relativement” plus facile




                                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les différences avec un SGBD
            Protocole de communication unique
          

           Base de données hiérarchiques

                      Plutôt une vision fonctionnelle que technique
                −

                        Une entrée du même niveau ne possède pas forcément les
                      

                        mêmes informations qu’une autre
                       Représentation sous forme d’un arbre



            Orientée lecture plutôt qu’écriture
          

           Administration “relativement” plus facile

           Réplication multi-maîtres plus courante




                                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Exemple d’objet LDAP




                                                       
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Exemple d’objet LDAP




                                                       
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les schémas LDAP




                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les schémas LDAP
              Un schéma définit un ou plusieurs objectClass
          

              (types d’objets) ainsi que des attributs




                                                                    
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les schémas LDAP
            Un schéma définit un ou plusieurs objectClass
          

            (types d’objets) ainsi que des attributs
           Un objectClass définit

                      des attributs obligatoires, optionnels
                −

                      une éventuelle relation avec d’autres types d’objets
                −




                                                                                     
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les schémas LDAP
            Un schéma définit un ou plusieurs objectClass
          

            (types d’objets) ainsi que des attributs
           Un objectClass définit

                      des attributs obligatoires, optionnels
                −

                      une éventuelle relation avec d’autres types d’objets
                −

              Un attribut définit
          

                      une syntaxe (contenu)
                −

                      une méthode de recherche
                −




                                                                                     
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les schémas LDAP
            Un schéma définit un ou plusieurs objectClass
          

            (types d’objets) ainsi que des attributs
           Un objectClass définit

                      des attributs obligatoires, optionnels
                −

                      une éventuelle relation avec d’autres types d’objets
                −

              Un attribut définit
          

                      une syntaxe (contenu)
                −

                      une méthode de recherche
                −

              Chaque objet d’un schéma est identifié par un
          

              OID

                                                                                     
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les objectClass




                                                
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les objectClass
              Il en existe trois types
          

                      abstract
                −

                          classe abstraite
                      


                      structural
                −

                          classe concrète (instances)
                      


                      auxiliary
                −

                          extensions de classes, permet de définir un objectClass qui
                      

                          pourra être utilisé par plusieurs objets avec des objectClass
                          structural différent




                                                                                      
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les objectClass
              Il en existe trois types
          

                      abstract
                −

                          classe abstraite
                      


                      structural
                −

                          classe concrète (instances)
                      


                      auxiliary
                −

                          extensions de classes, permet de définir un objectClass qui
                      

                          pourra être utilisé par plusieurs objets avec des objectClass
                          structural différent
              est défini par un nom
          




                                                                                      
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les objectClass
              Il en existe trois types
          

                      abstract
                −

                          classe abstraite
                      


                      structural
                −

                          classe concrète (instances)
                      


                      auxiliary
                −

                          extensions de classes, permet de définir un objectClass qui
                      

                          pourra être utilisé par plusieurs objets avec des objectClass
                          structural différent
            est défini par un nom
          

           définit une liste d’attributs obligatoires, une

            autre d’optionnels
                                                                                      
mercredi 6 mai 2009
Utiliser         Améliorer   Prêcher
                      syntaxe:
                      dn, boolean,
                      directory string
     Un attribut      (utf8), ia5string
                      (ascii), integer




                                      equality = recherche
                                      egalite sur la valeur
                                      ordering = entree
                                      possedant cet
                                      attribut
                                      substr = sous chaine




                                                                    
mercredi 6 mai 2009
Utiliser      Améliorer   Prêcher
                                                    syntaxe:
                                                    dn, boolean,
                                                    directory string
     Un attribut                                    (utf8), ia5string
                                                    (ascii), integer

              définit
          

                      par un nom
                −

                      Une syntaxe (défini le type de contenu, par exemple un
                −
                      entier, une chaîne de caractères, etc.)
                                                                   equality = recherche
                      Dès règles de comparaison (EQUALITY, ORDERING,
                −                                                  egalite sur la valeur
                                                                   ordering = entree
                      SUBSTR)                                      possedant cet
                                                                   attribut
                          Par exemple, pour les chaînes de       caractères il est
                                                                            possible
                                                                  substr = sous chaine
                      

                          de définir une recherche sensible ou non à la casse




                                                                                               
mercredi 6 mai 2009
Utiliser      Améliorer   Prêcher
                                                    syntaxe:
                                                    dn, boolean,
                                                    directory string
     Un attribut                                    (utf8), ia5string
                                                    (ascii), integer

              définit
          

                      par un nom
                −

                      Une syntaxe (défini le type de contenu, par exemple un
                −
                      entier, une chaîne de caractères, etc.)
                                                                   equality = recherche
                      Dès règles de comparaison (EQUALITY, ORDERING,
                −                                                  egalite sur la valeur
                                                                   ordering = entree
                      SUBSTR)                                      possedant cet
                                                                   attribut
                          Par exemple, pour les chaînes de       caractères il est
                                                                            possible
                                                                  substr = sous chaine
                      

                          de définir une recherche sensible ou non à la casse
              un indicateur de multi-valuation
          




                                                                                               
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Le DIT : Directory Information Tree




                                                       
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Le DIT : Directory Information Tree
              Structure logique d’une hiérarchie, représenté
          

              sous forme d’un arbre




                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Le DIT : Directory Information Tree
            Structure logique d’une hiérarchie, représenté
          

            sous forme d’un arbre
           Au sein de cet arbre, une entrée est identifiée

            par son nom - unique - au sein de sa position




                                                                 
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Le DIT : Directory Information Tree
            Structure logique d’une hiérarchie, représenté
          

            sous forme d’un arbre
           Au sein de cet arbre, une entrée est identifiée

            par son nom - unique - au sein de sa position
           Ce nom unique est nommé

                      DN quand il est complet uid=asyd,ou=People,dc=asyd,dc=net
                −

                      RDN quand il est relatif uid=asyd
                −




                                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Le DIT : Directory Information Tree
            Structure logique d’une hiérarchie, représenté
          

            sous forme d’un arbre
           Au sein de cet arbre, une entrée est identifiée

            par son nom - unique - au sein de sa position
           Ce nom unique est nommé

                      DN quand il est complet uid=asyd,ou=People,dc=asyd,dc=net
                −

                      RDN quand il est relatif uid=asyd
                −

              La racine est nommée suffixdn par exemple,
          

              dc=asyd,dc=net


                                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Le DIT : Directory Information Tree




                                                       
mercredi 6 mai 2009
Utiliser   Améliorer      Prêcher



     Le DIT : Directory Information Tree
              Sa conception est probablement la phase la
          

              plus délicate de la conception d’un annuaire
                      Une mauvaise conception est lourde de conséquences
                −

                      Difficile d’effectuer des modifications sur le DIT une fois
                −
                      mis en place
                      Plusieurs approches possibles (par exemple, pour une
                −
                      grande société, une hiérarchie par ville, puis par position
                      RH, mais pour une PME, une représentation à plat)




                                                                                      
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Le DIT : Directory Information Tree




                                                       
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Le DIT : Directory Information Tree
              Quelques conventions
          

                      un objet de type ou (organizationalUnit) pour représenter
                −
                      un noeud
                      un noeud (ou=People) à la racine de l’arbre pour y stocker
                −
                      les comptes utilisateurs (chez certains (mauvais) éditeurs
                      d’application cette valeur est codée en dur)
                      aujourd’hui, utilisation de la forme dc=domain,dc=tld en tant
                −
                      que suffixdn (plutôt que o=organization)




                                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer    Prêcher



     Le DIT : Directory Information Tree
              Quelques conventions
          

                      un objet de type ou (organizationalUnit) pour représenter
                −
                      un noeud
                      un noeud (ou=People) à la racine de l’arbre pour y stocker
                −
                      les comptes utilisateurs (chez certains (mauvais) éditeurs
                      d’application cette valeur est codée en dur)
                      aujourd’hui, utilisation de la forme dc=domain,dc=tld en tant
                −
                      que suffixdn (plutôt que o=organization)
              Rien n’oblige à suivre ces conventions
          

                      rajout de contacts privés sous une entrée utilisateur (ce
                −
                      qui donnerait cn=Mlle X,cn=Bruno
                      Bonfils,ou=People,dc=guses,dc=org)
                      utilisation de o=organization en tant que suffixdn
                −
                                                                                    
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Le DIT : Directory Information Tree
            Exemple d’arbre simple

              dc=guses,dc=org
          

                      ou=People
                −

                        ou=Special users
                      


                       ou=Contacts

                       ou=Members


                      ou=Group
                −




                                                                    
mercredi 6 mai 2009
LDAP et la gestion d’identité




mercredi 6 mai 2009
LDAP et la gestion d’identité




mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     IAM : Pourquoi LDAP ?




                                                      
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     IAM : Pourquoi LDAP ?
              Représentation hiérarchique
          

                      Un noeud pour les employés d’une société, un autre pour
                −
                      les fournisseurs, un pour les prestataires, etc.
                      Au sein d’un même noeud, des utilisateurs peuvent
                −
                      posséder des informations différentes
                          Typiquement, les administrateurs Unix posséderont
                      

                          l’objectClass posixAccount




                                                                                    
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     IAM : Pourquoi LDAP ?
              Représentation hiérarchique
          

                      Un noeud pour les employés d’une société, un autre pour
                −
                      les fournisseurs, un pour les prestataires, etc.
                      Au sein d’un même noeud, des utilisateurs peuvent
                −
                      posséder des informations différentes
                          Typiquement, les administrateurs Unix posséderont
                      

                          l’objectClass posixAccount
              Gestion des groupes
          

                      Au moins trois manières de gérer les groupes
                −

                        Un objet group avec un attribut multivaleur uniqueMember
                      

                       Certains annuaires proposent des groupes dynamiques, leur

                        liste est calculée à partir d’une requête LDAP


                                                                                    
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     IAM : Pourquoi LDAP ?




                                                      
mercredi 6 mai 2009
Utiliser   Améliorer     Prêcher



     IAM : Pourquoi LDAP ?
              Une gestion des droits fine
          

                      ACL ou ACI en fonction des annuaires
                −

                      Permet de limiter les accès sur les objets, les attributs
                −
                      (lecture, écriture)
                      Interdire la consultation de l’annuaire par un prestataire
                −

                      Modifications sur le noeud Prestataire par les membres
                −
                      d’un groupe Manager




                                                                                     
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Un petit mot sur le provisionning




                                                        
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Un petit mot sur le provisionning
              Disposer d’outils permettant d’alimenter un
          

              annuaire, mais orienté fonctionnel




                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Un petit mot sur le provisionning
            Disposer d’outils permettant d’alimenter un
          

            annuaire, mais orienté fonctionnel
           Des outils spécifiques

                      Sun Identity Manager (IDM), Novell Identity Manager,
                −
                      Microsoft Identity Lifecycle Manager
                      Permet de rajouter des workflows, des rapports, une
                −
                      conformité légale (Sarbanes Oxley)




                                                                                
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Un petit mot sur le provisionning
            Disposer d’outils permettant d’alimenter un
          

            annuaire, mais orienté fonctionnel
           Des outils spécifiques

                      Sun Identity Manager (IDM), Novell Identity Manager,
                −
                      Microsoft Identity Lifecycle Manager
                      Permet de rajouter des workflows, des rapports, une
                −
                      conformité légale (Sarbanes Oxley)
              Des éditeurs fonctionnels
          

                      Calendra (Directory Management)
                −

                      Sun Directory Editor
                −




                                                                                 
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les raisons techniques




                                                       
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les raisons techniques
              protocole d’accès unifié, en résulte une
          

              adoption quasi systématique par les éditeurs
              d’applications




                                                                  
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les raisons techniques
            protocole d’accès unifié, en résulte une
          

            adoption quasi systématique par les éditeurs
            d’applications
           sécurisation

                      SSL/STARTTLS
                −




                                                                
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les raisons techniques
            protocole d’accès unifié, en résulte une
          

            adoption quasi systématique par les éditeurs
            d’applications
           sécurisation

                      SSL/STARTTLS
                −

              réplication multi-maîtres
          

                      haute disponibilité
                −




                                                                     
mercredi 6 mai 2009
La pratique
                      DSEE, NSS/PAM, Démo




mercredi 6 mai 2009
La pratique
                      DSEE, NSS/PAM, Démo




mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Directory Server Enterprise Edition




                                                        
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Directory Server Enterprise Edition
              Composante de JES5
          




                                                            
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Directory Server Enterprise Edition
            Composante de JES5
          

           Est composé de

                      un serveur LDAP, un proxy
                −

                      une instance de configuration
                −

                      un composant de la webconsole
                −

                      un agent cacao
                −




                                                                               
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Directory Server Enterprise Edition
            Composante de JES5
          

           Est composé de

                      un serveur LDAP, un proxy
                −

                      une instance de configuration
                −

                      un composant de la webconsole
                −

                      un agent cacao
                −



              Attention, pas de version 6.2 en
          

              production !


                                                                               
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Directory Server Enterprise Edition
            Composante de JES5
          

           Est composé de

                      un serveur LDAP, un proxy
                −

                      une instance de configuration
                −

                      un composant de la webconsole
                −

                      un agent cacao
                −



              Attention, pas de version 6.2 en
          

              production !
                      et même pas de 6.2 tout court...
                −



                                                                                  
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Utilisation de LDAP pour les NSS




                                                       
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Utilisation de LDAP pour les NSS
              NameServiceSwitch
          




                                                           
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Utilisation de LDAP pour les NSS
              NameServiceSwitch
          

                      Permet de résoudre l’ensemble des tables de
                −
                      correspondance (nom <-> valeur) du système
                        résolution de nom d’hôte en adresse IP (DNS)
                      

                       translation de nom d’utilisateurs, groupes en UID/GID

                       d’autres tables plus OS spécifiques comme celle utilisée par

                        autofs




                                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Utilisation de LDAP pour les NSS
              NameServiceSwitch
          

                      Permet de résoudre l’ensemble des tables de
                −
                      correspondance (nom <-> valeur) du système
                        résolution de nom d’hôte en adresse IP (DNS)
                      

                       translation de nom d’utilisateurs, groupes en UID/GID

                       d’autres tables plus OS spécifiques comme celle utilisée par

                        autofs
                      Permet d’utiliser une autre source de données (réseau)
                −
                      pour des fichiers comme /etc/passwd /etc/group /etc/
                      shadow, etc.




                                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Utilisation de LDAP pour les NSS
              NameServiceSwitch
          

                      Permet de résoudre l’ensemble des tables de
                −
                      correspondance (nom <-> valeur) du système
                        résolution de nom d’hôte en adresse IP (DNS)
                      

                       translation de nom d’utilisateurs, groupes en UID/GID

                       d’autres tables plus OS spécifiques comme celle utilisée par

                        autofs
                      Permet d’utiliser une autre source de données (réseau)
                −
                      pour des fichiers comme /etc/passwd /etc/group /etc/
                      shadow, etc.
                      Les interfaces (API) exposées sont les mêmes, quelque
                −
                      soit la source de données


                                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Utilisation de LDAP pour les NSS
              NameServiceSwitch
          

                      Permet de résoudre l’ensemble des tables de
                −
                      correspondance (nom <-> valeur) du système
                        résolution de nom d’hôte en adresse IP (DNS)
                      

                       translation de nom d’utilisateurs, groupes en UID/GID

                       d’autres tables plus OS spécifiques comme celle utilisée par

                        autofs
                      Permet d’utiliser une autre source de données (réseau)
                −
                      pour des fichiers comme /etc/passwd /etc/group /etc/
                      shadow, etc.
                      Les interfaces (API) exposées sont les mêmes, quelque
                −
                      soit la source de données
                      Attention, le service NSS n’est pas lié à l’authentification
                −


                                                                                   
mercredi 6 mai 2009
Utiliser          Améliorer            Prêcher



     à propos de PAM
                       auth: id/pass OK
                       account: user’s account is valid (validité du mot de passe, exp
                       session: set up and terminate login session
                       passwd: modification du mot de passe




                                                                         
mercredi 6 mai 2009
Utiliser          Améliorer            Prêcher



     à propos de PAM
              Pour rappel, PAM est une couche       auth: id/pass OK
          
                                                    account: user’s account is valid (validité du mot de passe, exp
              d’abstraction pour gérer l’authentification
                                                    session: set up and terminate login session
                                                    passwd: modification du mot de passe

                      Plus précisément, pour gérer quatre étapes liées à
                −
                      l’authentification (auth, account, session, password)




                                                                                                      
mercredi 6 mai 2009
Utiliser          Améliorer            Prêcher



     à propos de PAM
              Pour rappel, PAM est une couche       auth: id/pass OK
          
                                                    account: user’s account is valid (validité du mot de passe, exp
              d’abstraction pour gérer l’authentification
                                                    session: set up and terminate login session
                                                    passwd: modification du mot de passe

                      Plus précisément, pour gérer quatre étapes liées à
                −
                      l’authentification (auth, account, session, password)
              Au même titre que les NSS, PAM permet
          

              d’utiliser différents modules




                                                                                                      
mercredi 6 mai 2009
Utiliser          Améliorer            Prêcher



     à propos de PAM
              Pour rappel, PAM est une couche       auth: id/pass OK
          
                                                    account: user’s account is valid (validité du mot de passe, exp
              d’abstraction pour gérer l’authentification
                                                    session: set up and terminate login session
                                                    passwd: modification du mot de passe

                      Plus précisément, pour gérer quatre étapes liées à
                −
                      l’authentification (auth, account, session, password)
            Au même titre que les NSS, PAM permet
          

            d’utiliser différents modules
           Permet d’empiler les modules




                                                                                                      
mercredi 6 mai 2009
Utiliser          Améliorer            Prêcher



     à propos de PAM
              Pour rappel, PAM est une couche       auth: id/pass OK
          
                                                    account: user’s account is valid (validité du mot de passe, exp
              d’abstraction pour gérer l’authentification
                                                    session: set up and terminate login session
                                                    passwd: modification du mot de passe

                      Plus précisément, pour gérer quatre étapes liées à
                −
                      l’authentification (auth, account, session, password)
            Au même titre que les NSS, PAM permet
          

            d’utiliser différents modules
           Permet d’empiler les modules

           Attention, PAM ne gère que

            l’authentification ! (répond OK ou KO à une
            demande de vérification d’un couple login /
            mot de passe)
                                                                                                      
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les différences entre NSS et PAM




                                                      
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les différences entre NSS et PAM
              Les deux sont complémentaires, mais peuvent
          

              s’utiliser indépendamment l’un de l’autre




                                                                
mercredi 6 mai 2009
Utiliser    Améliorer   Prêcher



     Les différences entre NSS et PAM
            Les deux sont complémentaires, mais peuvent
          

            s’utiliser indépendamment l’un de l’autre
           PAM peut s’utiliser dans le cadre d’une

            authentification apache
                      aucun UID/GID n’est nécessaire
                −

                      vérification du login/mot de passe suffisant
                −




                                                                                   
mercredi 6 mai 2009
Utiliser    Améliorer   Prêcher



     Les différences entre NSS et PAM
            Les deux sont complémentaires, mais peuvent
          

            s’utiliser indépendamment l’un de l’autre
           PAM peut s’utiliser dans le cadre d’une

            authentification apache
                      aucun UID/GID n’est nécessaire
                −

                      vérification du login/mot de passe suffisant
                −

              Une session système (login local, ssh)
          

              nécessite un UID/GID (entre autre)
                      l’utilisateur doit donc être présent dans la table NSS
                −
                      passwd



                                                                                   
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Au cas où




                                               
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Au cas où




                                               
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Au cas où




                                               
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Au cas où




                                               
mercredi 6 mai 2009
Démonstration : DSEE, Solaris




mercredi 6 mai 2009
Démonstration : DSEE, Solaris




mercredi 6 mai 2009
Autres ressources




mercredi 6 mai 2009
Autres ressources




mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les autres outils




                                                  
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les autres outils
              OpenLDAP
          




                                                  
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les autres outils
            OpenLDAP
          

           Apache Directory Studio




                                                               
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les autres outils
            OpenLDAP
          

           Apache Directory Studio

           Apache Directory Server




                                                               
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Les autres outils
            OpenLDAP
          

           Apache Directory Studio

           Apache Directory Server

           Penrose




                                                               
mercredi 6 mai 2009
Utiliser   Améliorer   Prêcher



     Liens
            http://docs.sun.com/
          

           http://linagora.org/ pour des supports de

            formation LDAP, OpenLDAP
           http://google.com/

           etc.




                                                                 
mercredi 6 mai 2009

Contenu connexe

En vedette

WebSSO, synchronisation et contrôle des accès via LDAP
WebSSO, synchronisation et contrôle des accès via LDAPWebSSO, synchronisation et contrôle des accès via LDAP
WebSSO, synchronisation et contrôle des accès via LDAP
LINAGORA
 
OpenDS Aquarium Paris
OpenDS Aquarium ParisOpenDS Aquarium Paris
OpenDS Aquarium Paris
Alexis Moussine-Pouchkine
 
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéalOpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
Jonathan Clarke
 
Directory Servers and LDAP
Directory Servers and LDAPDirectory Servers and LDAP
Directory Servers and LDAP
Wildan Maulana
 
Rhel6
Rhel6Rhel6
Ldap introduction (eng)
Ldap introduction (eng)Ldap introduction (eng)
Ldap introduction (eng)
Anatoliy Okhotnikov
 
Open Ldap Integration and Configuration with Lifray 6.2
Open Ldap Integration and Configuration with Lifray 6.2Open Ldap Integration and Configuration with Lifray 6.2
Open Ldap Integration and Configuration with Lifray 6.2
Vinaykumar Hebballi
 
radius
radiusradius
LDAP Presentation
LDAP PresentationLDAP Presentation
LDAP Presentation
cyberleon95
 
Construire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAPConstruire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAP
Clément OUDOT
 
Génération d'applications web avec Bonita
Génération d'applications web avec BonitaGénération d'applications web avec Bonita
Génération d'applications web avec Bonita
rlg
 
Lightweight directory access protocol
Lightweight directory access protocolLightweight directory access protocol
Lightweight directory access protocol
Dimitri LEMBOKOLO
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
Harrathi Mohamed
 
Mise En Place D’un Serveur de notification
Mise En Place D’un Serveur de notificationMise En Place D’un Serveur de notification
Mise En Place D’un Serveur de notification
Emeric Kamleu Noumi
 
Tout sur le portail captif Alcasar Tutoriel complet + Rapport detaillée
Tout sur le portail captif Alcasar Tutoriel complet + Rapport detailléeTout sur le portail captif Alcasar Tutoriel complet + Rapport detaillée
Tout sur le portail captif Alcasar Tutoriel complet + Rapport detaillée
yassine87
 
Cartes mentales v2.0
Cartes mentales v2.0Cartes mentales v2.0
Cartes mentales v2.0
CÔTE Jean-Pascal
 
Présentation pfe inchaallah
Présentation pfe inchaallahPrésentation pfe inchaallah
Présentation pfe inchaallah
Ilyass_rebla
 
Mise en place d'un serveur SMS Open Source sous GAMMU
Mise en place d'un serveur SMS Open Source sous GAMMUMise en place d'un serveur SMS Open Source sous GAMMU
Mise en place d'un serveur SMS Open Source sous GAMMU
Mahamadou Traore
 
Presentation cynapsys
Presentation cynapsysPresentation cynapsys
Presentation cynapsys
baltagi
 

En vedette (20)

WebSSO, synchronisation et contrôle des accès via LDAP
WebSSO, synchronisation et contrôle des accès via LDAPWebSSO, synchronisation et contrôle des accès via LDAP
WebSSO, synchronisation et contrôle des accès via LDAP
 
OpenDS Aquarium Paris
OpenDS Aquarium ParisOpenDS Aquarium Paris
OpenDS Aquarium Paris
 
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéalOpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
 
Directory Servers and LDAP
Directory Servers and LDAPDirectory Servers and LDAP
Directory Servers and LDAP
 
Rhel6
Rhel6Rhel6
Rhel6
 
Ldap introduction (eng)
Ldap introduction (eng)Ldap introduction (eng)
Ldap introduction (eng)
 
Open Ldap Integration and Configuration with Lifray 6.2
Open Ldap Integration and Configuration with Lifray 6.2Open Ldap Integration and Configuration with Lifray 6.2
Open Ldap Integration and Configuration with Lifray 6.2
 
radius
radiusradius
radius
 
LDAP Presentation
LDAP PresentationLDAP Presentation
LDAP Presentation
 
Construire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAPConstruire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAP
 
Génération d'applications web avec Bonita
Génération d'applications web avec BonitaGénération d'applications web avec Bonita
Génération d'applications web avec Bonita
 
Lightweight directory access protocol
Lightweight directory access protocolLightweight directory access protocol
Lightweight directory access protocol
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
Cebit
CebitCebit
Cebit
 
Mise En Place D’un Serveur de notification
Mise En Place D’un Serveur de notificationMise En Place D’un Serveur de notification
Mise En Place D’un Serveur de notification
 
Tout sur le portail captif Alcasar Tutoriel complet + Rapport detaillée
Tout sur le portail captif Alcasar Tutoriel complet + Rapport detailléeTout sur le portail captif Alcasar Tutoriel complet + Rapport detaillée
Tout sur le portail captif Alcasar Tutoriel complet + Rapport detaillée
 
Cartes mentales v2.0
Cartes mentales v2.0Cartes mentales v2.0
Cartes mentales v2.0
 
Présentation pfe inchaallah
Présentation pfe inchaallahPrésentation pfe inchaallah
Présentation pfe inchaallah
 
Mise en place d'un serveur SMS Open Source sous GAMMU
Mise en place d'un serveur SMS Open Source sous GAMMUMise en place d'un serveur SMS Open Source sous GAMMU
Mise en place d'un serveur SMS Open Source sous GAMMU
 
Presentation cynapsys
Presentation cynapsysPresentation cynapsys
Presentation cynapsys
 

Plus de Bruno Bonfils

Vue d'ensemble du SSO
Vue d'ensemble du SSOVue d'ensemble du SSO
Vue d'ensemble du SSO
Bruno Bonfils
 
iTop
iTopiTop
RunDeck
RunDeckRunDeck
RunDeck
Bruno Bonfils
 
Présentation de l'association GUSES
Présentation de l'association GUSESPrésentation de l'association GUSES
Présentation de l'association GUSES
Bruno Bonfils
 
Métrologie des IOs
Métrologie des IOsMétrologie des IOs
Métrologie des IOs
Bruno Bonfils
 
Introduction à OpenSolaris
Introduction à OpenSolarisIntroduction à OpenSolaris
Introduction à OpenSolaris
Bruno Bonfils
 
Zsh Rmll
Zsh RmllZsh Rmll
Zsh Rmll
Bruno Bonfils
 
Shell
ShellShell
La signature numérique
La signature numériqueLa signature numérique
La signature numérique
Bruno Bonfils
 
(Open)Solaris : Introduction aux zones et à ZFS
(Open)Solaris : Introduction aux zones et à ZFS(Open)Solaris : Introduction aux zones et à ZFS
(Open)Solaris : Introduction aux zones et à ZFS
Bruno Bonfils
 

Plus de Bruno Bonfils (12)

Drupal sso
Drupal ssoDrupal sso
Drupal sso
 
Vue d'ensemble du SSO
Vue d'ensemble du SSOVue d'ensemble du SSO
Vue d'ensemble du SSO
 
Splunk
SplunkSplunk
Splunk
 
iTop
iTopiTop
iTop
 
RunDeck
RunDeckRunDeck
RunDeck
 
Présentation de l'association GUSES
Présentation de l'association GUSESPrésentation de l'association GUSES
Présentation de l'association GUSES
 
Métrologie des IOs
Métrologie des IOsMétrologie des IOs
Métrologie des IOs
 
Introduction à OpenSolaris
Introduction à OpenSolarisIntroduction à OpenSolaris
Introduction à OpenSolaris
 
Zsh Rmll
Zsh RmllZsh Rmll
Zsh Rmll
 
Shell
ShellShell
Shell
 
La signature numérique
La signature numériqueLa signature numérique
La signature numérique
 
(Open)Solaris : Introduction aux zones et à ZFS
(Open)Solaris : Introduction aux zones et à ZFS(Open)Solaris : Introduction aux zones et à ZFS
(Open)Solaris : Introduction aux zones et à ZFS
 

Dernier

Technologie hydrostatique, innovation pour la stérilisation des aliments : HI...
Technologie hydrostatique, innovation pour la stérilisation des aliments : HI...Technologie hydrostatique, innovation pour la stérilisation des aliments : HI...
Technologie hydrostatique, innovation pour la stérilisation des aliments : HI...
InnovaSter-Trade Ltd.
 
Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...
Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...
Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...
Maalik Jallo
 
Meetup LFUG : Cahier de vacances Liferay
Meetup LFUG : Cahier de vacances LiferayMeetup LFUG : Cahier de vacances Liferay
Meetup LFUG : Cahier de vacances Liferay
Sébastien Le Marchand
 
Cours d'Intelligence Artificielle et Apprentissage Automatique.pptx
Cours d'Intelligence Artificielle et Apprentissage Automatique.pptxCours d'Intelligence Artificielle et Apprentissage Automatique.pptx
Cours d'Intelligence Artificielle et Apprentissage Automatique.pptx
Jacques KIZA DIMANDJA
 
Introduction à Crossplane (Talk Devoxx 2023)
Introduction à Crossplane (Talk Devoxx 2023)Introduction à Crossplane (Talk Devoxx 2023)
Introduction à Crossplane (Talk Devoxx 2023)
Adrien Blind
 
procede de fabrication mecanique et industriel
procede de fabrication mecanique et industrielprocede de fabrication mecanique et industriel
procede de fabrication mecanique et industriel
saadbellaari
 
Lae-ac1-5_english-fraançais_qins italy.pdf
Lae-ac1-5_english-fraançais_qins italy.pdfLae-ac1-5_english-fraançais_qins italy.pdf
Lae-ac1-5_english-fraançais_qins italy.pdf
djelloulbra
 

Dernier (7)

Technologie hydrostatique, innovation pour la stérilisation des aliments : HI...
Technologie hydrostatique, innovation pour la stérilisation des aliments : HI...Technologie hydrostatique, innovation pour la stérilisation des aliments : HI...
Technologie hydrostatique, innovation pour la stérilisation des aliments : HI...
 
Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...
Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...
Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...
 
Meetup LFUG : Cahier de vacances Liferay
Meetup LFUG : Cahier de vacances LiferayMeetup LFUG : Cahier de vacances Liferay
Meetup LFUG : Cahier de vacances Liferay
 
Cours d'Intelligence Artificielle et Apprentissage Automatique.pptx
Cours d'Intelligence Artificielle et Apprentissage Automatique.pptxCours d'Intelligence Artificielle et Apprentissage Automatique.pptx
Cours d'Intelligence Artificielle et Apprentissage Automatique.pptx
 
Introduction à Crossplane (Talk Devoxx 2023)
Introduction à Crossplane (Talk Devoxx 2023)Introduction à Crossplane (Talk Devoxx 2023)
Introduction à Crossplane (Talk Devoxx 2023)
 
procede de fabrication mecanique et industriel
procede de fabrication mecanique et industrielprocede de fabrication mecanique et industriel
procede de fabrication mecanique et industriel
 
Lae-ac1-5_english-fraançais_qins italy.pdf
Lae-ac1-5_english-fraançais_qins italy.pdfLae-ac1-5_english-fraançais_qins italy.pdf
Lae-ac1-5_english-fraançais_qins italy.pdf
 

Ldap

  • 1. Utiliser Améliorer Prêcher Introduction à LDAP mercredi 6 mai 2009
  • 2. Utiliser Améliorer Prêcher Introduction à LDAP mercredi 6 mai 2009
  • 3. Utiliser Améliorer Prêcher Sommaire  mercredi 6 mai 2009
  • 4. Utiliser Améliorer Prêcher Sommaire Historique rapide   Les concepts  LDAP et la gestion d’identité  Démonstration  Autre ressources  mercredi 6 mai 2009
  • 7. Utiliser Améliorer Prêcher Historique rapide  mercredi 6 mai 2009
  • 8. Utiliser Améliorer Prêcher Historique rapide Découle des annuaires X.500   L’ensemble du protocole LDAP est aujourd’hui disponible via les RFC  Certains objets sont définis via une RFC c’est le cas par exemple de inetOrgPerson (RFC 2798) − LDAP est une simplification de X.500   Dernière version : LDAPv3 (depuis 1998)  mercredi 6 mai 2009
  • 11. Utiliser Améliorer Prêcher LDAP c’est quoi ?  mercredi 6 mai 2009
  • 12. Utiliser Améliorer Prêcher LDAP c’est quoi ? LDAP signifie Lightweight Directory Access  Protocol, c’est donc avant tout un protocole de communication, au − même titre que HTTP  mercredi 6 mai 2009
  • 13. Utiliser Améliorer Prêcher LDAP c’est quoi ? LDAP signifie Lightweight Directory Access  Protocol, c’est donc avant tout un protocole de communication, au − même titre que HTTP On peut donc utiliser le même protocole pour  dialoguer avec un annuaire, quelque soit son origine (et même avec des pseudo annuaires)  mercredi 6 mai 2009
  • 14. Utiliser Améliorer Prêcher LDAP c’est quoi ? LDAP signifie Lightweight Directory Access  Protocol, c’est donc avant tout un protocole de communication, au − même titre que HTTP On peut donc utiliser le même protocole pour  dialoguer avec un annuaire, quelque soit son origine (et même avec des pseudo annuaires)  Définit des opérations (search, add, modify, delete) − une nomenclature (objets, attributs) − la sécurité (authentification, chiffrement) −  mercredi 6 mai 2009
  • 15. Utiliser Améliorer Prêcher Les différences avec un SGBD  mercredi 6 mai 2009
  • 16. Utiliser Améliorer Prêcher Les différences avec un SGBD Protocole de communication unique   mercredi 6 mai 2009
  • 17. Utiliser Améliorer Prêcher Les différences avec un SGBD Protocole de communication unique   Base de données hiérarchiques Plutôt une vision fonctionnelle que technique − Une entrée du même niveau ne possède pas forcément les  mêmes informations qu’une autre  Représentation sous forme d’un arbre  mercredi 6 mai 2009
  • 18. Utiliser Améliorer Prêcher Les différences avec un SGBD Protocole de communication unique   Base de données hiérarchiques Plutôt une vision fonctionnelle que technique − Une entrée du même niveau ne possède pas forcément les  mêmes informations qu’une autre  Représentation sous forme d’un arbre Orientée lecture plutôt qu’écriture   mercredi 6 mai 2009
  • 19. Utiliser Améliorer Prêcher Les différences avec un SGBD Protocole de communication unique   Base de données hiérarchiques Plutôt une vision fonctionnelle que technique − Une entrée du même niveau ne possède pas forcément les  mêmes informations qu’une autre  Représentation sous forme d’un arbre Orientée lecture plutôt qu’écriture   Administration “relativement” plus facile  mercredi 6 mai 2009
  • 20. Utiliser Améliorer Prêcher Les différences avec un SGBD Protocole de communication unique   Base de données hiérarchiques Plutôt une vision fonctionnelle que technique − Une entrée du même niveau ne possède pas forcément les  mêmes informations qu’une autre  Représentation sous forme d’un arbre Orientée lecture plutôt qu’écriture   Administration “relativement” plus facile  Réplication multi-maîtres plus courante  mercredi 6 mai 2009
  • 21. Utiliser Améliorer Prêcher Exemple d’objet LDAP  mercredi 6 mai 2009
  • 22. Utiliser Améliorer Prêcher Exemple d’objet LDAP  mercredi 6 mai 2009
  • 23. Utiliser Améliorer Prêcher Les schémas LDAP  mercredi 6 mai 2009
  • 24. Utiliser Améliorer Prêcher Les schémas LDAP Un schéma définit un ou plusieurs objectClass  (types d’objets) ainsi que des attributs  mercredi 6 mai 2009
  • 25. Utiliser Améliorer Prêcher Les schémas LDAP Un schéma définit un ou plusieurs objectClass  (types d’objets) ainsi que des attributs  Un objectClass définit des attributs obligatoires, optionnels − une éventuelle relation avec d’autres types d’objets −  mercredi 6 mai 2009
  • 26. Utiliser Améliorer Prêcher Les schémas LDAP Un schéma définit un ou plusieurs objectClass  (types d’objets) ainsi que des attributs  Un objectClass définit des attributs obligatoires, optionnels − une éventuelle relation avec d’autres types d’objets − Un attribut définit  une syntaxe (contenu) − une méthode de recherche −  mercredi 6 mai 2009
  • 27. Utiliser Améliorer Prêcher Les schémas LDAP Un schéma définit un ou plusieurs objectClass  (types d’objets) ainsi que des attributs  Un objectClass définit des attributs obligatoires, optionnels − une éventuelle relation avec d’autres types d’objets − Un attribut définit  une syntaxe (contenu) − une méthode de recherche − Chaque objet d’un schéma est identifié par un  OID  mercredi 6 mai 2009
  • 28. Utiliser Améliorer Prêcher Les objectClass  mercredi 6 mai 2009
  • 29. Utiliser Améliorer Prêcher Les objectClass Il en existe trois types  abstract − classe abstraite  structural − classe concrète (instances)  auxiliary − extensions de classes, permet de définir un objectClass qui  pourra être utilisé par plusieurs objets avec des objectClass structural différent  mercredi 6 mai 2009
  • 30. Utiliser Améliorer Prêcher Les objectClass Il en existe trois types  abstract − classe abstraite  structural − classe concrète (instances)  auxiliary − extensions de classes, permet de définir un objectClass qui  pourra être utilisé par plusieurs objets avec des objectClass structural différent est défini par un nom   mercredi 6 mai 2009
  • 31. Utiliser Améliorer Prêcher Les objectClass Il en existe trois types  abstract − classe abstraite  structural − classe concrète (instances)  auxiliary − extensions de classes, permet de définir un objectClass qui  pourra être utilisé par plusieurs objets avec des objectClass structural différent est défini par un nom   définit une liste d’attributs obligatoires, une autre d’optionnels  mercredi 6 mai 2009
  • 32. Utiliser Améliorer Prêcher syntaxe: dn, boolean, directory string Un attribut (utf8), ia5string (ascii), integer equality = recherche egalite sur la valeur ordering = entree possedant cet attribut substr = sous chaine  mercredi 6 mai 2009
  • 33. Utiliser Améliorer Prêcher syntaxe: dn, boolean, directory string Un attribut (utf8), ia5string (ascii), integer définit  par un nom − Une syntaxe (défini le type de contenu, par exemple un − entier, une chaîne de caractères, etc.) equality = recherche Dès règles de comparaison (EQUALITY, ORDERING, − egalite sur la valeur ordering = entree SUBSTR) possedant cet attribut Par exemple, pour les chaînes de caractères il est possible substr = sous chaine  de définir une recherche sensible ou non à la casse  mercredi 6 mai 2009
  • 34. Utiliser Améliorer Prêcher syntaxe: dn, boolean, directory string Un attribut (utf8), ia5string (ascii), integer définit  par un nom − Une syntaxe (défini le type de contenu, par exemple un − entier, une chaîne de caractères, etc.) equality = recherche Dès règles de comparaison (EQUALITY, ORDERING, − egalite sur la valeur ordering = entree SUBSTR) possedant cet attribut Par exemple, pour les chaînes de caractères il est possible substr = sous chaine  de définir une recherche sensible ou non à la casse un indicateur de multi-valuation   mercredi 6 mai 2009
  • 35. Utiliser Améliorer Prêcher Le DIT : Directory Information Tree  mercredi 6 mai 2009
  • 36. Utiliser Améliorer Prêcher Le DIT : Directory Information Tree Structure logique d’une hiérarchie, représenté  sous forme d’un arbre  mercredi 6 mai 2009
  • 37. Utiliser Améliorer Prêcher Le DIT : Directory Information Tree Structure logique d’une hiérarchie, représenté  sous forme d’un arbre  Au sein de cet arbre, une entrée est identifiée par son nom - unique - au sein de sa position  mercredi 6 mai 2009
  • 38. Utiliser Améliorer Prêcher Le DIT : Directory Information Tree Structure logique d’une hiérarchie, représenté  sous forme d’un arbre  Au sein de cet arbre, une entrée est identifiée par son nom - unique - au sein de sa position  Ce nom unique est nommé DN quand il est complet uid=asyd,ou=People,dc=asyd,dc=net − RDN quand il est relatif uid=asyd −  mercredi 6 mai 2009
  • 39. Utiliser Améliorer Prêcher Le DIT : Directory Information Tree Structure logique d’une hiérarchie, représenté  sous forme d’un arbre  Au sein de cet arbre, une entrée est identifiée par son nom - unique - au sein de sa position  Ce nom unique est nommé DN quand il est complet uid=asyd,ou=People,dc=asyd,dc=net − RDN quand il est relatif uid=asyd − La racine est nommée suffixdn par exemple,  dc=asyd,dc=net  mercredi 6 mai 2009
  • 40. Utiliser Améliorer Prêcher Le DIT : Directory Information Tree  mercredi 6 mai 2009
  • 41. Utiliser Améliorer Prêcher Le DIT : Directory Information Tree Sa conception est probablement la phase la  plus délicate de la conception d’un annuaire Une mauvaise conception est lourde de conséquences − Difficile d’effectuer des modifications sur le DIT une fois − mis en place Plusieurs approches possibles (par exemple, pour une − grande société, une hiérarchie par ville, puis par position RH, mais pour une PME, une représentation à plat)  mercredi 6 mai 2009
  • 42. Utiliser Améliorer Prêcher Le DIT : Directory Information Tree  mercredi 6 mai 2009
  • 43. Utiliser Améliorer Prêcher Le DIT : Directory Information Tree Quelques conventions  un objet de type ou (organizationalUnit) pour représenter − un noeud un noeud (ou=People) à la racine de l’arbre pour y stocker − les comptes utilisateurs (chez certains (mauvais) éditeurs d’application cette valeur est codée en dur) aujourd’hui, utilisation de la forme dc=domain,dc=tld en tant − que suffixdn (plutôt que o=organization)  mercredi 6 mai 2009
  • 44. Utiliser Améliorer Prêcher Le DIT : Directory Information Tree Quelques conventions  un objet de type ou (organizationalUnit) pour représenter − un noeud un noeud (ou=People) à la racine de l’arbre pour y stocker − les comptes utilisateurs (chez certains (mauvais) éditeurs d’application cette valeur est codée en dur) aujourd’hui, utilisation de la forme dc=domain,dc=tld en tant − que suffixdn (plutôt que o=organization) Rien n’oblige à suivre ces conventions  rajout de contacts privés sous une entrée utilisateur (ce − qui donnerait cn=Mlle X,cn=Bruno Bonfils,ou=People,dc=guses,dc=org) utilisation de o=organization en tant que suffixdn −  mercredi 6 mai 2009
  • 45. Utiliser Améliorer Prêcher Le DIT : Directory Information Tree Exemple d’arbre simple dc=guses,dc=org  ou=People − ou=Special users   ou=Contacts  ou=Members ou=Group −  mercredi 6 mai 2009
  • 46. LDAP et la gestion d’identité mercredi 6 mai 2009
  • 47. LDAP et la gestion d’identité mercredi 6 mai 2009
  • 48. Utiliser Améliorer Prêcher IAM : Pourquoi LDAP ?  mercredi 6 mai 2009
  • 49. Utiliser Améliorer Prêcher IAM : Pourquoi LDAP ? Représentation hiérarchique  Un noeud pour les employés d’une société, un autre pour − les fournisseurs, un pour les prestataires, etc. Au sein d’un même noeud, des utilisateurs peuvent − posséder des informations différentes Typiquement, les administrateurs Unix posséderont  l’objectClass posixAccount  mercredi 6 mai 2009
  • 50. Utiliser Améliorer Prêcher IAM : Pourquoi LDAP ? Représentation hiérarchique  Un noeud pour les employés d’une société, un autre pour − les fournisseurs, un pour les prestataires, etc. Au sein d’un même noeud, des utilisateurs peuvent − posséder des informations différentes Typiquement, les administrateurs Unix posséderont  l’objectClass posixAccount Gestion des groupes  Au moins trois manières de gérer les groupes − Un objet group avec un attribut multivaleur uniqueMember   Certains annuaires proposent des groupes dynamiques, leur liste est calculée à partir d’une requête LDAP  mercredi 6 mai 2009
  • 51. Utiliser Améliorer Prêcher IAM : Pourquoi LDAP ?  mercredi 6 mai 2009
  • 52. Utiliser Améliorer Prêcher IAM : Pourquoi LDAP ? Une gestion des droits fine  ACL ou ACI en fonction des annuaires − Permet de limiter les accès sur les objets, les attributs − (lecture, écriture) Interdire la consultation de l’annuaire par un prestataire − Modifications sur le noeud Prestataire par les membres − d’un groupe Manager  mercredi 6 mai 2009
  • 53. Utiliser Améliorer Prêcher Un petit mot sur le provisionning  mercredi 6 mai 2009
  • 54. Utiliser Améliorer Prêcher Un petit mot sur le provisionning Disposer d’outils permettant d’alimenter un  annuaire, mais orienté fonctionnel  mercredi 6 mai 2009
  • 55. Utiliser Améliorer Prêcher Un petit mot sur le provisionning Disposer d’outils permettant d’alimenter un  annuaire, mais orienté fonctionnel  Des outils spécifiques Sun Identity Manager (IDM), Novell Identity Manager, − Microsoft Identity Lifecycle Manager Permet de rajouter des workflows, des rapports, une − conformité légale (Sarbanes Oxley)  mercredi 6 mai 2009
  • 56. Utiliser Améliorer Prêcher Un petit mot sur le provisionning Disposer d’outils permettant d’alimenter un  annuaire, mais orienté fonctionnel  Des outils spécifiques Sun Identity Manager (IDM), Novell Identity Manager, − Microsoft Identity Lifecycle Manager Permet de rajouter des workflows, des rapports, une − conformité légale (Sarbanes Oxley) Des éditeurs fonctionnels  Calendra (Directory Management) − Sun Directory Editor −  mercredi 6 mai 2009
  • 57. Utiliser Améliorer Prêcher Les raisons techniques  mercredi 6 mai 2009
  • 58. Utiliser Améliorer Prêcher Les raisons techniques protocole d’accès unifié, en résulte une  adoption quasi systématique par les éditeurs d’applications  mercredi 6 mai 2009
  • 59. Utiliser Améliorer Prêcher Les raisons techniques protocole d’accès unifié, en résulte une  adoption quasi systématique par les éditeurs d’applications  sécurisation SSL/STARTTLS −  mercredi 6 mai 2009
  • 60. Utiliser Améliorer Prêcher Les raisons techniques protocole d’accès unifié, en résulte une  adoption quasi systématique par les éditeurs d’applications  sécurisation SSL/STARTTLS − réplication multi-maîtres  haute disponibilité −  mercredi 6 mai 2009
  • 61. La pratique DSEE, NSS/PAM, Démo mercredi 6 mai 2009
  • 62. La pratique DSEE, NSS/PAM, Démo mercredi 6 mai 2009
  • 63. Utiliser Améliorer Prêcher Directory Server Enterprise Edition  mercredi 6 mai 2009
  • 64. Utiliser Améliorer Prêcher Directory Server Enterprise Edition Composante de JES5   mercredi 6 mai 2009
  • 65. Utiliser Améliorer Prêcher Directory Server Enterprise Edition Composante de JES5   Est composé de un serveur LDAP, un proxy − une instance de configuration − un composant de la webconsole − un agent cacao −  mercredi 6 mai 2009
  • 66. Utiliser Améliorer Prêcher Directory Server Enterprise Edition Composante de JES5   Est composé de un serveur LDAP, un proxy − une instance de configuration − un composant de la webconsole − un agent cacao − Attention, pas de version 6.2 en  production !  mercredi 6 mai 2009
  • 67. Utiliser Améliorer Prêcher Directory Server Enterprise Edition Composante de JES5   Est composé de un serveur LDAP, un proxy − une instance de configuration − un composant de la webconsole − un agent cacao − Attention, pas de version 6.2 en  production ! et même pas de 6.2 tout court... −  mercredi 6 mai 2009
  • 68. Utiliser Améliorer Prêcher Utilisation de LDAP pour les NSS  mercredi 6 mai 2009
  • 69. Utiliser Améliorer Prêcher Utilisation de LDAP pour les NSS NameServiceSwitch   mercredi 6 mai 2009
  • 70. Utiliser Améliorer Prêcher Utilisation de LDAP pour les NSS NameServiceSwitch  Permet de résoudre l’ensemble des tables de − correspondance (nom <-> valeur) du système résolution de nom d’hôte en adresse IP (DNS)   translation de nom d’utilisateurs, groupes en UID/GID  d’autres tables plus OS spécifiques comme celle utilisée par autofs  mercredi 6 mai 2009
  • 71. Utiliser Améliorer Prêcher Utilisation de LDAP pour les NSS NameServiceSwitch  Permet de résoudre l’ensemble des tables de − correspondance (nom <-> valeur) du système résolution de nom d’hôte en adresse IP (DNS)   translation de nom d’utilisateurs, groupes en UID/GID  d’autres tables plus OS spécifiques comme celle utilisée par autofs Permet d’utiliser une autre source de données (réseau) − pour des fichiers comme /etc/passwd /etc/group /etc/ shadow, etc.  mercredi 6 mai 2009
  • 72. Utiliser Améliorer Prêcher Utilisation de LDAP pour les NSS NameServiceSwitch  Permet de résoudre l’ensemble des tables de − correspondance (nom <-> valeur) du système résolution de nom d’hôte en adresse IP (DNS)   translation de nom d’utilisateurs, groupes en UID/GID  d’autres tables plus OS spécifiques comme celle utilisée par autofs Permet d’utiliser une autre source de données (réseau) − pour des fichiers comme /etc/passwd /etc/group /etc/ shadow, etc. Les interfaces (API) exposées sont les mêmes, quelque − soit la source de données  mercredi 6 mai 2009
  • 73. Utiliser Améliorer Prêcher Utilisation de LDAP pour les NSS NameServiceSwitch  Permet de résoudre l’ensemble des tables de − correspondance (nom <-> valeur) du système résolution de nom d’hôte en adresse IP (DNS)   translation de nom d’utilisateurs, groupes en UID/GID  d’autres tables plus OS spécifiques comme celle utilisée par autofs Permet d’utiliser une autre source de données (réseau) − pour des fichiers comme /etc/passwd /etc/group /etc/ shadow, etc. Les interfaces (API) exposées sont les mêmes, quelque − soit la source de données Attention, le service NSS n’est pas lié à l’authentification −  mercredi 6 mai 2009
  • 74. Utiliser Améliorer Prêcher à propos de PAM auth: id/pass OK account: user’s account is valid (validité du mot de passe, exp session: set up and terminate login session passwd: modification du mot de passe  mercredi 6 mai 2009
  • 75. Utiliser Améliorer Prêcher à propos de PAM Pour rappel, PAM est une couche auth: id/pass OK  account: user’s account is valid (validité du mot de passe, exp d’abstraction pour gérer l’authentification session: set up and terminate login session passwd: modification du mot de passe Plus précisément, pour gérer quatre étapes liées à − l’authentification (auth, account, session, password)  mercredi 6 mai 2009
  • 76. Utiliser Améliorer Prêcher à propos de PAM Pour rappel, PAM est une couche auth: id/pass OK  account: user’s account is valid (validité du mot de passe, exp d’abstraction pour gérer l’authentification session: set up and terminate login session passwd: modification du mot de passe Plus précisément, pour gérer quatre étapes liées à − l’authentification (auth, account, session, password) Au même titre que les NSS, PAM permet  d’utiliser différents modules  mercredi 6 mai 2009
  • 77. Utiliser Améliorer Prêcher à propos de PAM Pour rappel, PAM est une couche auth: id/pass OK  account: user’s account is valid (validité du mot de passe, exp d’abstraction pour gérer l’authentification session: set up and terminate login session passwd: modification du mot de passe Plus précisément, pour gérer quatre étapes liées à − l’authentification (auth, account, session, password) Au même titre que les NSS, PAM permet  d’utiliser différents modules  Permet d’empiler les modules  mercredi 6 mai 2009
  • 78. Utiliser Améliorer Prêcher à propos de PAM Pour rappel, PAM est une couche auth: id/pass OK  account: user’s account is valid (validité du mot de passe, exp d’abstraction pour gérer l’authentification session: set up and terminate login session passwd: modification du mot de passe Plus précisément, pour gérer quatre étapes liées à − l’authentification (auth, account, session, password) Au même titre que les NSS, PAM permet  d’utiliser différents modules  Permet d’empiler les modules  Attention, PAM ne gère que l’authentification ! (répond OK ou KO à une demande de vérification d’un couple login / mot de passe)  mercredi 6 mai 2009
  • 79. Utiliser Améliorer Prêcher Les différences entre NSS et PAM  mercredi 6 mai 2009
  • 80. Utiliser Améliorer Prêcher Les différences entre NSS et PAM Les deux sont complémentaires, mais peuvent  s’utiliser indépendamment l’un de l’autre  mercredi 6 mai 2009
  • 81. Utiliser Améliorer Prêcher Les différences entre NSS et PAM Les deux sont complémentaires, mais peuvent  s’utiliser indépendamment l’un de l’autre  PAM peut s’utiliser dans le cadre d’une authentification apache aucun UID/GID n’est nécessaire − vérification du login/mot de passe suffisant −  mercredi 6 mai 2009
  • 82. Utiliser Améliorer Prêcher Les différences entre NSS et PAM Les deux sont complémentaires, mais peuvent  s’utiliser indépendamment l’un de l’autre  PAM peut s’utiliser dans le cadre d’une authentification apache aucun UID/GID n’est nécessaire − vérification du login/mot de passe suffisant − Une session système (login local, ssh)  nécessite un UID/GID (entre autre) l’utilisateur doit donc être présent dans la table NSS − passwd  mercredi 6 mai 2009
  • 83. Utiliser Améliorer Prêcher Au cas où  mercredi 6 mai 2009
  • 84. Utiliser Améliorer Prêcher Au cas où  mercredi 6 mai 2009
  • 85. Utiliser Améliorer Prêcher Au cas où  mercredi 6 mai 2009
  • 86. Utiliser Améliorer Prêcher Au cas où  mercredi 6 mai 2009
  • 87. Démonstration : DSEE, Solaris mercredi 6 mai 2009
  • 88. Démonstration : DSEE, Solaris mercredi 6 mai 2009
  • 91. Utiliser Améliorer Prêcher Les autres outils  mercredi 6 mai 2009
  • 92. Utiliser Améliorer Prêcher Les autres outils OpenLDAP   mercredi 6 mai 2009
  • 93. Utiliser Améliorer Prêcher Les autres outils OpenLDAP   Apache Directory Studio  mercredi 6 mai 2009
  • 94. Utiliser Améliorer Prêcher Les autres outils OpenLDAP   Apache Directory Studio  Apache Directory Server  mercredi 6 mai 2009
  • 95. Utiliser Améliorer Prêcher Les autres outils OpenLDAP   Apache Directory Studio  Apache Directory Server  Penrose  mercredi 6 mai 2009
  • 96. Utiliser Améliorer Prêcher Liens http://docs.sun.com/   http://linagora.org/ pour des supports de formation LDAP, OpenLDAP  http://google.com/  etc.  mercredi 6 mai 2009