Projet

Général

Profil

Wiki » Historique » Version 8

Christophe LEON, 15/10/2013 07:49

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