Application de redirection : Eole-dispatcher

Dans le cadre de l'utilisation du module Seshat en tant que point d'entrée d'un ENT centralisé, l'application Eole-dispatcher permet de rediriger les utilisateurs vers leur établissement d'origine. Elle se base sur les informations remontées lors de la mise en place de la réplication des serveurs Scribe.

Il est prévu également pour gérer le cas de la multi-affectation pour les enseignants et les parents :

  • un enseignant qui aurait des services sur plusieurs établissements se verrait proposer le choix de l'établissement sur lequel il souhaite se connecter.

  • un parent d'élève qui aurait plusieurs enfants dans des établissements différents se verrait également proposer le choix de l'établissement. Il est à noter que la problématique de la multi-affectation pour un élève ne se pose pas, puisque ce dernier ne peut pas être scolarisé dans deux établissements.

Eole-dispatcher est capable (au travers de ses filtres d'attributs) de gérer les sources d'authentification suivantes :

  • LDAP Académique pour les agents de l'Éducation national ;

  • LDAP Téléservices pour les parents et élèves ;

  • LDAP local (Réplicat des serveurs Scribe) pour l'authentification des élèves et parents (si les téléservices ne sont pas déployés).

Remarque

Le terme affectation est à prendre au sens large, il désigne l'appartenance d'une personne à un établissement.

Pré-requis

Cette application nécessite :

  • la mise en place de la réplication LDAP des serveurs Scribe sur le serveur Seshat ;

  • l'alimentation des annuaires des serveurs Scribe avec des extractions AAF EXCLUSIVEMENT ;

  • la bonne saisie des numéros et libellés établissement sur les serveurs Scribe et Zéphir ;

  • la configuration d'une fédération entre chaque serveur Scribe et le serveur Seshat (voir documentation EoleSSO au chapitre : Fédération entre 2 serveurs EoleSSO).

Installation

Le dispatcher est à installer sur le module Seshat, afin d'utiliser son portail EoleSSO comme portail unique d'authentification vers les ENT (Envole).

L'application n'est pas installée par défaut, saisissez les commandes suivantes sur le module Seshat :

# Query-Auto

# apt-eole install eole-dispatcher

Une fois les paquets installés, il faut se rendre dans l'onglet Application web de l'interface de configuration du module et renseigner les paramètres suivants :

  • Portail académique (PIA) : portail sur lequel seront redirigés les personnels académiques ;

  • Site par défaut : adresse du site Internet dédié à l'ENT si aucun portail d'établissement n'est disponible pour l'utilisateur.

Fonctionnement

L'installation du dispatcher va mettre en place sur le serveur SSO les filtres d'attributs nécessaires afin de rediriger correctement la personne.

Extrait du fichier /usr/share/sso/app_filters/dispatcher.ini :

[user]

rne=ecs_rne

user=uid

uid=uid

source=SourceAuth

FederationKey=DispatcherKey

displayName=displayName

profils=DispatcherProfils

auth=auth

L'attribut calculé ecs_rne, va permettre de récupérer les codes RNE en fonction des établissements d'affectation de l'utilisateur.

Lors de la connexion d'une personne Eole-dispatcher va prendre tous les RNE reçus de EoleSSO et présenter tous les liens de fédération pour l'accès aux portails Envole le concernant.

ExempleExemple d'une URL de fédération

 https://<domaineSeshatSSO>/saml?sp_ident=<id_fs>&RelayState=https://<URL_du_portail_Établissement>

Cette URL effectue une fédération vers le fournisseur de service <id_fs> et redirige vers l'<URL_du_portail_Établissement> du client en fournissant un identifiant de session.

Configuration

RNE : id_fs

id_fs est :

  • soit l'identifiant du fournisseur de service (entityID tel que défini dans son fichier de méta données) ;

  • soit le nom de son fichier de méta-données placé dans /usr/share/sso/metadata/ (sans l'extension .xml).

Par simplicité il est possible de nommer le fichier metadata de nos entités partenaires (Serveur Scribe des établissements) par <RNE>.xml ; id_fs est alors le code RNE de l'établissement.

Libellé et adresse du portail des établissements : URL_du_portail_Établissement

EoleSSO, va générer automatiquement, à chaque redémarrage du service eole-sso, un fichier dans /var/www/html/edispatcher/utils/etabs.ini qui va contenir les entrées nécessaires pour chaque établissement :

[9740091F]

libelle = COLLEGE LECONTE DE LISLE

portail = https://portail.college-lecontedelisle.re

...

Ces entrées sont récupérées depuis Zéphir, il est donc nécessaire que les serveurs Scribe soient enregistrés sur le serveur Zéphir. Dans le cas contraire, ou si des informations sont incorrectes ou manquantes il faudra remplir ce fichier à la main (voir le chapitre Gestion des sources d'authentification multiples).

Vous pouvez vous baser sur le fichier d'exemple : /var/www/html/edispatcher/utils/etabs.ini.sample.

Truc & astuceMessage d'erreur s'affiche aucun portail trouvé

Il manque une section pour le code RNE dans le fichier /var/www/html/edispatcher/utils/etabs.ini.

Description de liens vers des applications web ou vers des portails.

Fichier /var/www/html/edispatcher/applications.ini :

  • Format des sections :

[<identifiant du lien>]

url="<adresse du lien>"

piwik=<identifiant piwik>

  • Paramétrage des URLs : il est possible d'insérer des étiquettes dynamiques dans les URLs

[SSO] : adresse du serveur SSO de Seshat

[PORTAILHOST] : portail dépendant de la zone d'accès du client (configuré dans portails.ini)

[TICKET] : identifiant de session

Configuration de l'accès à un portail en fonction de la plage IP du client

Eole-dispatcher est également utilisé dans certaines académies comme portail d'authentification unique pour l'accès aux portail ARENA[1].

Il peut exister plusieurs portails en fonction de l'endroit où se trouve l'utilisateur, par exemple dans l'académie de la Réunion il existe au moins trois portails d'accès aux application ARENA :

  • portail.ac-reunion.fr (accessibles en externe) ;

  • scoens.ac-reunion.fr (depuis le réseau pédagogique des établissements) ;

  • scoweb.ac-reunion.fr (depuis le réseau administratif).

Chaque portail en fonction de sa zone de confinement ne présentera pas les mêmes ressources, et l'utilisation d'une clé OTP sera proposée ou non.

Il faut donc permettre aux utilisateurs d'obtenir le bon portail en fonction de la zone où ils se trouvent.

Complément

La fonction GetPortailHost du fichier /var/www/html/edispatcher/inc.php du dispatcher permet, en fonction de l'adresse IP du client, de rediriger l'utilisateur vers le bon portail. La récupération de l'adresse IP du client se base sur le champ HTTP_X_FORWARDED_FOR des headers HTTP.

Les différentes associations réseau / portail sont définies dans le fichier /var/www/html/edispatcher/utils/portails.ini.

Créer le fichier /var/www/html/edispatcher/utils/portails.ini et ajouter des sections décrivant une plage IP et l'adresse du portail correspondant :

[<adresse IP>]

mask=<masque IP>

portail="<adresse du portail pour cette plage IP>"

Un exemple de fichier est présent dans : /var/www/html/edispatcher/utils/portails.ini.sample.

Exemple

[172.16.0.0]

mask=13

portail="scoens.ac-reunion.fr"

arena="rev-proxy-peda"

[172.31.190.64]

mask=26

portail="portail.ac-reunion.fr"

arena="rev-proxy-id"

[172.31.16.0]

mask=16

portail="portail.ac-reunion.fr"

arena="rev-proxy-id"

[10.205.0.0]

mask=16

portail="scoweb.ac-reunion.fr"

arena="rev-proxy-agr"

Exemple

Dans cet exemple tout utilisateur se présentant avec une adresse IP du réseau 10.205.0.0/16 , se verra renvoyer vers l'URL du portail académique https://scoweb.ac-reunion.fr.

La variable arena, permet de spécifier la zone ClearTrust associée au portail. Elle est utilisée si vous souhaitez intégrer les ressources ARENA dans le bureau Envole.

Plus d'informations : https://envole.ac-dijon.fr/wordpress/2014/02/19/integration-de-arena-dans-le-bureau-envole.