Projet

Général

Profil

Wiki » Historique » Version 10

Christophe LEON, 20/02/2014 08:31

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