4. La présentation
✦ Cas d’utilisation
✦ Description des problématiques
✦ Description des réponses techniques
✦ Best pratices
4
vendredi 13 septembre 13
5. Définitions
✦ SSO : authentification unique
✦ Fédération : authentification unique déléguée à une
entité tierce
✦ Référentiel d’identité : « base de données » maître
contenant la liste des utilisateurs, mots de passes,
attributs (dont rôles)
✦ Rôle : Fonction d’une personne
✦ Droit : Permission (donné ou refusée) d’effectuer
une action sur un élément
5
vendredi 13 septembre 13
6. Définitions
✦ Fournisseur d’identité (IdP) : en charge
d’authentifier un utilisateur
✦ Fournisseur de services (SP) : site
utilisateur, par exemple un Drupal
6
vendredi 13 septembre 13
7. Cas d’utilisation
✦ Une société (ACME) qui dispose de :
✦ Un Drupal comme outil interne
✦ Un Drupal comme site vitrine
✦ Une application tierce comme GED
7
vendredi 13 septembre 13
8. Cas d’utilisation : les acteurs
✦ Technicien : consulte et publie des articles
sur le drupal interne, la GED. Peut
consulter le site vitrine (comme n’importe
quel Internaute)
✦ Marketing : en charge de publier des
articles sur le site vitrine
✦ Internaute : consulte et commente les
articles du site vitrine
8
vendredi 13 septembre 13
10. Mode non SSO
✦ Chaque site dispose de sa base de comptes
(login, mot de passes, rôles)
✦ Problèmes utilisateurs
✦ Double (voire triple) saisie pour un
employé
✦ Création d’un compte pour qu’un
Internaute puisse commenter
10
vendredi 13 septembre 13
11. Un référentiel par site
11
Intranet
(Drupal)
Extranet
(Drupal)
GED
(Autre)
Intranet
Internet
Internaute
Technicien MarketingAdministrateur
gère
gère
gère
vendredi 13 septembre 13
12. Mode non SSO
✦ Problèmes d’administrations
✦ Multiples créations de comptes, saisies
d’attributs,
✦ Rigueur requise (ex : bbonfils vs
bonfilsb), notamment entre les différents
administrateurs
12
vendredi 13 septembre 13
13. Mode non SSO
✦ Il est toujours facile de créer un utilisateur
✦ Il est beaucoup plus difficile de supprimer
un utilisateur, a fortiori dans un laps de
temps pertinent
13
!
vendredi 13 septembre 13
14. Simplifions...
✦ Le DSI d’ACME veut simplifier
l’authentification des employés dans un
premier temps, puis des Internautes dans
un second temps
14
vendredi 13 septembre 13
15. Utilisation d’un référentiel unique
✦ Simplifie l’administration
✦ L’utilisateur à le même mot de passe et
attributs sur tous les sites
✦ Solutions possibles :
✦ Base de données SQL
✦ Serveur LDAP
✦ Active Directory
15
vendredi 13 septembre 13
17. Quid des comptes internautes ?
✦ On peut très bien mixer une
authentification avec référentiel et une
authentification locale
17
vendredi 13 septembre 13
19. Drupal et LDAP
✦ Le module ldap de Drupal est très complet
✦ Authentification
✦ Autorisation
✦ Provisionning
✦ Documentation !
19
vendredi 13 septembre 13
20. Et le SSO ?
✦ Nous avons maintenant un référentiel
unique, propre, et facile à maintenir
✦ Simplifions la vie des employés en rajoutant
l’authentification unique
20
vendredi 13 septembre 13
21. Comprendre le SSO
✦ Un utilisateur s’authentifie sur un seul site
(le fournisseur d’identité)
✦ Il n’a pas besoin de s’authentifier sur tous
les autres sites qui utilisent ce fournisseur
d’identité
21
vendredi 13 septembre 13
22. SSO : La technique
✦ On distingue deux grands familles de
fonctionnement
✦ Par cookie
✦ Par ticket
22
vendredi 13 septembre 13
23. Le SSO par cookie
✦ L’IdP positionne un cookie (généralement
sur .domaine.com)
✦ Les SP lisent ce cookie, le vérifient auprès
de l’IdP et récupérent les attributs de
l’utilisateur
23
vendredi 13 septembre 13
24. SSO par cookie
24
Service IdP
accède à
redirige
accède à
authentification
redirige (cookie)
accède à (cookie)
information de session
vendredi 13 septembre 13
25. SSO par cookie
25
Service 2 IdP
accède à (cookie)
information de session
Exemple :
• liste des groupes
• attributs :
• email, prénom, nom
vendredi 13 septembre 13
26. Le SSO par ticket
✦ L’utilisateur s’authentifie sur l’IdP
✦ Chaque service demande un ticket à l’IdP
26
vendredi 13 septembre 13
27. Le SSO par ticket
27
Service IdP
accède à
redirige
accède à
authentification
redirige (cookie + jeton)
accède à (jeton)
vérifie le jeton
vendredi 13 septembre 13
28. Le SSO par ticket
28
Service 2 IdP
accède à
redirige
accède à (cookie)
redirige (jeton)
accède à (jeton)
vérifie le jeton
vendredi 13 septembre 13
30. Solutions SSO libres
✦ Par cookie
✦ LemonLDAP::NG
✦ OpenAM
✦ Par ticket
✦ CAS
✦ SAML
30
vendredi 13 septembre 13
31. Et maintenant ?
✦ Simplifions la vie des internautes en
ajoutant la possibilité d’utiliser un compte
déjà existant auprès de fournisseurs divers
31
vendredi 13 septembre 13
32. Les solutions techniques
✦ OpenID (en perte de vitesse)
✦ OAuth2
✦ Facebook, Google, etc..
32
vendredi 13 septembre 13
34. SSO vs Fédération ?
✦ Le terme fédération sous entend que deux
entités (sociétés) sont impliquées
✦ Le fournisseur de service : vous
✦ Le fournisseur d’identité : Google, etc.
✦ Le terme SSO est utilisé dans un cadre
mono entité
34
vendredi 13 septembre 13
35. La gestion des rôles
✦ Un fournisseur d’identité ne doit pas
transmettre des droits, mais des rôles
fonctionels
✦ Ces rôles doivent être mappés localement
à des groupes, qui eux définissent des
droits
35
vendredi 13 septembre 13
37. Matrice : Intranet
37
Role Groupe Droits
developper developper
• Création du contenu
xxx
• Consultation
marketing anonymous Consultation
vendredi 13 septembre 13
38. Fédération : SAML
✦ Il existe un autre protocole (standard) de
fédération : SAML
✦ Très utile (et utilisé) dans le cas
d’applications SaaS
✦ Drupal se repose alors sur l’excellente
bibliothèque simplesamlphp
38
vendredi 13 septembre 13