Séminaire LinID LINAGORA - juin 2009

Post on 28-Nov-2014

2.910 views 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 of 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 : info@linagora.comWeb : 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 : info@linagora.comWeb : 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 : info@linagora.comWeb : 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 : info@linagora.comWeb : 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