Présentations données lors du séminaire LINAGORA, intitulé : « LinID, l'offre de gestion
et de fédération d'identité Open Source »
Intervenant : Sébastien BAHLOUL, leader de l’offre LinID et du module LinID Access Management, LINAGORA
Présentation de l’extension Lightning pour Thunderbird
Séminaire LinID LINAGORA - juin 2009
1. Matinée Pour Comprendre
Juin 2009
LinID, l'offre de gestion et de
fédération des identités Open Source
Intervenant :
Sébastien BAHLOUL, leader de l’offre LinID et du module LinID Acccess
Management, LINAGORA
2. Programme 2
✔ L’offre LinID
✔ Focus sur LinID AM
✔ Pause
✔ Synchronisation avec LSC
✔ LinID Content Manager à la Bibliothèque Centre Pompidou (BPI)
3. Matinée Pour Comprendre
LinID, l'offre de gestion et de fédération des
identités Open Source
Présentation de l'offre LinID
5. L'offre LinID 5
●
Une offre cohérente mêlant :
– des briques logicielles libres
– une suite de produits Open Source
développée par LINAGORA
●
Une offre de service couvrant :
– l'intégration de nos produits pour répondre
aux problématiques de nos clients
– l'expertise sur l'architecture et le
déploiement des composants LL
●
Une offre de support construite en tant :
– que tiers-mainteneur des briques logiciels
libres
– d'éditeur de nos offres produits
11. LinID Access Manager 11
●
Mandataire inverse (reverse proxy)
●
Agent serveur local
●
Authentification forte (LDAP, Kerberos, X.509,
CAS, Liberty Alliance).
●
Partage de session (SQL, memcached, SOAP).
●
Partage de configuration (SQL, SOAP, LDAP).
●
Gestion de la politique des mots de passe.
●
Menu dynamique des applications.
●
Formulaire de changement de mot de passe.
●
Propagation de l'authentification en HTTP Basic.
15. 15
Merci de votre attention
Contact :
LINAGORA – Siège social
27 rue de Berri
75008 Paris – France
Tél. : +33 1 58 18 68 28
Fax : +33 1 58 18 68 29
Mail : info@linagora.com
Web : www.linagora.com
16. Matinée Pour Comprendre
LinID, l'offre de gestion et de fédération des
identités Open Source
Focus sur LinID Access Manager
18. Sommaire 18
●
Concepts et définition du WebSSO
●
LinID AM et LemonLDAP::NG
●
X-domain et Liberty Alliance
19. Définition du WebSSO 19
●
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
23. Le protocole HTTP 23
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="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr" dir="ltr">
<head>
<title>Linagora, integrateur de reference sur le marche des logiciels libres</title>
....
</html>
24. LinID AM et LemonLDAP::NG 24
●
LemonLDAP::NG est un logiciel libre, disponible
chez OW2 http://lemonldap.ow2.org
●
La version ::NG a été écrite par Xavier
Guimard, de la Gendarmerie Nationale
●
LINAGORA est contributeur officiel de la
solution et possède des développeurs actifs
●
LINAGORA distribue LemonLDAP::NG sous le
nom LinID Access Manager, sans ajout de
modules propriétaires : tout est libre !
25. Principes 25
●
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)
●
Les dernières versions permettent de
s'affranchir totalement de l'annuaire si besoin
30. Intégration d'une application 30
●
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
●
De nombreuses applications sont nativement
compatibles !
31. Ajout d'une application dans le WebSSO 31
●
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
32. Présentation du X-domain 32
●
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 ».
33. X-domain 33
●
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.
34. Liberty Alliance 34
2
13
4
8 12 1
5 9 3
Agent (Handler)
Assertion Consumer
Identifiant
Mot de passe 15
14
6
Fournisseur Portail
Application
d'identités WebSSO
protégée
7 10 11
LDAP Sessions
35. Dernières nouveautés 35
●
Support complet de la politique des mots de
passe, en particulier pour forcer un utilisateur à
changer son mot de passe
●
Gestion des notifications
●
Demande de réinitialisation de son mot de
passe avec envoi par mail
●
Stockage de la configuration et des sessions
dans l'annuaire LDAP
●
Activation de SOAP simplifié
●
Gestion des dates, heures et jours de
connexion
36. 36
Merci de votre attention
Contact :
LINAGORA – Siège social
27 rue de Berri
75008 Paris – France
Tél. : +33 1 58 18 68 28
Fax : +33 1 58 18 68 29
Mail : info@linagora.com
Web : www.linagora.com
38. Sommaire 38
●
Présentation du projet LSC
●
Principes d'une synchronisation d'identités
●
Fonctionnalités de synchronisation de LSC
39. Présentation du projet LSC 39
● 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
40. Synchronisation d'identités 40
● 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
41. Principe de synchronisation d'identités 41
● 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)
42. Fonctionnement général de LSC 42
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
43. Différents formats d'entrées 43
● 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)
44. Différents formats de sorties 44
● 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
45. Traitements des données 45
● 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
46. Prise en charge d'Active Directory 46
●
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
47. Cas d'utilisation général 47
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
48. 48
Merci de votre attention
Contact :
LINAGORA – Siège social
27 rue de Berri
75008 Paris – France
Tél. : +33 1 58 18 68 28
Fax : +33 1 58 18 68 29
Mail : info@linagora.com
Web : www.linagora.com
49. Matinée Pour Comprendre
LinID, l'offre de gestion et de fédération des
identités Open Source
LinID Content Manager à la
Bibliothèque Centre Pompidou (BPI)
50. Présentation de la BPI 50
●
Ouverte en 1977, la BPI accueille en moyenne
5000 personnes par jour
●
Corpus de 380 000 documents
●
Accès libre à l'information, consultation et
recherche en ligne
51. Objectifs du projet annuaire 51
●
Enrichir son offre et proposer des services
personnalisés
●
Développer un extranet en faveur des
professionnels de bibliothèques (coopération,
bibliothèques partenaires, fournisseurs,
éditeurs)
●
Développer un annuaire maître des membres
du personnel, sur lequel les nouvelles
applications devront s’appuyer.
53. Réalisation du projet 53
●
Conception de l'architecture avec
communication entre DMZ, pour accès depuis
le réseau local comme depuis internet
●
Description des règles de gestion de contenu
pour l'interface
●
Mise en place de la synchronisation des fichiers
CSV vers l'annuaire
●
Développement « agile » de l'interface de
gestion de contenu
●
Charte graphique commune entre le WebSSO
et l'outil de gestion de contenu
●
Installation de tous les composants et recette
54. Caractéristiques 54
●
Adaptation aux différentes populations (public,
professionnels, membres)
●
Respect des standards : LDAPv3, LDIF, Liberty
Alliance, HTTP, SSL/TLS, XHTML
●
Modularité : chaque composant peut évoluer ou
être remplacé sans remettre en cause
l'ensemble de l'architecture.
●
Sécurité et haute-disponibilité.
55. Merci de votre attention
Mme Christelle Joussain – Chef de projet MOA Annuaire
M. Bona Tan – Référent technique sur le projet Annuaire
Bibliothèque publique d'information
75197 PARIS
Contact :
LINAGORA – Siège social
27 rue de Berri
75008 Paris – France
Tél. : +33 1 58 18 68 28
Fax : +33 1 58 18 68 29
Mail : info@linagora.com
Web : www.linagora.com