Identité, annuaire et authentification
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 : 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 $ … ) )