Identité, annuaire et authentification

Licence Creative Commons

Identité

  • Tout ce qui va caractériser une personne (état civil)
  • Toutes les informations techniques nécessaires associées (mot de passe, shell, environnement, langue, adresse de messagerie)
  • Son environnement en entreprise (responsable, service, etc…)

Annuaire

  • Regroupement de l'ensemble des identités de l'entreprise
    • Les identités des salariés
    • Les groupes
    • Les services (au sens application)
    • Et même les serveurs !

Authentification

Le(s) processus qui va(vont) permettre au(x) système(s) d'identifier formellement une entité :

  • Une personne
  • Un groupe
  • Un autre système (serveur, application, etc…)

Protocoles associés

  • Pour l'authentification :
    • SAML
    • CAS
    • OpenID
    • WebAuthn
    • Kerberos
    • OAuth
    • LDAP
    • etc…
  • Pour l'annuaire :
    • LDAP

LDAP : Lightweight Directory Access Protocol

  • Pourquoi LDAP ?
    • Extensible, modulaire, modifiable
    • Réplicable partiellement ou totalement
    • Bien normé et bien spécifié
    • Grande liberté sur la méthode stockage (fichiers à plat, base de données, etc...)

LDAP : Hiérarchie

  • Organisation en arborescence
  • Possibilité de contrôler un à plusieurs niveaux de l'arborescence
  • Possibilité de répliquer un à plusieurs niveaux de l'arborescence
  • Notion de “Distinguished Name”
  • Champs/attributs obligatoires ou optionnels

LDAP : caractéristiques remarquables

  • Plusieurs niveaux d'accès : read/write (classique), authenticate, compare…
  • Plusieurs Layout de programmation : C, C++, Java, Perl, Python, etc…
  • Normé de manière internationale
    • RFC
    • Dépôt de nouveaux champs et attributs
  • Notion de schéma
    • Des schémas adaptés à chaque application
    • Des schémas universellement compris par plusieurs applications/systèmes

LDAP : cœur du système d'information de l'entreprise

  • Extensible (presque) à l'infini
    • Possibilité de définir ses propres schémas
    • Format d'interopérabilité et d'échange : LDIF
    • Intégration d'applications dans un LDAP
  • Compris par (presque) tous les OS
    • GNU/Linux, *BSD
    • HP-UX, AiX, Solaris, Mac OS X
    • Microsoft Windows (à travers Active Directory)
  • Intégré dans beaucoup d'applications

LDAP : format LDIF ?

						
dn: ou=Siege,dc=vinci-concessions,dc=com
objectClass: organizationalUnit
ou: Siege
						
					

LDAP : comment définir un schéma ?

  • un OID
  • une description
  • des attributs (obligatoires ou optionnels)
						
olcObjectClasses: ( 2.5.6.5 NAME 'organizationalUnit'
SUP top STRUCTURAL
MUST ou
MAY ( userPasswd $ … ) )