Clément OUDOT LINAGORA
Sommaire ● Gestion et Fédération des identités ● Le projet FederID ANR ● InterLDAP ● Le logiciel FederID
La gestion des identités ● Une personne (identité physique) possède une ou plusieurs identités numériques. ● Ces identités numériques sont associées à des rôles ou des organisations auxquels sont attribués des droits (modèles RBAC et OrBAC). ● Besoin d'outils pour gérer le cycle de vie d'une identités et des ses habilitations.
Le modèle RBAC Utilisateur s Rôle s Permission s Session s
Le modèle OrBAC RôleActivitéVue SujetActionObjet Niveau abstrai t Niveau concre t ORGANISATION
Domaines de la GDI ● La gestion des identités peut être morcelée selon les domaines suivants : – Approvisionnement : diffusion l'identité numérique aux applications du SI. – Habilitation : définition des droits d'accès (par rôles ou organisations). – Contrôle d'accès : application des habilitations pour l'accès aux applications. – Publication : accès aux informations modéré par les habilitations.
Fédération des identités ● Objectif : relier des identités numériques liées à des référentiels différents. ● Notion de cercle de confiance. ● Principaux composants Liberty Alliance : – IdP : fournisseur d'identités. – SP : fournisseur de services. – AP : fournisseur d'attributs.
Cercle Liberty Alliance Fournisseur de service Fournisseur d'identités Fournisseur de service Fournisseur d'attributs
Relations entre cercles
Symbiose Gestion/Fédération ● La fédération des identités apporte : – Les mécanismes SSO. – Les échanges standardisés entre référentiels. – La diffusion d'attributs. ● La gestion des identités apporte : – La déclaration des permissions. – Le suivi des modifications des informations. – La publication des informations.
Sommaire ● Gestion et Fédération des identités ● Le projet FederID ANR ● InterLDAP ● Le logiciel FederID
Naissance du projet ● Appel à projets RNRT/ANR en 2005 ● Élection du projet FederID fin 2005 ● Lancement du projet en avril 2006 à Grenoble, aux conférences ObjectWeb ● Distinction des noms : – FederID ANR : projet de R&D subventionné par l'ANR. – FederID : le logiciel.
Un projet européen ● Subventions de l'ANR. ● Partenaires français. ● Membre d'un consortium européen. ● Contribution à une communauté basée en République Tchèque (CloverETL).
Le consortium FederID ANR ● Travaillent sur le projet de R&D : ● Entr'ouvert ( ● Thales ( ● ObjectWeb ( ● ISTASE – Laboratoire DIOM – Équipe SATIN ( ● LINAGORA (
Rôles des différents membres ● Entr'ouvert : expertise Liberty Alliance ● Thales : industrialisation de la solution ● ObjectWeb : outils d'hébergement et relations avec les communautés ● ISTASE : théorie sur la GDI et prototype ● LINAGORA : coordination et développement des produits
Objectifs du projet ● Intégrer les briques logicielles libres suivantes : – LemonLDAP : WebSSO. – Authentic : fournisseur d'identités Lasso. – InterLDAP : gestionnaire d'identités. ● Documenter ! ● Fournir une plate-forme de démonstration de ces produits.
Principaux chantiers T1 : début avril 2006 – T7 : fin décembre 2007
Sommaire ● Gestion et Fédération des identités ● Le projet FederID ANR ● InterLDAP ● Le logiciel FederID
Présentation d'InterLDAP ● InterLDAP est un ensemble d'outils permettant de gérer le cycle complet d'une identité au travers de ses attributs, de ses accès et de ses prérogatives. ● Le produit InterLDAP est découpé en modules dédiés à des domaines techniques spécifiques (contrôles d'accès, approvisionnement, etc.)
Vue d'ensemble d'InterLDAP Annuaire LDAP d'entreprise AACLs Droits d'accès avancés WUI Interface Web AEE Moteur d'export ATE Moteur de transport LSC (CloverETL) Utilisateurs Administrateurs Service RH Données de l'entreprise Applications de l'entreprise Consultation Gestion des accès Gestion des données Données RH Configuration InterLDAP LAAP Fournisseur d'attributs Administrateurs Chargement des règles Clover
Le module AACLs ● Palliatif aux limitations des droits d'accès dans le standard LDAP. ● Permet la définition de règles complexes faisant intervenir des conditions hiérarchiques. ● Implémentation sous forme de module JAAS (à l'étude) ou de mandataire LDAP (technologie OpenLDAP).
Le module AACLs Client LDAP standard Client LDAP AACLs Mandataire AACLs Annuaire LDAP standard Données de l'entreprise Définition des AACLS
Flux LDAP AACLs ● Basé sur les standards LDAP. ● Définition d'opérations étendues : – Reloadaacls : recharge les AACLs. – Testmodify : permet de savoir si l'attribut cible est accessible en écriture. – Testcreate : permet de savoir si l'entrée cible est accessible en création. – Testdelete : permet de savoir si l'entrée cible est accessible en suppression.
Éléments des AACLs ● Une AACL est définie par : – l’acteur de l’action ($authorDN), – la cible de l’action ($targetDN), – la liste des attributs concernés, – le ou les droits, – la relation qui lie l’acteur et la cible et qui donne accès à l’action, pour l’acteur, sur les attributs de la cible, – la base d’application de l’AACL.
Droits dans les AACLs ● Les droits abordés au travers des AACLS sont : – lecture des attributs d’une entrée (r) – écriture sur des attributs, c'est-à-dire création, modification et suppression d’un attribut (w), – création d’une entrée (c), – suppression d’une entrée (d).
Entrée de configuration – Attributs obligatoires : ● cn : Nom de la règle. ● attribute : noms des attributs cibles. ● targetBase : base d'application de la règle. ● rights : droits à appliquer (r,w,c et d). – Attributs facultatifs : ● description : description de la règle. ● targetFilter : filtre à appliquer sur la cible. ● authorBase : base de recherche de l'auteur. ● authorFilter : filtre de recherche de l'auteur. ● relation : expression de la relation.
Exemple d'AACL dn: cn=1,ou=aacls,dc=interldap,dc=org objectClass: top objectClass: aacls cn: 1 attribute: cn attribute: sn targetBase: ou=people,dc=interldap,dc=org rights: rw description: RH peolpe can write user names relation: egal($authorDN.fonction, "RH")
Le module AEE ● Permet l'export d'évènements (modification de données dans le référentiel). ● Formats de fichiers : CSV, LDIF, DSML. ● Module en développement.
Le module ATE ● Transmets des fichiers depuis le référentiel vers les applications. ● Gère les protocoles SMTP, HTTP, FTP, et SSH. ● Couplé au module AEE, il fournit un logiciel d'approvisionnement (provisioning).
Le module LAAP ● Fournit des attributs à travers Liberty Alliance. ● Nouveau module basé sur Lasso. ● Peut remplir un rôle d'approvisionnement pour les applications compatibles Liberty Alliance.
Le module LAAP Utilisateurs LAAP Fournisseur d'attributs Liberty Alliance Annuaire LDAP standard Données de l'entreprise Fournisseur de services Liberty Alliance Fournisseur d'identité Liberty Alliance
Détails techniques de LAAP InterLDAP Liberty Alliance Attributes Provider Interactions autres serveurs LA ID-WSF (web services) ID-SIS (SSO/SLO) Logique service Business Logic Mapping O/X Logique LA DAO / Persistance BD / Fichiers LDAP Mapping O/DAO UI Interactions utilisateur/LA Configuration Accès aux données Cercle de confianc e Base de donnée s LDA P Données échangées XM L Objet s Métier Formats spécifique s
Le module LSC ● Permet la synchronisation du référentiel LDAP à partir : – de bases de données de l'entreprise, – d'autres annuaires, – de l'annuaire de référence. ● Basé sur un produit d'ETL libre : CloverETL.
Le module LSC Poste de travail CloverGUI LSC Moteur CloverETL Annuaire LDAP standard Données de l'entreprise
Le module WUI ● Interface de consultation et de gestion des données. ● Module initial d'InterLDAP. ● S'adapte au schéma de l'annuaire et au schéma enrichi. ● Module en cours de refonte.
État des modules InterLDAP ● Modules opérationnels : – LSC – ATE ● Modules en cours de stabilisation : – AACLs – LAAP ● Modules en cours d'initialisation : – AEE – WUI
Sommaire ● Gestion et Fédération des identités ● Le projet FederID ANR ● InterLDAP ● Le logiciel FederID
Vue d'ensemble de FederID Annuaire LDAP d'entreprise Gestion des identités Mandataire SSO (LemonLDAP) Applications Web Applications compatibles Liberty Alliance Fournisseur d'identités (Authentic) Authentificatio n Administration des données Identificatio n Lecture d'attributs Autorisatio n
Interopérabilité ● FederID est compatible avec l'ensemble des applications Liberty Alliance ! ● Interconnexion entre un cercle FederID et un autre cercle (Bandit, OpenSSO,...) ● Interconnexion au sein d'un même cercle ! – FederID avec d'autres fournisseurs d'identités. – FederID avec d'autres fournisseurs de services.
La question des licences ● Décision du consortium de prendre une licence LGPL. ● Nécessité d'étudier le cadre juridique des licences des composants de FederID : GPL, LGPL, MIT, ASL, BSD, CPL... ● Conclusions de l'étude en cours, mais le code propre à FederID sera LGPL.
FederID : pour le libre ! ● Création de 3 communautés chez ObjectWeb : – FederID : – LemonLDAP : – InterLDAP : ● Implication dans les projets suivants : – CloverETL : ● Vous êtes les bienvenus !
Da FederID Code ● Quel code pour FederID ? – Choix de conserver l'indépendance des produits intégrés et de leurs communautés. – Procédures sur l'empaquetage (Linux et Windows ?) – Application de démonstration (configurations standards pour l'interconnexion des composants). – Documentation relative à la fédération et la gestion des identités dans FederID.
Les prochaines étapes ● Fin février : – stabilisation des modules InterLDAP AACLs et LAAP. – spécifications du module WUI. ● Fin juin : – fin des développements. ● Fin décembre : – livraison d'un produit industrialisé.
En 2007, votez FederID ! ● Support et communautés français et européens. ● Solution complète (IdP + SP + AP) ! ● Flexibilité des applications, facilitant l'intégration à l'existant. ● Déploiement léger et rapide. ● Technologies entièrement libres. ● Rapidité des échanges grâce à Lasso (bibliothèque écrite en C).
Merci de votre attention