Top Banner
vendredi 13 septembre 13
41

Drupal sso

Nov 28, 2014

Download

Technology

Bruno Bonfils

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Drupal sso

vendredi 13 septembre 13

Page 2: Drupal sso

l’agilité du SIOpenCSI

Le SSO, la fédérationet Drupal

Bruno Bonfils <[email protected]>

2vendredi 13 septembre 13

Page 3: Drupal sso

% whoami

✦ sysadmin devenu consultant sécurité spécialisé en gestion d’identité (SSO, IAM, PKI, etc.)

✦ Simple utilisateur de Drupal

✦ Twitter : bbonfils

✦ IRC : [email protected]

3vendredi 13 septembre 13

Page 4: Drupal sso

La présentation

✦ Cas d’utilisation

✦ Description des problématiques

✦ Description des réponses techniques

✦ Best pratices

4vendredi 13 septembre 13

Page 5: Drupal sso

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

5vendredi 13 septembre 13

Page 6: Drupal sso

Définitions

✦ Fournisseur d’identité (IdP) : en charge d’authentifier un utilisateur

✦ Fournisseur de services (SP) : site utilisateur, par exemple un Drupal

6vendredi 13 septembre 13

Page 7: Drupal sso

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

7vendredi 13 septembre 13

Page 8: Drupal sso

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

8vendredi 13 septembre 13

Page 9: Drupal sso

Pour mieux comprendre

9

Intranet(Drupal)

Extranet(Drupal)

GED(Autre)

Intranet

Internet

Consulte, commente

Internaute

Technicien

Consulte, commente

Consulte, publiecommente

Consulte, publie

Marketing

Consulte, publiecommente

vendredi 13 septembre 13

Page 10: Drupal sso

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

10vendredi 13 septembre 13

Page 11: Drupal sso

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

Page 12: Drupal sso

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

12vendredi 13 septembre 13

Page 13: Drupal sso

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

Page 14: Drupal sso

Simplifions...

✦ Le DSI d’ACME veut simplifier l’authentification des employés dans un premier temps, puis des Internautes dans un second temps

14vendredi 13 septembre 13

Page 15: Drupal sso

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

15vendredi 13 septembre 13

Page 16: Drupal sso

Un référentiel unique

16

Intranet(Drupal)

Extranet(Drupal)

GED(Autre)

Intranet

Internet

Internaute

Technicien MarketingAdministrateur

vendredi 13 septembre 13

Page 17: Drupal sso

Quid des comptes internautes ?

✦ On peut très bien mixer une authentification avec référentiel et une authentification locale

17vendredi 13 septembre 13

Page 18: Drupal sso

Mix de référentiels

18

Intranet(Drupal)

Extranet(Drupal)

GED(Autre)

Intranet

Internet

Internaute

Technicien MarketingAdministrateur

Comptes internautes

Comptes employés

vendredi 13 septembre 13

Page 19: Drupal sso

Drupal et LDAP

✦ Le module ldap de Drupal est très complet

✦ Authentification

✦ Autorisation

✦ Provisionning

✦ Documentation !

19vendredi 13 septembre 13

Page 20: Drupal sso

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

20vendredi 13 septembre 13

Page 21: Drupal sso

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é

21vendredi 13 septembre 13

Page 22: Drupal sso

SSO : La technique

✦ On distingue deux grands familles de fonctionnement

✦ Par cookie

✦ Par ticket

22vendredi 13 septembre 13

Page 23: Drupal sso

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

23vendredi 13 septembre 13

Page 24: Drupal sso

SSO par cookie

24

Service IdP

accède à

redirige

accède à

authentification

redirige (cookie)

accède à (cookie)

information de session

vendredi 13 septembre 13

Page 25: Drupal sso

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

Page 26: Drupal sso

Le SSO par ticket

✦ L’utilisateur s’authentifie sur l’IdP

✦ Chaque service demande un ticket à l’IdP

26vendredi 13 septembre 13

Page 27: Drupal sso

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

Page 28: Drupal sso

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

Page 29: Drupal sso

SSO

SSO employés

29

Intranet(Drupal)

Extranet(Drupal)

GED(Autre)

Intranet

Internet

Internaute

Technicien MarketingAdministrateur

Comptes internautes

Comptes employés

vendredi 13 septembre 13

Page 30: Drupal sso

Solutions SSO libres

✦ Par cookie

✦ LemonLDAP::NG

✦ OpenAM

✦ Par ticket

✦ CAS

✦ SAML

30vendredi 13 septembre 13

Page 31: Drupal sso

Et maintenant ?

✦ Simplifions la vie des internautes en ajoutant la possibilité d’utiliser un compte déjà existant auprès de fournisseurs divers

31vendredi 13 septembre 13

Page 32: Drupal sso

Les solutions techniques

✦ OpenID (en perte de vitesse)

✦ OAuth2

✦ Facebook, Google, etc..

32vendredi 13 septembre 13

Page 33: Drupal sso

SSO

Fédération

33

Intranet(Drupal)

Extranet(Drupal)

GED(Autre)

Intranet

Internet

Internaute

Technicien MarketingAdministrateur

Comptes internautes

Comptes employés

Google Facebook

oauth

vendredi 13 septembre 13

Page 34: Drupal sso

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é

34vendredi 13 septembre 13

Page 35: Drupal sso

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

35vendredi 13 septembre 13

Page 36: Drupal sso

Rappel

36

Intranet(Drupal)

Extranet(Drupal)

GED(Autre)

Intranet

Internet

Consulte, commente

Internaute

Technicien

Consulte, commente

Consulte, publiecommente

Consulte, publie

Marketing

Consulte, publiecommente

vendredi 13 septembre 13

Page 37: Drupal sso

Matrice : Intranet

37

Role Groupe Droits

developper developper• Création du contenu

xxx• Consultation

marketing anonymous Consultation

vendredi 13 septembre 13

Page 38: Drupal sso

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

38vendredi 13 septembre 13

Page 39: Drupal sso

Démo

✦ LDAP

✦ CAS

✦ SimpleSAML

39vendredi 13 septembre 13

Page 40: Drupal sso

Conclusion

✦ Drupal est probablement le CMS le plus complet en terme de modules d’authentifications / autorisations

40vendredi 13 septembre 13

Page 41: Drupal sso

l’agilité du SIOpenCSI

Questions ?

41vendredi 13 septembre 13