31 mars, 1er et 2 avril 2009



WebSSO, synchronisation et
contrôle des accès via LDAP
       Clément Oudot –
      Thomas...
Sommaire général   2



●   Synchronisation d'identités
●   WebSSO et contrôle des accès
●   Démonstration




           ...
Sommaire       3



●   Synchronisation d'identités
    –   Présentation du projet LSC
    –   Principes d'une synchronisa...
Présentation du projet LSC          4




●   Qu'est ce que LSC ?
    –   Projet Open Source, licence BSD
    –   Signifie...
Synchronisation d'identités        5



●   Automatise les importations/exportations de
    données entre des référentiels...
Principe de synchronisation d'identités               6



●   Deux niveaux d'information sur une identité :
    –   L'exi...
Principe de synchronisation d'identités            7



●   Des critères de synchronisation
    –   Type de la source (LDA...
Fonctionnement général de LSC              8




●   3 niveaux de synchronisation :
    –   Base de données vers annuaire ...
Fonctionnement général de LSC                                                    9

Base de
données


                    ...
Différents formats d'entrées       10



●   Les sources de synchronisation peuvent être de
    différentes natures (SGBD,...
Différents formats de sorties             11



●   Les synchronisations génèrent des rapports
    détaillés, sous différe...
Traitements des données            12



●   Des traitements simples, comme :
    –   Concaténation de plusieurs attributs...
Prise en charge d'Active Directory        13



●   Indispensable pour peupler les utilisateurs d'AD
●   UserAccountContro...
Cas d'utilisation général                   14



                                    Interface de
                       ...
Sommaire   15



●   WebSSO et gestion des accès
    –   Concepts et définition du WebSSO
    –   Présentation de LemonLDA...
Définition du WebSSO             16


●   SSO signifie « Single Sign On », qui peut se
    traduire en français par « auth...
SSO par agent   17




www.linagora.com
SSO par délégation   18




www.linagora.com
SSO par mandataire inverse   19




  www.linagora.com
Le protocole HTTP                          20




            GET http://www.linagora.com HTTP/1.1
            Accept: tex...
Présentation de LemonLDAP::NG               21


●   LemonLDAP est un ensemble de scripts et de
    modules Perl utilisés ...
Principes         22


●   Le principe général est d'utiliser un annuaire
    LDAP pour :
    –   authentifier l'utilisate...
Fonctionnement général   23




www.linagora.com
Intégration d'une application             24


●   Pré-requis :
    –   Accès au code source et possibilité de le modifier...
Ajout d'une application dans le             25
                                      WebSSO
●   Utilisation du Manager pou...
Présentation du X-domain           26


●   Un domaine est constitué d'un nom (linagora,
    yahoo, google, ...) et d'une ...
X-domain        27


●   Plusieurs solutions techniques permettent de
    faire du cross-domain, la plus répandue
    cons...
Liberty Alliance                   28
                                                                               2

  ...
Démonstration   29




Passons à la pratique !




    www.linagora.com
30




Merci de votre attention


     Retrouvez-nous
  sur notre stand B25 !

       www.linagora.com
Upcoming SlideShare
Loading in...5
×

WebSSO, synchronisation et contrôle des accès via LDAP

3,068

Published on

Présentation donnée lors de la conférence officielle au salon Solution Linux 2009.
Intervenant : Clément OUDOT et
Thomas CHEMINEAU

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,068
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
116
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "WebSSO, synchronisation et contrôle des accès via LDAP"

  1. 1. 31 mars, 1er et 2 avril 2009 WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot – Thomas Chemineau www.linagora.com
  2. 2. Sommaire général 2 ● Synchronisation d'identités ● WebSSO et contrôle des accès ● Démonstration www.linagora.com
  3. 3. Sommaire 3 ● Synchronisation d'identités – Présentation du projet LSC – Principes d'une synchronisation d'identités – Fonctionnalités de synchronisation de LSC www.linagora.com
  4. 4. Présentation du projet LSC 4 ● Qu'est ce que LSC ? – Projet Open Source, licence BSD – Signifie LDAP Synchronisation Connector – Anciennement issu du projet InterLDAP – Couche applicative qui permet de synchroniser des référentiels de données divers vers un annuaire LDAP – Technologie : JAVA ● Projet communautaire : http://lsc-project.org www.linagora.com
  5. 5. Synchronisation d'identités 5 ● Automatise les importations/exportations de données entre des référentiels de données et des annuaires LDAP ● Alimentation d'annuaire supportant une base de données, un annuaire ou un fichier CSV comme source d'alimentation ● Transformations spécifiques pour la gestion d'identités ● Optimisé pour la rapidité d'exécution pour permettre une synchronisation continue www.linagora.com
  6. 6. Principe de synchronisation d'identités 6 ● Deux niveaux d'information sur une identité : – L'existance d'une identité elle même – Les données spécifiques à chaque identité ● Opérations de synchronisation : – Création : report des nouvelles identités – Suppression : retrait des identités supprimées – Mise à jour : pour une identité existant de part et d'autre, recopie des données spécifiques www.linagora.com
  7. 7. Principe de synchronisation d'identités 7 ● Des critères de synchronisation – Type de la source (LDAP / base de données / CSV) – Identification de la population ciblée – Mapping et transformation des attributs sources – destination – Actions différentes selon les opérations (création / mise à jour / suppression) www.linagora.com
  8. 8. Fonctionnement général de LSC 8 ● 3 niveaux de synchronisation : – Base de données vers annuaire LDAP – Fichier plat au format CSV vers annuaire LDAP – Annuaire vers annuaire (ex : LDAP vers AD) www.linagora.com
  9. 9. Fonctionnement général de LSC 9 Base de données Processus d'extraction au format CSV embarquée Fichiers CSV Structuration SQL BDB Importation (HSQLDB) Base de données Abstraction SQL Interface (IBATIS) Objet JDBC Sérialisation (XML) Objets LDAP BEAN Annuaire Annuaire Traitement LSC Moteur Objet JNDI Objet LDAP www.linagora.com
  10. 10. Différents formats d'entrées 10 ● Les sources de synchronisation peuvent être de différentes natures (SGBD, LDAP) ● Différents formats d'entrées : – CSV : données injectées dans une base embarquée (HSQLDB) – LDIF : données injectées dans un annuaire embarqué (OpenDS) www.linagora.com
  11. 11. Différents formats de sorties 11 ● Les synchronisations génèrent des rapports détaillés, sous différents formats : – CSV : les modifications apportées sur l'annuaire sont journalisées au format CSV – LDIF : les modifications apportées sur l'annuaire sont journalisées au format LDIF ● Différents niveaux de traçabilités et choix des opérations LDAP à tracer www.linagora.com
  12. 12. Traitements des données 12 ● Des traitements simples, comme : – Concaténation de plusieurs attributs sources – Séparation des valeurs multiples d'un champ source vers un attribut LDAP multivalué cible – Suppression des caractères diacritiques ● Des traitements avancés, comme : – Tests d'existence des DN – Peuplement avancé des attributs – Prise en charge d'Active Directory www.linagora.com
  13. 13. Prise en charge d'Active Directory 13 ● Indispensable pour peupler les utilisateurs d'AD ● UserAccountControl permet de spécifier l'état d'un compte utilisateur, par exemple : – ACCOUNTDISABLE – PASSWD_CANT_CHANGE – PASSWORD_EXPIRED ● Prise en charge de la synchronisation du mot de passe sur un flux SSL www.linagora.com
  14. 14. Cas d'utilisation général 14 Interface de gestion de contenu Population  d'administrateurs Application A Annuaire LDAP  central Source de Application B données Active Directory Légende : Traitement automatisé de  synchronisation de données Traitement manuel de  manipulation de données www.linagora.com
  15. 15. Sommaire 15 ● WebSSO et gestion des accès – Concepts et définition du WebSSO – Présentation de LemonLDAP::NG – X-domain et Liberty Alliance www.linagora.com
  16. 16. Définition du WebSSO 16 ● SSO signifie « Single Sign On », qui peut se traduire en français par « authentification unique ». ● Le SSO regroupe plusieurs fonctionnalités : – Couple identifiant/mot de passe unique – Transmission transparente des informations de session aux applications – Gestion des profils applicatifs, c'est-à-dire qui accède à quoi www.linagora.com
  17. 17. SSO par agent 17 www.linagora.com
  18. 18. SSO par délégation 18 www.linagora.com
  19. 19. SSO par mandataire inverse 19 www.linagora.com
  20. 20. Le protocole HTTP 20 GET http://www.linagora.com HTTP/1.1 Accept: text/html User-Agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.7.6) HTTP/1.1 200 OK Date: Thu, 13 Mar 2008 15:05:29 GMT Server: Apache Content-Length: 264 Content-Type: text/html; charset=iso-8859-1 <?xml version=quot;1.0quot; encoding=quot;iso-8859-1quot; ?> <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML 1.0 Transitional//ENquot; quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdquot;> <html xmlns=quot;http://www.w3.org/1999/xhtmlquot; lang=quot;frquot; xml:lang=quot;frquot; dir=quot;ltrquot;> <head> <title>Linagora, integrateur de reference sur le marche des logiciels libres</title> .... </html> www.linagora.com
  21. 21. Présentation de LemonLDAP::NG 21 ● LemonLDAP est un ensemble de scripts et de modules Perl utilisés à travers mod_perl et le serveur HTTP Apache ● LemonLDAP et LemonLDAP::NG sont des logiciels libres, les projets sont hébergés chez OW2 : http://lemonldap.objectweb.org ● LemonLDAP a été créé par Eric German, du Ministère des Finances ● La version ::NG a été écrite par Xavier Guimard, de la Gendarmerie Nationale www.linagora.com
  22. 22. Principes 22 ● Le principe général est d'utiliser un annuaire LDAP pour : – authentifier l'utilisateur (vérification du mot de passe) – effectuer un contrôle d'accès (selon les attributs LDAP de l'utilisateur) – approvisionner les applications (par transmissions des attributs LDAP dans les en- têtes HTTP) ● LemonLDAP::NG a été choisi pour le projet FederID (http://www.federid.org) www.linagora.com
  23. 23. Fonctionnement général 23 www.linagora.com
  24. 24. Intégration d'une application 24 ● Pré-requis : – Accès au code source et possibilité de le modifier – disposer d'un langage permettant la lecture des en- têtes HTTP ● Désactiver le formulaire d'authentification local ● Lire les en-têtes HTTP, en particulier celle fournissant l'identité de l'utilisateur www.linagora.com
  25. 25. Ajout d'une application dans le 25 WebSSO ● Utilisation du Manager pour créer un nouvel hôte virtuel dans la configuration LemonLDAP::NG : – Nom de l'hôte virtuel – Règles d'accès – Informations transmises ● Configuration du serveur Apache2 : – Ajout d'un hôte virtuel ou reprise de l'existant – Ajout des paramètres d'appel du Handler www.linagora.com
  26. 26. Présentation du X-domain 26 ● Un domaine est constitué d'un nom (linagora, yahoo, google, ...) et d'une extension, appelée aussi suffixe (fr, de, com, net, ...). ● La spécification des cookies précise qu'un cookie doit être déclaré sur un domaine et envoyé à aucun autre. Les navigateurs refusent d'ailleurs de transmettre un cookie à un domaine différent de celui qui l'a émis. ● Certaines applications sont parfois réparties sur plusieurs domaines, elles utilisent alors des mécanismes dits de « cross-domain ». www.linagora.com
  27. 27. X-domain 27 ● Plusieurs solutions techniques permettent de faire du cross-domain, la plus répandue consiste à faire transiter le numéro de session dans l'URL. ● L'architecture cross-domain suppose généralement l'existence d'un serveur maître unique, réalisant l'authentification et la mise en session des informations, et de un ou plusieurs esclaves, utilisant le numéro de session transmis pour retrouver les informations. www.linagora.com
  28. 28. Liberty Alliance 28 2 13 4 8 12 1 5 9 3 Agent (Handler) Assertion Consumer Identifiant Mot de passe 15 14 6 Fournisseur Portail d'identités WebSSO Application protégée 7 10 11 LDAP Sessions www.linagora.com
  29. 29. Démonstration 29 Passons à la pratique ! www.linagora.com
  30. 30. 30 Merci de votre attention Retrouvez-nous sur notre stand B25 ! www.linagora.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×