Présentation de eduGAIN

eduGAIN est un service d'interconnexion des fédérations éducation/recherche au niveau internationnal. Ce service est opéré par GEANT, le réseau européen pour la recherche. Après une longue gestation et une phase pilote, le service a été lancé officiellement le 27 avril 2011.

1. Architecture

EduGAIN fonctionne comme un agrégateur de méta-données. Aucune entité (SP ou IdP) ne s'inscrit directement dans eduGAIN, elle doit être inscrite dans une des fédérations nationales.

Chaque fédération publie un sous-ensemble de ses méta-données à destination d'eduGAIN. Pour la France, ce sous-ensemble comprend

Les méta-données agrégées par eduGAIN sont ensuite publiées sur le site de chaque fédération et signées par celles-ci.

Ci-dessous une description de l'architecture eduGAIN (copyright SWITCH) :

2. Cas d'utilisation d'eduGAIN

Le besoin d'interfédération apparaît dès lors qu'un SP doit interagir avec des IdP issus de plusieurs fédérations. Sans eduGAIN, les administrateurs du SP ont deux alternatives : s'inscrire dans chaque fédération ou mettre en œuvre des relations bilatérales. Les deux options sont contraignantes, dès lors que le nombre d'IdP et/ou de fédérations est important.

Les éditeurs de documentation électronique ont été les premiers à rencontrer cette difficulté car ils proposent leurs services dans plusieurs pays. Ils ont du s'adapter aux procédures d'inscription dans chaque fédération nationale.

eduGAIN doit permettre le développement de nouveaux usages au sein de la communauté éducation/recherche au niveau international.

3. Les métadonnées eduGAIN

RENATER publie les méta-données eduGAIN dans plusieurs fichiers de méta-données :

Vous ne trouverez pas votre SP/IdP dans les fichiers de méta-données main-idps-edugain-metadata.xml et main-sps-edugain-metadata.xml car nous filtrons les entités française.

Avantage de cette approche : si les méta-données nationales ont des spécificités non acceptables dans eduGAIN, nous pouvons les maintenir sans imposer aux admins des SPs/IdPs un ordre dans le chargement des deux fichiers de méta-données.

Par ailleurs cette organisation permet :

  • de répartir la charge sur chaque fédération, au lieux de la concentrer sur http://mds.edugain.org/,
  • aux fédération nationales de filtrer des entités SAML qui poseraient problème nationalement,

Vous pouvez consulter le fichier de méta-données publié par GEANT à cette adresse : http://mds.edugain.org/

3.1. Problématique d'interopérabilité

Les spécifications SAML ont un spectre très large. Un profil définit un scénario d'utilisation d'assertions SAML entre des entités. Toutes les implémentations du protocole SAML n'implémentent pas tous les profils SAML.

Il est donc important de définir les profils utilisés dans le cadre d'une fédération. Pour la Fédération Education-Recherche, les profils utilisables sont définit dans le cadre technique de la Fédération. Cette problématique est encore plus importante pour une interconnexion de fédérations comme eduGAIN, avec une variété d'implémentations SAML plus large et des règles de fonctionnement variables d'une fédération à l'autre.

Les profils SAML2 utilisables dans le cadre d'eduGAIN sont ceux définis dans les recommandations saml2int.

4. Les attributs utilisateurs échangeables

Références :

Les attributs utilisateurs utilisés dans le cadre de chaque fédération nationales peuvent être différents. Cette divergence pose d'évidents problèmes d'interprétation des attributs par les applications associés aux SP. Heureusement ce problème est à relativiser car les schémas d'annuaire, utilisés comme référentiel par chaque fédération éducation/recherche, ont des ancêtres communs : inetOrgPerson et eduPerson.

EduGAIN définit les attributs utilisables comme étant :

  1. ceux définis dans eduPerson
  2. ceux définis dans SCHAC
  3. d'autres attributs, sur la base d'accords bilatéraux

4.1. Un jeu d'attributs minimum

Un jeu d'attributs minimum est défini ; tous les IdP doivent être capables de les fournir (selon le SP demandeur et en fonction de l'utilisateur) :

  • displayName
  • cn
  • mail
  • eduPersonAffiliation
  • eduPersonScopedAffiliation
  • eduPersonPrincipalName,
  • eduPersonTargetedID,
  • schacHomeOrganization
  • schacHomeOrganizationtype

4.2. Attributs schacHomeOrganization et schacOrganizationType

Les seuls attributs prévus dans eduGAIN Attribute Profile et non mentionnés dans supAnn 2009 sont : schacHomeOrganization et schacOrganizationType.

Vous pouvez consulter la documentation sur SCHAC ainsi que le SCHAC URN registry (pour connaître les valeurs d'attributs utilisables).

Ci-dessous des exemples de valeurs pour ces attributs :

  • schacHomeOrganization :
    • univie.ac.at
    • uvanet.br
    • inserm.fr
  • schacHomeOrganizationType :
    • urn:schac:homeOrganizationType:int:university
    • urn:schac:homeOrganizationType:int:researchHospital
    • urn:schac:homeOrganizationType:int:health-research-institution
    • urn:schac:homeOrganizationType:int:supercomputing-centre
    • urn:schac:homeOrganizationType:int:public-research-institution
    • urn:schac:homeOrganizationType:int:private-research-institution
    • urn:schac:homeOrganizationType:int:library
    • urn:schac:homeOrganizationType:int:museum
    • urn:schac:homeOrganizationType:int:nren

Certaines des valeurs de schacHomeOrganizationType proposées ci-dessus sont en court de standardisation.

4.3. Vocabulaire de l'attribut eduPersonAffiliation

Compte-tenu de l'imprécision de la définition de cet attribut dans les eduPerson, la sémantique de certaines valeurs de l'attribut eduPersonAffiliation a été interprétée de manière divergente dans différents pays. De ce fait, seul un sous-ensemble des valeurs pourra être utilisé dans le cadre eduGAIN.

Sauf définition explicite dans le cadre de relations bilatérales, les valeurs suivantes devront être évitées :

  • employee
  • staff

5. Données à caractère personnel et le Data Protection Code of Conduct

Un des obstacles majeurs au bon fonctionnement de la fédération d'identités au niveau national et international est la configuration de la diffusion des attributs utilisateurs, au niveau des fournisseurs d'identités. Les contraintes liées à la protection des données personnelles des utilisateurs sont à l'origine de cette difficulté pour les administrateurs de fournisseurs d'identités.

Le Data Protection Code of Conduct, défini par GEANT dans le cadre de eduGAIN, fournit un cadre permettant la diffusion d'attributs utilisateurs à des fournisseurs de services au niveau international.

5.1. Principe du Code of Conduct

Le Code of Conduct définit un ensemble de bonnes pratiques que les fournisseurs de services s'engagent à respecter :

  • publication d'une Privacy Policy (en Anglais au moins) mentionant
    • l'entité légale,
    • la finalité des traitements,
    • la catégorie des attributs utilisateurs,
    • le destinataire des données,
    • les modalités d'accès/rectification des données.
  • demande d'attributs utilisateurs minimale pour le bon fonctionnement du service,
  • pas d'utilisation des données pour d'autres traitements,
  • pas de traitement secondaire des données,
  • sécurisation des données.

Seuls les fournisseurs de services établis en Europe (ou dans un pays offrant une protection des données adéquate) peuvent souscrire au Code of Conduct GEANT. Une autre version du Code of Conduct est en préparation à destination des fournisseurs de services établis hors Europe.

5.2. Souscription et utilisation du Code of Conduct

Les fournisseurs de services déclarent leur conformité au Code of Conduct via le guichet de leur propre fédération en indiquant l'URL de leur Privacy Policy. Cette information est propagée dans les méta-données eduGAIN sous une forme exploitable par les administrateurs d'IdP pour gérer la diffusion automatisée d'attributs utilisateurs à ces fournisseurs de services, compte-tenu des garanties qu'ils donnent en matière de gestion des données à caractère personnel.

Un extrait des méta-données eduGAIN décrivant un fournisseur de service conforme au Code of Conduct :

<md:EntityDescriptor entityID="https://clarin.ids-mannheim.de/shibboleth"> 
 <md:Extensions>
  ...
  <mdattr:EntityAttributes>
   <saml:Attribute Name="http://macedir.org/entity-category" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
    <saml:AttributeValue>http://www.geant.net/uri/dataprotection-code-of-conduct/v1</saml:AttributeValue>
   </saml:Attribute>
  </mdattr:EntityAttributes>
 </md:Extensions>
 <md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
  <md:Extensions>
   <mdui:UIInfo>
   ...
    <mdui:PrivacyStatementURL xml:lang="en">https://clarin.ids-mannheim.de/privacy.html</mdui:PrivacyStatementURL>
   </mdui:UIInfo>
  </md:Extensions>
  ...

eduGAIN publie une liste des SP eduGAIN souscrivant au Code of Conduct : http://monitor.edugain.org/coc/

6. Participation de la Fédération Education-Recherche

Vous pouvez demander l'inscription de votre entité SAML dans eduGAIN via le guichet de la fédération de RENATER.

Délai de propagation des méta-données : une fois votre entité SAML (SP ou IdP) inscrit dans eduGAIN, vous devez prévoir un délai de propagation des nouvelles méta-données jusqu'aux autres entités SAML. Ce délai de propagation intervient à plusieurs niveau :

  1. délai de publication des méta-données de RENATER vers eduGAIN : toutes les heures,
    1. vous pouvez consulter les méta-données eduGAIN publiées par GEANT : https://mds.edugain.org/
  2. délai de republication des méta-données eduGAIN dans chaque fédération nationale : fréquence variable (de 1 heure à 1 jour),
  3. délai de rafraichissement des méta-données eduGAIN par les SP/IdP : fréquence variable (de 1 heure à 1 jour).

7. Comment raccorder votre SP/IdP à eduGAIN ?

Les deux cas d'utilisation sont :

  1. vous gérez un IdP ; vos utilisateurs accédent à un SP eduGAIN. Voir cette documentation ;
  2. vous gérez un SP ; vous voulez ouvrir les accès à vos application pour des utilisateurs étrangers (sous réserve que leurs IdPs de rattachement soient dans eduGAIN). Voir cette documentation.