SL2009 - Identity Management Cycle - LDAP synchronization and WebSSO

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