Projet

Général

Profil

Wiki » Historique » Version 11

Philippe Roy, 10/04/2014 16:50

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 11 Philippe Roy
* 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 11 Philippe Roy
L'installation du dispatcher va mettre en place sur le serveur sso les filtres d'attributs nécessaires afin de rediriger 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