Projet

Général

Profil

Wiki » Historique » Version 12

Gérald Schwartzmann, 15/05/2014 10:58

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 12 Gérald Schwartzmann
du coup le id_fs n'est ??? c'est le code rne de l'établissement
65 2 Christophe LEON
66 2 Christophe LEON
h3. URL_DU_PORTAIL_ETABLISSEMENT
67 2 Christophe LEON
68 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
69 2 Christophe LEON
70 2 Christophe LEON
    @[9740091F]
71 2 Christophe LEON
libelle = COLLEGE LECONTE DE LISLE
72 2 Christophe LEON
portail = https://portail.college-lecontedelisle.re
73 2 Christophe LEON
...
74 2 Christophe LEON
@
75 2 Christophe LEON
76 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.
77 2 Christophe LEON
78 3 Christophe LEON
h3. *aucun portail trouvé*
79 2 Christophe LEON
80 3 Christophe LEON
Le message d'erreur s'affiche
81 4 Christophe LEON
!edispatcher_erreur_portail.png!
82 3 Christophe LEON
83 1 Christophe LEON
cela signifie que dans votre  edispatcher/utils/etabs.ini il n'y a pas de section pour le code Rne
84 5 Christophe LEON
85 5 Christophe LEON
h2. Différents portails pour Arnea en fonction de la zone
86 5 Christophe LEON
87 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
88 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
89 5 Christophe LEON
il existe au moins trois portails d'accès aux application Arena : 
90 5 Christophe LEON
91 5 Christophe LEON
* portail.ac-reunion.fr (accessibles en externe)
92 5 Christophe LEON
* scoens.ac-reunion.fr (depuis le réseau pédagogique des établissements)
93 5 Christophe LEON
* scoweb.ac-reunion.fr (depuis le réseau administratif)
94 5 Christophe LEON
95 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
96 5 Christophe LEON
97 5 Christophe LEON
+*Exemple*+
98 5 Christophe LEON
scoweb.ac-reunion.fr , offre accès a la ressource SIECLE , tandis que portail.ac-reunion non
99 5 Christophe LEON
100 5 Christophe LEON
il faut donc permettre aux utilisateurs d'être sur le bon portail en fonction de la zone ou ils se trouvent,
101 5 Christophe LEON
le dispatcher le permet..
102 5 Christophe LEON
103 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
104 5 Christophe LEON
Ces différentes association <RESEAU>/<PORTAIL> est définie dans utils/portails.ini
105 5 Christophe LEON
106 5 Christophe LEON
Un exemple d'utilisation de ce fichier est présent dans utils/portails.ini.sample
107 5 Christophe LEON
108 5 Christophe LEON
    @
109 5 Christophe LEON
[172.16.0.0]
110 5 Christophe LEON
mask=13
111 5 Christophe LEON
portail="scoens.ac-reunion.fr"
112 10 Christophe LEON
arena="rev-proxy-peda"
113 5 Christophe LEON
[172.31.190.64]
114 5 Christophe LEON
mask=26
115 5 Christophe LEON
portail="portail.ac-reunion.fr"
116 10 Christophe LEON
arena="rev-proxy-id"
117 5 Christophe LEON
[172.31.16.0]
118 5 Christophe LEON
mask=16
119 5 Christophe LEON
portail="portail.ac-reunion.fr"
120 10 Christophe LEON
arena="rev-proxy-id"
121 5 Christophe LEON
[10.205.0.0]
122 5 Christophe LEON
mask=16
123 5 Christophe LEON
portail="scoweb.ac-reunion.fr"
124 10 Christophe LEON
arena="rev-proxy-agr"
125 5 Christophe LEON
@
126 5 Christophe LEON
127 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
128 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
129 6 Christophe LEON
130 6 Christophe LEON
La récupération de l'IP du client se base sur le champ HTTP_X_FORWARDED_FOR des headers http