If you can't read please download the document
Upload
clement-oudot
View
3.129
Download
1
Embed Size (px)
Citation preview
Groupe LINAGORA - AliaSource
WebSSO, synchronisation et
contrle des accs via LDAP
Clment Oudot
Thomas Chemineau
Sommaire gnral
Synchronisation d'identits
WebSSO et contrle des accs
Dmonstration
Sommaire
Synchronisation d'identits
Prsentation du projet LSC
Principes d'une synchronisation d'identits
Fonctionnalits de synchronisation de LSC
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 rfrentiels de donnes divers vers un annuaire LDAP
Technologie: JAVA
Projet communautaire : http://lsc-project.org
Prsentation du projet LSC
Automatise les importations/exportations de donnes entre des rfrentiels de donnes et des annuaires LDAP
Alimentation d'annuaire supportant une base de donnes, un annuaire ou un fichier CSV comme source d'alimentation
Transformations spcifiques pour la gestion d'identits
Optimis pour la rapidit d'excution pour permettre une synchronisation continue
Synchronisation d'identits
Deux niveaux d'information sur une identit :
L'existance d'une identit elle mme
Les donnes spcifiques chaque identit
Oprations de synchronisation :
Cration : report des nouvelles identits
Suppression : retrait des identits supprimes
Mise jour : pour une identit existant de part et d'autre, recopie des donnes spcifiques
Principe de synchronisation d'identits
Des critres de synchronisation
Type de la source (LDAP / base de donnes / CSV)
Identification de la population cible
Mapping et transformation des attributs sources destination
Actions diffrentes selon les oprations
(cration / mise jour / suppression)
Principe de synchronisation d'identits
3 niveaux de synchronisation:
Base de donnes vers annuaire LDAP
Fichier plat au format CSV vers annuaire LDAP
Annuaire vers annuaire (ex: LDAP vers AD)
Fonctionnement gnral de LSC
Fonctionnement gnral de LSC
Les sources de synchronisation peuvent tre de diffrentes natures (SGBD, LDAP)
Diffrents formats d'entres:
CSV: donnes injectes dans une base embarque (HSQLDB)
LDIF: donnes injectes dans un annuaire embarqu (OpenDS)
Diffrents formats d'entres
Les synchronisations gnrent des rapports dtaills, sous diffrents formats:
CSV: les modifications apportes sur l'annuaire sont journalises au format CSV
LDIF: les modifications apportes sur l'annuaire sont journalises au format LDIF
Diffrents niveaux de traabilits et choix des oprations LDAP tracer
Diffrents formats de sorties
Des traitements simples, comme:
Concatnation de plusieurs attributs sources
Sparation des valeurs multiples d'un champ source vers un attribut LDAP multivalu cible
Suppression des caractres diacritiques
Des traitements avancs, comme :
Tests d'existence des DN
Peuplement avanc des attributs
Prise en charge d'Active Directory
Traitements des donnes
Indispensable pour peupler les utilisateurs d'AD
UserAccountControl permet de spcifier 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
Prise en charge d'Active Directory
Cas d'utilisation gnral
Sommaire
WebSSO et gestion des accs
Concepts et dfinition du WebSSO
Prsentation de LemonLDAP::NG
X-domain et Liberty Alliance
Dfinition du WebSSO
SSO signifie Single Sign On, qui peut se traduire en franais par authentification unique.
Le SSO regroupe plusieurs fonctionnalits :
Couple identifiant/mot de passe unique
Transmission transparente des informations de session aux applications
Gestion des profils applicatifs, c'est--dire qui accde quoi
SSO par agent
SSO par dlgation
SSO par mandataire inverse
Le protocole HTTP
GET http://www.linagora.com HTTP/1.1Accept: text/html
User-Agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.7.6)
HTTP/1.1 200 OKDate: Thu, 13 Mar 2008 15:05:29 GMTServer: ApacheContent-Length: 264Content-Type: text/html; charset=iso-8859-1
Linagora, integrateur de reference sur le marche des logiciels libres
....
Prsentation de LemonLDAP::NG
LemonLDAP est un ensemble de scripts et de modules Perl utiliss travers mod_perl et le serveur HTTP Apache
LemonLDAP et LemonLDAP::NG sont des logiciels libres, les projets sont hbergs chez OW2 : http://lemonldap.objectweb.org
LemonLDAP a t cr par Eric German, du Ministre des Finances
La version ::NG a t crite par Xavier Guimard, de la Gendarmerie Nationale
Principes
Le principe gnral est d'utiliser un annuaire LDAP pour :
authentifier l'utilisateur (vrification du mot de passe)
effectuer un contrle d'accs (selon les attributs LDAP de l'utilisateur)
approvisionner les applications (par transmissions des attributs LDAP dans les en-ttes HTTP)
LemonLDAP::NG a t choisi pour le projet FederID (http://www.federid.org)
Fonctionnement gnral
Intgration d'une application
Pr-requis :
Accs au code source et possibilit de le modifier
disposer d'un langage permettant la lecture des en-ttes HTTP
Dsactiver le formulaire d'authentification local
Lire les en-ttes HTTP, en particulier celle fournissant l'identit de l'utilisateur
Ajout d'une application dans le WebSSO
Utilisation du Manager pour crer un nouvel hte virtuel dans la configuration LemonLDAP::NG :
Nom de l'hte virtuel
Rgles d'accs
Informations transmises
Configuration du serveur Apache2 :
Ajout d'un hte virtuel ou reprise de l'existant
Ajout des paramtres d'appel du Handler
Prsentation du X-domain
Un domaine est constitu d'un nom (linagora, yahoo, google, ...) et d'une extension, appele aussi suffixe (fr, de, com, net, ...).
La spcification des cookies prcise qu'un cookie doit tre dclar sur un domaine et envoy aucun autre. Les navigateurs refusent d'ailleurs de transmettre un cookie un domaine diffrent de celui qui l'a mis.
Certaines applications sont parfois rparties sur plusieurs domaines, elles utilisent alors des mcanismes dits de cross-domain.
X-domain
Plusieurs solutions techniques permettent de faire du cross-domain, la plus rpandue consiste faire transiter le numro de session dans l'URL.
L'architecture cross-domain suppose gnralement l'existence d'un serveur matre unique, ralisant l'authentification et la mise en session des informations, et de un ou plusieurs esclaves, utilisant le numro de session transmis pour retrouver les informations.
Liberty Alliance
Applicationprotge
Agent (Handler)
PortailWebSSO
SessionsLDAP
Fournisseurd'identits
IdentifiantMot de passe
Assertion Consumer
12
3456789101112131415
Dmonstration
Passons la pratique !
Merci de votre attention
Retrouvez-nous sur notre stand B25 !
Cliquez pour diter le format du texte-titre
Cliquez pour diter le format du plan de texte
Second niveau de plan
Troisime niveau de plan
Quatrime niveau de plan
Cinquime niveau de plan
Sixime niveau de plan
Septime niveau de plan
Huitime niveau de plan
Neuvime niveau de plan
31 mars, 1er et 2 avril 2009
www.linagora.com
Cliquez pour diter le format du plan de texte
Second niveau de plan
Troisime niveau de plan
Quatrime niveau de plan
Cinquime niveau de plan
Sixime niveau de plan
Septime niveau de plan
Huitime niveau de plan
Neuvime niveau de plan
titre
www.linagora.com