Projet

Général

Profil

Wiki » Historique » Version 6

Christophe LEON, 25/09/2013 10:16

1 1 Christophe LEON
h1. eole-dispatcher
2 1 Christophe LEON
3 1 Christophe LEON
eole-dispatcher est une application qui permet de rediriger l'utilisateur sur son portail (Envole) établissement.
4 1 Christophe LEON
5 1 Christophe LEON
Il est prévu également pour gérer le cas de la multi-affectation pour les *enseignants* et les *parents*.
6 1 Christophe LEON
7 1 Christophe LEON
Ainsi un enseignant qui auraient des services sur plusieurs établissements se verraient proposer le choix de l'établissement sur lequel il souhaite se connecter.
8 1 Christophe LEON
De même pour un parent d'élève qui aurait plusieurs enfants dans des établissements différents se choix lui sera proposé
9 1 Christophe LEON
10 1 Christophe LEON
Il est à noté 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
11 1 Christophe LEON
12 1 Christophe LEON
Je parlerais ici du terme affectation au sens large, une affectation est pour moi (dans ce document) l'appartenance, d'une personne à un établissement.
13 1 Christophe LEON
14 1 Christophe LEON
Je souligne également que dans ce scénario d'authentification, il est *nécessaire* de mettre en place la *fédération de Seshat vers FIM-AGENT et FIM-TS*, si l'on souhaite utiliser Seshat comme seul portail d'authentification
15 1 Christophe LEON
16 1 Christophe LEON
eole-dispatcher est capable (au travers de ces filtres d'attributs) de gérer les sources d'authentification suivantes :
17 1 Christophe LEON
* LDAP Académique pour les agents de l'éducation National
18 1 Christophe LEON
* LDAP Téléservices pour les parents et élèves
19 1 Christophe LEON
* LDAP local (Réplicat des scribes) pour l’authentification des élèves et parents (si les téléservices ne sont pas déployés) 
20 1 Christophe LEON
21 1 Christophe LEON
h2. Fonctionnement
22 1 Christophe LEON
23 1 Christophe LEON
Le dispatcher est a installer sur seshat, afin d'utiliser le portail EoleSSO de seshat comme portail unique d'authentification vers les ENT (Envole)
24 1 Christophe LEON
L'installation du dispatcher va mettre en place sur le serveur sso les filtres d'attributs nécessaires afin de redirigé correctement la personne
25 1 Christophe LEON
26 1 Christophe LEON
/usr/share/sso/app_filters/dispatcher.ini
27 1 Christophe LEON
28 1 Christophe LEON
29 1 Christophe LEON
    @[user]
30 1 Christophe LEON
rne=ecs_rne	
31 1 Christophe LEON
user=uid
32 1 Christophe LEON
uid=uid
33 1 Christophe LEON
source=SourceAuth	
34 1 Christophe LEON
FederationKey=DispatcherKey
35 1 Christophe LEON
displayName=displayName
36 1 Christophe LEON
profils=DispatcherProfils
37 1 Christophe LEON
auth=auth@
38 1 Christophe LEON
39 1 Christophe LEON
40 1 Christophe LEON
l'attribut calculé ecs_rne, va permettre de récupérer les codes rne en fonction des établissement d'affectation de la personne.  
41 1 Christophe LEON
42 2 Christophe LEON
Lors de la connexion d'une personne eole-dispatcher va prendre tous les RNE reçu de EoleSSO et présenter tous les liens de fédération pour l'accès aux portails Envole lui concernant.
43 2 Christophe LEON
Une Url de fédération ressemble à cela
44 2 Christophe LEON
45 2 Christophe LEON
    @https://seshat.ac-academie.fr/saml?sp_ident=<id_fs>&RelayState=https://<URL_DU_PORTAIL_ETABLISSEMENT>@
46 2 Christophe LEON
47 2 Christophe LEON
A la vue de cette url, plusieurs questions se posent
48 2 Christophe LEON
# Comment eole-dispatcher récupère le *id_fs* pour un rne donné
49 2 Christophe LEON
# Comment eole-dispatcher récupère l' *URL_DU_PORTAIL_ETABLISSEMENT* pour un rne donné
50 2 Christophe LEON
51 2 Christophe LEON
h3. id_fs 
52 2 Christophe LEON
53 2 Christophe LEON
D'après la documentation http://eoleng.ac-dijon.fr/documentations/2.3/partielles/PDF/EoleSSO.pdf (Chapitre 4, page 27)
54 2 Christophe LEON
55 2 Christophe LEON
    @id_fs est soit l'identifiant du fournisseur de service (entityID tel que défini dans son fichier de méta
56 2 Christophe LEON
données), soit le nom de son fichier de méta données placé dans /usr/share/sso/metadata (sans l'extension
57 2 Christophe LEON
.xml).@
58 2 Christophe LEON
59 2 Christophe LEON
Nous avons donc fait le choix (par simplicité) de nommer le fichier metadata de nos entités partenaires (Serveur Scribe des établissements) par <rne>.xml
60 2 Christophe LEON
du coup le id_fs n'est c'est le code rne de l'établissement
61 2 Christophe LEON
62 2 Christophe LEON
63 2 Christophe LEON
h3. URL_DU_PORTAIL_ETABLISSEMENT
64 2 Christophe LEON
65 2 Christophe LEON
EoleSSO, va générer a chaque redémarrage du serveur eole-sso un fichier dans edispatcher/utils/etabs.ini qui va contenir les entrées nécessaires pour chaque établissement
66 2 Christophe LEON
67 2 Christophe LEON
    @[9740091F]
68 2 Christophe LEON
libelle = COLLEGE LECONTE DE LISLE
69 2 Christophe LEON
portail = https://portail.college-lecontedelisle.re
70 2 Christophe LEON
...
71 2 Christophe LEON
@
72 2 Christophe LEON
73 2 Christophe LEON
Ces entrées sont récupérées de Zephir, il est donc nécessaire que les serveurs Scribe soient enregistrés sur Zephir; Si ce n'est pas le cas, il vous faudra générer ce fichier à la main.
74 2 Christophe LEON
75 3 Christophe LEON
h3. *aucun portail trouvé*
76 2 Christophe LEON
77 3 Christophe LEON
Le message d'erreur s'affiche
78 4 Christophe LEON
!edispatcher_erreur_portail.png!
79 3 Christophe LEON
80 1 Christophe LEON
cela signifie que dans votre  edispatcher/utils/etabs.ini il n'y a pas de section pour le code Rne
81 5 Christophe LEON
82 5 Christophe LEON
h2. Différents portails pour Arnea en fonction de la zone
83 5 Christophe LEON
84 5 Christophe LEON
Comme je l'avais mentionné plus haut, eole-dispatcher est utilisé chez nous comme portail d'authentification unique, également pour l'accès aux portail Arena
85 5 Christophe LEON
Hors, la ou cela se complique, c'est qu'il peut y avoir plusieurs portails en fonction de l'endroit où se trouve l'utilisateur, par exemple dans l'académie de la Réunion
86 5 Christophe LEON
il existe au moins trois portails d'accès aux application Arena : 
87 5 Christophe LEON
88 5 Christophe LEON
* portail.ac-reunion.fr (accessibles en externe)
89 5 Christophe LEON
* scoens.ac-reunion.fr (depuis le réseau pédagogique des établissements)
90 5 Christophe LEON
* scoweb.ac-reunion.fr (depuis le réseau administratif)
91 5 Christophe LEON
92 5 Christophe LEON
chaque portail en fonction de sa zone de confinement ne présentera pas les mêmes ressources, et l'obligation d'une clef OTP sera différente
93 5 Christophe LEON
94 5 Christophe LEON
+*Exemple*+
95 5 Christophe LEON
scoweb.ac-reunion.fr , offre accès a la ressource SIECLE , tandis que portail.ac-reunion non
96 5 Christophe LEON
97 5 Christophe LEON
il faut donc permettre aux utilisateurs d'être sur le bon portail en fonction de la zone ou ils se trouvent,
98 5 Christophe LEON
le dispatcher le permet..
99 5 Christophe LEON
100 5 Christophe LEON
En effet, une fonction (GetPortailHost)  dans le fichier edispatcher/inc.php  permet en fonction de l'adresse IP du client de redirigé vers le bon portail
101 5 Christophe LEON
Ces différentes association <RESEAU>/<PORTAIL> est définie dans utils/portails.ini
102 5 Christophe LEON
103 5 Christophe LEON
Un exemple d'utilisation de ce fichier est présent dans utils/portails.ini.sample
104 5 Christophe LEON
105 5 Christophe LEON
    @
106 5 Christophe LEON
[172.16.0.0]
107 5 Christophe LEON
mask=13
108 5 Christophe LEON
portail="scoens.ac-reunion.fr"
109 5 Christophe LEON
[172.31.190.64]
110 5 Christophe LEON
mask=26
111 5 Christophe LEON
portail="portail.ac-reunion.fr"
112 5 Christophe LEON
[172.31.16.0]
113 5 Christophe LEON
mask=16
114 5 Christophe LEON
portail="portail.ac-reunion.fr"
115 5 Christophe LEON
[10.205.0.0]
116 5 Christophe LEON
mask=16
117 5 Christophe LEON
portail="scoweb.ac-reunion.fr"
118 5 Christophe LEON
@
119 5 Christophe LEON
120 5 Christophe LEON
Dans cet exemple tout utilisateur avec une adresse IP dans le réseau 10.205.0.0/16 , se verra présenter  l'url du portail académique sera https://scoweb.ac-reunion.fr
121 6 Christophe LEON
122 6 Christophe LEON
123 6 Christophe LEON
La récupération de l'IP du client se base sur le champ HTTP_X_FORWARDED_FOR des headers http