CASShib ou pourquoi j'ai shibbolethisé mon CAS
Le contexte
Depuis septembre 2007, le service informatique de l'académie de Rennes développe l'espace numérique de travail Toutatice. Il est le lieu de convergence des usages au sein de la communauté éducative au sens large (académie, établissements, familles, collectivités). Il permet l’échange d’informations dans l’ensemble de l’organisation, il fournit les ressources ou services numériques dont une personne a besoin pour travailler, apprendre ou, en ce qui concerne les familles, accompagner la scolarité de leur enfant.
Cet ENT a pour objectif de satisfaire les besoins de travail collaboratif, de réseau social, de publication de contenus WEB en même temps que d'intégrer des processus métiers et services tiers répondant aux besoins des directions académiques et des collectivités partenaires.
En 2011, l'académie de Rennes et la région conventionnent pour le développement de l'ENT Toutatice. Il est alors question d'ouvrir l'accès aux parents d'élèves et aux établissements d'enseignement dépendants d'autres tutelles que celle de l'éducation nationale (établissements agricoles, établissements maritimes) ainsi qu'aux personnels de la Région intervenant dans les lycées.
Le projet de déploiement a connu deux phases importantes
- 2007 à 2011 : déploiement pour les collèges, les lycées et les services administratifs de l'éducation nationale
- 2011 à 2014 : ouverture aux parents, ouverture aux personnels de la Région et intégration des établissements agricoles et maritimes.
Le pourquoi
Une académie est une grande organisation. Elle compte les élèves du second degré, les enseignants, les personnels administratifs... soit une population cible d'environ 300 000 utilisateurs. Cette organisation est structurée en établissements : 314 établissements publics du second degré, 4 directions des services départementaux de l'éducation nationale (DSDEN) et un rectorat.
Au démarrage du projet d'espace numérique de travail, l’objectif initial est de mettre en œuvre une plateforme de diffusion de services permettant au service informatique de fournir les applications dont ses usagers avaient besoin. Nous avons commencé cette aventure par la mise en œuvre de l'élément fondamental d'un ENT de cette échelle : le service de gestion d’identités et d'habilitation. L'architecture applicative mise en place est composée d'un service annuaire LDAP et d'un ETL maison pour outiller les processus de création/suppression de comptes « ldapOmatic », d'un serveur d'authentification CAS, du catalogue des services de l'ENT et d'un portail permettant de présenter les services aux usagers intéressés.
Sur cette base, nous déployons nos premiers services numériques : PMB pour la gestion documentaire des CDI des établissements, Educhorus pour la gestion de la scolarité (notes, absences, cahier de texte) et Moodle pour les espaces de cours. Tout au long de cette première phase, l'offre de service s'est enrichie avec l'intégration d'applications open source (Nuxeo, SPIP, Jforum, Jahia, Etherpad) d'applications développées par le service informatique et de services fournis par les collectivités territoriales, … soit environ une trentaine d'applications. Toutes ces applications sont configurées ou modifiées pour déléguer leur authentification au serveur CAS de l'ENT et récupérer les attributs fournis.
Les identités des élèves sont créées à partir des systèmes d'information de gestion de la scolarité. Leur intégration est outillée : processus de changement de mot de passe, processus de distribution des comptes, processus de recouvrement des identifiants, ...
Les identités des personnels académiques sont créés sur le périmètre de l'environnement Toutatice à partir de celles préalablement créées sur un environnement d'applications nationales, ARENA. Le processus de création de comptes assure une réplication asynchrone des identités entre ces deux mondes et tout changement de mot de passe est propagé depuis ARENA vers Toutatice au moyen d'un dispositif d'écoute et de recopie du hash. L'authentification entre les deux environnements n'est pas encore propagée : elle est portée par CAS du coté Toutatice et par RSA Cleartrust pour ARENA.
En 2011, l'équipe projet de Toutatice doit répondre à de nouveaux enjeux : mise à disposition de Toutatice et ses services aux usagers des organisations s'ajoutant au projet, ouverture des services aux parents des élèves, demande des directions académique de simplifier l'accès aux applications des environnements ARENA et Toutatice.
- Pour l'ouverture aux parents, il s'agit d'exploiter les identités de l'environnement des téléservices de scolarité (ATEN) pour les parents et élèves développé par le ministère de l'éducation nationale et déployé en académie.
- Pour l'intégration des établissements des tutelles agricoles et maritimes, l'intention est de s'interfacer avec leurs dispositifs d'authentification : un fournisseur d'identité Shibboleth.
- Pour se fédérer avec l'environnement ARENA, le service RSA FIM offre le service fournisseur d'identité compatible SAML2.
Le comment
Il s’agit donc de mettre en œuvre un fournisseur de service sur l'environnement Toutatice et de faire en sorte d'interfacer tous les services.
-
Première stratégie : transformer tous les points d'intégration des applications existantes. Cette approche comprenait un risque important : le remaniement des applications nécessaire pour être compatibles avec un fournisseur de service Shibboleth dépendait de la disponibilité d'opérateurs internes et externes ainsi que de leur volonté à monter en compétence sur les aspects techniques de la fédération d'identité.
-
Seconde stratégie : mettre en œuvre un proxy, un pont SAML2 to CAS... « shibboletiser » un serveur CAS, en quelque sorte. L'avantage de cette solution est de rendre le changement d'architecture relativement transparent pour les applications déjà intégrées et de se concentrer exclusivement sur la mise en œuvre du fournisseur de service.
Le risque de la première stratégie s'avérait trop important. La seconde s'est imposée d'elle même avec CASShib.
La solution retenue pour migrer l'ensemble de Toutatice est un fournisseur de service Shibboleth, d'un serveur CAS embarquant l'extension CASShib... Un serveur CAS « shibbolethisé » en quelque sorte.
Bénéfices et inconvénients
Cette solution a permis de mener la migration complète et en une seule fois de l'environnement derrière un fournisseur de service compatible avec une fédération d'identité en une fois. Cette opération est un succès : CASShib tient une charge journalière de 70 000 authentifications par jour et d'environ 30 authentifications par seconde.
L'inconvénient majeur de cette solution est qu'elle est mal connue et que la communauté assurant la maintenance évolutive et applicative est petite. Le risque pour le service informatique académique est de devoir maintenir cette extension. Les évolutions à venir de CAS apporteront-elles d'autres solutions ? L'avenir le dira :-)
CASSHib peut être un moyen simple pour "shibbolethiser" globalement une offre de service "cassifiée" existante et permet d'avoir un arc à plusieurs cordes pour intégrer des applications. Le service provider Shibboleth peut très bien être utilisé pour exposer des services réclamant ce niveau de compatibilité tandis que le serveur CASShib est un moyen simple d'intégrer des applications embarquant un client CAS ou même d'intégrer des télé-procédures existantes. Ce moyen vient d'être retenu pour intégrer dans Toutatice des formulaires .NET développés par le conseil général du Morbihan pour les enseignants des collèges du département : l'authentification et la transmission d'attributs sera faite par CASShib.
Nos collègues du GIP Reccia de l'académie d'Orléans-Tours et de la Région Centre, en charge de la mise en œuvre d'un ENT pour les lycées, ont aussi réalisé leur transformation en fournisseur de service au moyen de CASShib. Nous partageons actuellement notre expérience avec les collègues de l'ESPE Bretagne confrontés au besoin de « shibbolethiser » leur ENT et tous leurs services en une fois… l'ESPE est un lieu où se rencontrent des acteurs des universités (étudiants et enseignants-chercheurs) et des acteurs de l'académie (professeurs stagiaires, formateurs et tuteurs).
Nous aurons plaisir à partager plus largement cette expérience aux JRES 2015