Projet

Général

Profil

Wiki » Historique » Version 7

Christophe LEON, 15/10/2013 07:15

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 7 Christophe LEON
Il est nécessaire de correctement mettre en place la fédération entre Seshat et vos Scribes.
6 7 Christophe LEON
Il est à noté dans ce scénario que Seshat est un Fournisseur d'Identité (FI) et les Scribes d'établissements sont des Fournisseurs de Services (FS)
7 7 Christophe LEON
Pour correctement configurer cette fédération, veuillez consulter la page [[fédération SAML entre Seshat et vos Scribes]].
8 7 Christophe LEON
9 7 Christophe LEON
10 1 Christophe LEON
Il est prévu également pour gérer le cas de la multi-affectation pour les *enseignants* et les *parents*.
11 1 Christophe LEON
12 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.
13 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é
14 1 Christophe LEON
15 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
16 1 Christophe LEON
17 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.
18 1 Christophe LEON
19 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
20 1 Christophe LEON
21 1 Christophe LEON
eole-dispatcher est capable (au travers de ces filtres d'attributs) de gérer les sources d'authentification suivantes :
22 1 Christophe LEON
* LDAP Académique pour les agents de l'éducation National
23 1 Christophe LEON
* LDAP Téléservices pour les parents et élèves
24 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) 
25 1 Christophe LEON
26 1 Christophe LEON
h2. Fonctionnement
27 1 Christophe LEON
28 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)
29 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
30 1 Christophe LEON
31 1 Christophe LEON
/usr/share/sso/app_filters/dispatcher.ini
32 1 Christophe LEON
33 1 Christophe LEON
34 1 Christophe LEON
    @[user]
35 1 Christophe LEON
rne=ecs_rne	
36 1 Christophe LEON
user=uid
37 1 Christophe LEON
uid=uid
38 1 Christophe LEON
source=SourceAuth	
39 1 Christophe LEON
FederationKey=DispatcherKey
40 1 Christophe LEON
displayName=displayName
41 1 Christophe LEON
profils=DispatcherProfils
42 1 Christophe LEON
auth=auth@
43 1 Christophe LEON
44 1 Christophe LEON
45 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.  
46 1 Christophe LEON
47 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.
48 2 Christophe LEON
Une Url de fédération ressemble à cela
49 2 Christophe LEON
50 2 Christophe LEON
    @https://seshat.ac-academie.fr/saml?sp_ident=<id_fs>&RelayState=https://<URL_DU_PORTAIL_ETABLISSEMENT>@
51 2 Christophe LEON
52 2 Christophe LEON
A la vue de cette url, plusieurs questions se posent
53 2 Christophe LEON
# Comment eole-dispatcher récupère le *id_fs* pour un rne donné
54 2 Christophe LEON
# Comment eole-dispatcher récupère l' *URL_DU_PORTAIL_ETABLISSEMENT* pour un rne donné
55 2 Christophe LEON
56 2 Christophe LEON
h3. id_fs 
57 2 Christophe LEON
58 2 Christophe LEON
D'après la documentation http://eoleng.ac-dijon.fr/documentations/2.3/partielles/PDF/EoleSSO.pdf (Chapitre 4, page 27)
59 2 Christophe LEON
60 2 Christophe LEON
    @id_fs est soit l'identifiant du fournisseur de service (entityID tel que défini dans son fichier de méta
61 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
62 2 Christophe LEON
.xml).@
63 2 Christophe LEON
64 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
65 2 Christophe LEON
du coup le id_fs n'est c'est le code rne de l'établissement
66 2 Christophe LEON
67 2 Christophe LEON
68 2 Christophe LEON
h3. URL_DU_PORTAIL_ETABLISSEMENT
69 2 Christophe LEON
70 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
71 2 Christophe LEON
72 2 Christophe LEON
    @[9740091F]
73 2 Christophe LEON
libelle = COLLEGE LECONTE DE LISLE
74 2 Christophe LEON
portail = https://portail.college-lecontedelisle.re
75 2 Christophe LEON
...
76 2 Christophe LEON
@
77 2 Christophe LEON
78 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.
79 2 Christophe LEON
80 3 Christophe LEON
h3. *aucun portail trouvé*
81 2 Christophe LEON
82 3 Christophe LEON
Le message d'erreur s'affiche
83 4 Christophe LEON
!edispatcher_erreur_portail.png!
84 3 Christophe LEON
85 1 Christophe LEON
cela signifie que dans votre  edispatcher/utils/etabs.ini il n'y a pas de section pour le code Rne
86 5 Christophe LEON
87 5 Christophe LEON
h2. Différents portails pour Arnea en fonction de la zone
88 5 Christophe LEON
89 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
90 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
91 5 Christophe LEON
il existe au moins trois portails d'accès aux application Arena : 
92 5 Christophe LEON
93 5 Christophe LEON
* portail.ac-reunion.fr (accessibles en externe)
94 5 Christophe LEON
* scoens.ac-reunion.fr (depuis le réseau pédagogique des établissements)
95 5 Christophe LEON
* scoweb.ac-reunion.fr (depuis le réseau administratif)
96 5 Christophe LEON
97 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
98 5 Christophe LEON
99 5 Christophe LEON
+*Exemple*+
100 5 Christophe LEON
scoweb.ac-reunion.fr , offre accès a la ressource SIECLE , tandis que portail.ac-reunion non
101 5 Christophe LEON
102 5 Christophe LEON
il faut donc permettre aux utilisateurs d'être sur le bon portail en fonction de la zone ou ils se trouvent,
103 5 Christophe LEON
le dispatcher le permet..
104 5 Christophe LEON
105 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
106 5 Christophe LEON
Ces différentes association <RESEAU>/<PORTAIL> est définie dans utils/portails.ini
107 5 Christophe LEON
108 5 Christophe LEON
Un exemple d'utilisation de ce fichier est présent dans utils/portails.ini.sample
109 5 Christophe LEON
110 5 Christophe LEON
    @
111 5 Christophe LEON
[172.16.0.0]
112 5 Christophe LEON
mask=13
113 5 Christophe LEON
portail="scoens.ac-reunion.fr"
114 5 Christophe LEON
[172.31.190.64]
115 5 Christophe LEON
mask=26
116 5 Christophe LEON
portail="portail.ac-reunion.fr"
117 5 Christophe LEON
[172.31.16.0]
118 5 Christophe LEON
mask=16
119 5 Christophe LEON
portail="portail.ac-reunion.fr"
120 5 Christophe LEON
[10.205.0.0]
121 5 Christophe LEON
mask=16
122 5 Christophe LEON
portail="scoweb.ac-reunion.fr"
123 5 Christophe LEON
@
124 5 Christophe LEON
125 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
126 6 Christophe LEON
127 6 Christophe LEON
128 6 Christophe LEON
La récupération de l'IP du client se base sur le champ HTTP_X_FORWARDED_FOR des headers http