Projet

Général

Profil

Fédération SAML entre Seshat et vos Scribes » Historique » Version 4

« Précédent - Version 4/6 (diff) - Suivant » - Version actuelle
Christophe LEON, 15/10/2013 07:41


Fédération SAML entre Seshat et vos Scribes

Nous allons expliquer comment mettre en oeuvre une fédération SAML entre Seshat et les Scribes d'établissements.

Rappel:
  • FI: Fournisseur d'Identité (Seshat ici)
  • FS: Fournisseur de Services

Sur Seshat

Nous allons dans un premier temps sur Seshat définir un filtre d'application (envole_saml_apps) , qui permettra de renvoyer un ensemble d'attributs de fédération lorsque le service demandeur sera un scribe.
Dans le filtre suivant, nous faisons comme hypothèse que
  • Le service EoleSSO des Scribes est sur le port 8443

NOTE: Il vous appartient de changer ce port si vos scribes n'écoutent pas sur le 8443.

/usr/share/sso/app_filters/envole_saml_apps.ini

-

[envole_saml]
port=8443
baseurl=/saml/acs
scheme=https
addr=0/0
typeaddr=ip
filter=envole_saml
Il est possible d'affiner ce filtre d'application,
Prenons pas exemple la configuration de la Réunion
  • Tous les collèges ont pour DNS: portail.college-XXXX.re
  • Tous les lycées ont pour DNS: portail.ZZZZ.ac-reunion.fr
[lycees_saml]
port=8443
baseurl=/saml/acs
scheme=https
addr=^portail.*.ac-reunion.fr$
typeaddr=regex
filter=envole_saml
[colleges_saml]
port=8443
baseurl=/saml/acs
scheme=https
addr=^portail.college.*.re$
typeaddr=regex
filter=envole_saml

Bref l'idée étant de trouver un dénominateur commun a tous vos scribes et d'essayer d'en faire un filtre qui soit le plus cibler possible afin d'éviter que cela ne vienne perturber la fédération avec vos autres FS

Configuration du jeu d'attributs a envoyer

/usr/share/sso/app_filters/envole_saml.ini

-

[utilisateur]
vecteur=RUNENTPersonJointure

RUNENTPersonJointure est l'attribut calculé (fourni par le paquet eole-dispatcher) qui va permettre de déterminer le intid (attribut de fédération) qui sera a envoyer vers le Scribe dans la requête SAML.

Sur Scribe

attribute_sets/associations.ini

Ajouter d'une section

[envole]
attribute_set = envole_set

attribute_sets/envole_set.ini

[user_attrs]
vecteur = intid