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 Association R/P Association U/R Utilisateurs Rôles Sessions Permissions
Le modèle OrBAC Niveau abstrait Rôle Activité Vue ORGANISATION Niveau concret Sujet Action Objet
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 Interactions Utilisateur Services Web Fournisseur d'attributs Fournisseur de service
Relations entre cercles Interactions Utilisateur Services Web
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 (http://www.entrouvert.org) Thales (http://www.thalesgroup.com) ObjectWeb (http://www.objectweb.org) ISTASE Laboratoire DIOM Équipe SATIN (http://www.istase.com) LINAGORA (http://www.linagora.com)
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 CHANTIERS T1 T2 T3 T4 T5 I) Coordination II) Intégration des composants pour la fédération III) Intégration des composants pour le contrôle d'accès et l'habilitation IV) Prototype V) Impact industriel et standards VI) Exploitation VII) Aspects juridiques et licences VIII) Dissémination des résultats T1 : début avril 2006 T7 : fin décembre 2007 T6 T7
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 Utilisateurs Consultation Administrateurs AEE Moteur d'export WUI Interface Web AACLs Droits d'accès avancés Gestion des accès Gestion des données ATE Moteur de transport LAAP Fournisseur d'attributs LSC (CloverETL) Service RH Chargement des règles Clover Administrateurs Applications de l'entreprise Annuaire LDAP d'entreprise Flux HTTP Flux LDAP Flux XML/SOAP Autres flux Données RH Configuration InterLDAP Données de l'entreprise
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 Flux LDAP Flux LDAP AACLs 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 Fournisseur d'identité Liberty Alliance Utilisateurs Fournisseur de services Liberty Alliance LAAP Fournisseur d'attributs Liberty Alliance Annuaire LDAP standard Flux HTTP Flux LDAP Flux XML/SOAP Données de l'entreprise
Détails techniques de LAAP Interactions utilisateur/la Cercle de confiance UI ID-WSF (web services) ID-SIS (SSO/SLO) Interactions autres serveurs LA Configuration Accès aux données Base de données Business Logic Mapping O/DAO Mapping O/X BD / Fichiers Logique LA LDAP Logique service DAO / Persistance InterLDAP Liberty Alliance Attributes Provider XML XML Objets Métier Données échangées LDAP Formats spécifiques
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 Données de l'entreprise Chargement des règles LSC Moteur CloverETL Annuaire LDAP standard Flux LDAP Flux SQL 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 Applications compatibles Liberty Alliance Applications Web Mandataire SSO (LemonLDAP) Identification Fournisseur d'identités (Authentic) Gestion des identités Autorisation Identification Lecture d'attributs Annuaire LDAP d'entreprise HTTP LDAP Liberty Alliance (HTTP/SOAP) Authentification Administration des données
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 : http://federid.objectweb.org LemonLDAP : http://lemonldap.objectweb.org InterLDAP : http://interldap.objectweb.org Implication dans les projets suivants : CloverETL : http://cloveretl.berlios.de 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 http://www.federid.org http://www.interldap.org