séminaire linid linagora - juin 2009

55
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

Upload: linagora

Post on 28-Nov-2014

2.910 views

Category:

Technology


0 download

DESCRIPTION

Présentations données lors du séminaire LINAGORA, intitulé : « LinID, l'offre de gestionet de fédération d'identité Open Source »Intervenant : Sébastien BAHLOUL, leader de l’offre LinID et du module LinID Access Management, LINAGORA

TRANSCRIPT

Page 1: 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

Page 2: Séminaire LinID LINAGORA - juin 2009

2

✔ L’offre LinID

✔ Focus sur LinID AM

✔ Pause

✔ Synchronisation avec LSC

✔ LinID Content Manager à la Bibliothèque Centre Pompidou (BPI)

Programme

Page 3: Séminaire LinID LINAGORA - juin 2009

Présentation de l'offre LinID

Matinée Pour ComprendreLinID, l'offre de gestion et de fédération des identités Open Source

Page 4: Séminaire LinID LINAGORA - juin 2009

4L'identité dans le SI

Page 5: Séminaire LinID LINAGORA - juin 2009

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

Page 6: Séminaire LinID LINAGORA - juin 2009

6Les composants

Page 7: Séminaire LinID LINAGORA - juin 2009

7LinID Content Manager

Page 8: Séminaire LinID LINAGORA - juin 2009

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

Page 9: Séminaire LinID LINAGORA - juin 2009

9LinID Content Manager

Page 10: Séminaire LinID LINAGORA - juin 2009

10LinID Access Manager

Page 11: Séminaire LinID LINAGORA - juin 2009

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.

Page 12: Séminaire LinID LINAGORA - juin 2009

12LinID Access Manager

Page 13: Séminaire LinID LINAGORA - juin 2009

13LinID Federation Manager

Page 14: Séminaire LinID LINAGORA - juin 2009

14LinID Accounting Manager

Page 15: Séminaire LinID LINAGORA - juin 2009

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

Page 16: Séminaire LinID LINAGORA - juin 2009

Focus sur LinID Access Manager

Matinée Pour ComprendreLinID, l'offre de gestion et de fédération des identités Open Source

Page 17: Séminaire LinID LINAGORA - juin 2009

17LinID Access Manager

Page 18: Séminaire LinID LINAGORA - juin 2009

18Sommaire

● Concepts et définition du WebSSO● LinID AM et LemonLDAP::NG● X-domain et Liberty Alliance

Page 19: Séminaire LinID LINAGORA - juin 2009

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

Page 20: Séminaire LinID LINAGORA - juin 2009

20

SSO par agent

Page 21: Séminaire LinID LINAGORA - juin 2009

21

SSO par délégation

Page 22: Séminaire LinID LINAGORA - juin 2009

22

SSO par mandataire inverse

Page 23: Séminaire LinID LINAGORA - juin 2009

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>

Page 24: Séminaire LinID LINAGORA - juin 2009

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 !

Page 25: Séminaire LinID LINAGORA - juin 2009

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

Page 26: Séminaire LinID LINAGORA - juin 2009

26

Fonctionnement général

Page 27: Séminaire LinID LINAGORA - juin 2009

27

Portail d'authentification

Page 28: Séminaire LinID LINAGORA - juin 2009

28

Réinitialisation du mot de passe

Page 29: Séminaire LinID LINAGORA - juin 2009

29

Menu des applications

Page 30: Séminaire LinID LINAGORA - juin 2009

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 !

Page 31: Séminaire LinID LINAGORA - juin 2009

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

Page 32: Séminaire LinID LINAGORA - juin 2009

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 ».

Page 33: Séminaire LinID LINAGORA - juin 2009

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.

Page 34: Séminaire LinID LINAGORA - juin 2009

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

Page 35: Séminaire LinID LINAGORA - juin 2009

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

Page 36: Séminaire LinID LINAGORA - juin 2009

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

Page 37: Séminaire LinID LINAGORA - juin 2009

Synchronisation avec LSC

Matinée Pour ComprendreLinID, l'offre de gestion et de fédération des identités Open Source

Page 38: Séminaire LinID LINAGORA - juin 2009

38Sommaire

● Présentation du projet LSC● Principes d'une synchronisation d'identités● Fonctionnalités de synchronisation de LSC

Page 39: Séminaire LinID LINAGORA - juin 2009

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

Page 40: Séminaire LinID LINAGORA - juin 2009

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

Page 41: Séminaire LinID LINAGORA - juin 2009

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

Page 42: Séminaire LinID LINAGORA - juin 2009

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

Page 43: Séminaire LinID LINAGORA - juin 2009

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

Page 44: Séminaire LinID LINAGORA - juin 2009

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

Page 45: Séminaire LinID LINAGORA - juin 2009

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

Page 46: Séminaire LinID LINAGORA - juin 2009

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

Page 47: Séminaire LinID LINAGORA - juin 2009

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

Page 48: Séminaire LinID LINAGORA - juin 2009

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

Page 49: Séminaire LinID LINAGORA - juin 2009

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

Page 50: Séminaire LinID LINAGORA - juin 2009

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

Page 51: Séminaire LinID LINAGORA - juin 2009

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.

Page 52: Séminaire LinID LINAGORA - juin 2009

52Schéma de présentation

Page 53: Séminaire LinID LINAGORA - juin 2009

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

Page 54: Séminaire LinID LINAGORA - juin 2009

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é.

Page 55: Séminaire LinID LINAGORA - juin 2009

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