41
vendredi 13 septembre 13

Drupal sso

Embed Size (px)

DESCRIPTION

 

Citation preview

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