Download - Séminaire LinID LINAGORA - 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
Matinée Pour Comprendre Juin 2009
2
✔ L’offre LinID
✔ Focus sur LinID AM
✔ Pause
✔ Synchronisation avec LSC
✔ LinID Content Manager à la Bibliothèque Centre Pompidou (BPI)
Programme
Présentation de l'offre LinID
Matinée Pour ComprendreLinID, l'offre de gestion et de fédération des identités Open Source
4L'identité dans le SI
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
L'offre LinID
6Les composants
7LinID Content Manager
8LinID Content Manager
● Fonctionnalités supportées– gestion de contenu d'annuaire– modules de publication et de recherche– gestion des personnes, groupes, structures,
fonctions, ...– délégation, workflow– recherches avancées et organigrammes
9LinID Content Manager
10LinID Access Manager
11LinID Access Manager
● 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.
12LinID Access Manager
13LinID Federation Manager
14LinID Accounting Manager
15
Merci de votre attention
Contact : LINAGORA – Siège social27 rue de Berri75008 Paris – FranceTél. : +33 1 58 18 68 28Fax : +33 1 58 18 68 29Mail : [email protected] : www.linagora.com
Focus sur LinID Access Manager
Matinée Pour ComprendreLinID, l'offre de gestion et de fédération des identités Open Source
17LinID Access Manager
18Sommaire
● Concepts et définition du WebSSO● LinID AM et LemonLDAP::NG● X-domain et Liberty Alliance
19
Définition du WebSSO
● 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
20
SSO par agent
21
SSO par délégation
22
SSO par mandataire inverse
23
Le protocole HTTP
GET http://www.linagora.com HTTP/1.1Accept: text/htmlUser-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
<?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
● 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
● 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
26
Fonctionnement général
27
Portail d'authentification
28
Réinitialisation du mot de passe
29
Menu des applications
30
Intégration d'une application
● 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
● 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
● 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
● 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
Applicationprotégée
Agent (Handler)Agent (Handler)
PortailWebSSO
SessionsLDAP
Fournisseurd'identités
Identifiant
Mot de passeAs
sert
ion
Con
sum
erAs
sert
ion
Con
sum
er
1
2
3
4
5
6
7
8
9
10 11
12
13
1415
35
Dernières nouveautés
● 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
Merci de votre attention
Contact : LINAGORA – Siège social27 rue de Berri75008 Paris – FranceTél. : +33 1 58 18 68 28Fax : +33 1 58 18 68 29Mail : [email protected] : www.linagora.com
Synchronisation avec LSC
Matinée Pour ComprendreLinID, l'offre de gestion et de fédération des identités Open Source
38Sommaire
● Présentation du projet LSC● Principes d'une synchronisation d'identités● Fonctionnalités de synchronisation de 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
Présentation du projet LSC
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
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)
Principe de synchronisation d'identités
42Fonctionnement général de LSC
Interface (IBATIS)
Objet JDBC Sérialisation (XML)
Objets LDAP
Abs
trac
tion
SQL
BEAN
Traitement LSC
Objet JNDI Objet LDAPMot
eur
Annuaire
Importation (HSQLDB)
Fichiers CSV Structuration SQL
BD
Bem
barq
uée
Base de données
Processus d'extraction au format CSV
Base de données
Annuaire
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)
Différents formats d'entrées
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
Différents formats de sorties
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
Traitements des données
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
Prise en charge d'Active Directory
47Cas d'utilisation général
Active Directory
Interface degestion de
contenuPopulation
d'administrateurs
Application A
Application BSource dedonnées
Annuaire LDAP central
Traitement automatisé de synchronisation de données
Légende :
Traitement manuel de manipulation de données
48
Merci de votre attention
Contact : LINAGORA – Siège social27 rue de Berri75008 Paris – FranceTél. : +33 1 58 18 68 28Fax : +33 1 58 18 68 29Mail : [email protected] : www.linagora.com
LinID Content Manager à la Bibliothèque Centre Pompidou (BPI)
Matinée Pour ComprendreLinID, l'offre de gestion et de fédération des identités Open Source
50Présentation de la BPI
● 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
51Objectifs du projet annuaire
● 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.
52Schéma de présentation
53Réalisation du projet
● 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
54Caractéristiques
● 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é.
Contact : LINAGORA – Siège social27 rue de Berri75008 Paris – FranceTél. : +33 1 58 18 68 28Fax : +33 1 58 18 68 29Mail : [email protected] : www.linagora.com
Merci de votre attention
Mme Christelle Joussain – Chef de projet MOA AnnuaireM. Bona Tan – Référent technique sur le projet Annuaire
Bibliothèque publique d'information75197 PARIS