Configurer un SP pour eduGAIN

1. Adapter la configuration du SP Shibboleth

Lorsque votre SP est inscrit dans l'inter-fédération eduGAIN, vous devez adapter la configuration de votre brique SP en conséquence pour charger les méta-données eduGAIN, prendre en compte des attributs utilisateurs supplémentatires et utiliser un service de découverte (WAYF) adapté à ce contexte. Vous trouverez ci-dessous des exemples de configurations pour un SP Shibboleth. Si vous utilisez une autre implémentation logicielle, vous devrez adapter ces recommandations à votre contexte.

1.1 Configurer le chargement des méta-données de eduGAIN

Téléchargez le certificat de l'AC utilisée pour signer les méta-données.

cd /etc/shibboleth/
wget https://federation.renater.fr/edugain/metadata-federation-renater.crt

Vérifiez l'empreinte du certificat :

openssl x509 -fingerprint -sha1 -in metadata-federation-renater.crt -noout
SHA1 Fingerprint=CD:14:DE:02:64:31:53:B6:3B:4E:EB:48:42:E0:66:EC:69:33:68:98

Ajoutez le chargement des méta-données eduGAIN, en plus des méta-données de la Fédération Education-Recherche, dans le fichier shibboleth2.xml :

shibboleh2.xml
<!-- Meta-données de la fédération Éducation-Recherche -->
<MetadataProvider type="XML" url="https://federation.renater.fr/renater/idps-renater-metadata.xml"
  backingFilePath="idps-renater-metadata.xml" reloadInterval="1800">
    <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/>
    <MetadataFilter type="Signature" certificate="metadata-federation-renater.crt"/>
</MetadataProvider>
 
<!-- Méta-données eduGAIN -->
<MetadataProvider type="XML" url="https://federation.renater.fr/edugain/idps-edugain-metadata.xml"
  backingFilePath="idps-edugain-metadata.xml" reloadInterval="1800">
    <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/>
    <MetadataFilter type="Signature" certificate="metadata-federation-renater.crt"/>
</MetadataProvider>
idps-edugain-metadata.xml : RENATER publie les méta-données eduGAIN dans deux fichiers de méta-données. Le fichier idps-edugain-metadata.xml répertorie les IdPs inscrits ; il est consommé par les SPs. Le fichier sps-edugain-metadata.xml répertorie les SPs inscrits ; il est consommé par les IdPs.

1.2 Etendre la liste des attributs reconnus

Cette documentation décrit le jeu d'attributs utilisateurs minimal reconnu dans le cadre de eduGAIN.

1.2.1 Adapter attribute-map.xml

Le fichier attribute-map.xml permet d'associer un nom (utilisé pour accéder à l'attribut parmi les variables d'environnement) à chaque attribut SAML reçu par le SP. Dans le contexte eduGAIN, vous devez enrichir ce fichier pour prendre en compte les attributs schacHomeOrganization et schacHomeOrganizationType.

attribute-map.xml
<!-- schacHomeOrganization -->
<Attribute name="urn:mace:terena.org:schac:schacHomeOrganization" id="schacHomeOrganization" />
<Attribute name="urn:oid:1.3.6.1.4.1.25178.1.2.9" id="schacHomeOrganization"/>
 
<!-- schacHomeOrganizationType -->
<Attribute name="urn:mace:terena.org:schac:schacHomeOrganizationType" id="schacHomeOrganizationType" />
<Attribute name="urn:oid:1.3.6.1.4.1.25178.1.2.10" id="schacHomeOrganizationType"/>

1.3 Utiliser un service de découverte adapté

Avec eduGAIN votre SP est capable d'authentifier des utilisateurs auprès d'IdPs supplémentaires par rapport aux IdPs inscrits dans la fédération Education-Recherche. Votre SP doit donc utiliser un service de découverte incluant les IdPs inscrits dans eduGAIN.

Vous avez deux options : mettre en oeuvre un service de découverte pour les besoins de vos SP ou utiliser le service de découverte proposé par RENATER. Si vous choisissez de mettre en oeuvre un service de découverte, vous pouvez utiliser une des implémentations suivantes :

  • SWITCH WAYF : l'implémentation utilisée par RENATER. La fonction embedded WAYF permet d'inclure le menu déroulant dans une page existante ;
  • Embedded DS : l'implémentation du consortium Shibboleth ;
  • DiscoJuice : une autre implémentation particulièrement adaptée au contexte inter-fédération.

L'exemple ci-dessous indique comment configurer un SP Shibboleth pour utiliser le service de découverte eduGAIN proposé par RENATER.

shibboleh2.xml
## extrait du fichier shibboleth2.xml
 <SSO discoveryProtocol="SAMLDS" discoveryURL="https://discovery.renater.fr/edugain">
    SAML2 SAML1
 </SSO>
Le service de découverte proposé par RENATER est rendu par un seul serveur ; il ne met pas en œuvre de mécanisme de tolérance aux pannes.

1.4 Se conformer au Code of Conduct eduGAIN

Documentation :

En tant que gestionnaire d'un fournisseur de services vous controlez la liste des fournisseur d'identités proposés aux utilisateurs pour s'authentifier sur votre service, via le service de découverte (WAYF). Cependant le bon fonctionnement du processus d'authentification requiert une configuration adaptée au niveau de chacun de ces fournisseurs d'identités :

  1. chargement des méta-données de votre fournisseur de services : les méta-données de votre fournisseur de services sont publiées dans les méta-données eduGAIN. Si le fournisseur d'identités est également membre de eduGAIN, il doit charger ce fichier de méta-données ;
  2. diffusion des attributs utilisateurs nécessaires au bon fonctionnement de votre application web : il est peu probable que le fournisseur d'identités fournisse automatiquement tous les attributs utilisateurs à tous les fournisseurs de services. Si le fournisseur d'identités gère “manuellement” sa configuration, il devra ajouter un règle de diffusion pour les attributs utilisateurs demandés par votre application. Dans le contexte de eduGAIN, les fédérations recommandent aux administrateurs de fournisseurs d'identités de mettre en place une diffusion automatique des attributs utilisateurs pour les fournisseurs de services conformes au Code of Conduct eduGAIN, voir la documentation ci-dessus.

Nous vous recommandons de vous conformer au Code of Conduct eduGAIN, afin de limiter les problèmes liés au point (2) évoqué ci-dessus.

En vous conformant au Code of Conduct, vous vous engagez à mettre en oeuvre des bonnes pratiques de gestion des données à caractère personnel. Vous déclarez votre conformité au Code of Conduct via le guichet de la fédération de RENATER. Vous devrez fournir l'URL du document (Privacy Policy) affichant vos pratiques de gestion des données à caractère personnel.

Un guide, publié par le groupe REFEDS, vous donne des indications pour rédiger votre Pricacy Policy.

Conformité des fournisseur d'identités au Code of Conduct : les spécifications du Code of Conduct prévoient également la représentation dans les méta-données de la conformité des fournisseurs d'identités. Cette information indique que le fournisseur d'identités a mis en oeuvre une diffusion automatique des attributs utilisateurs demandés par les fournisseurs de services, lorsque ceux-ci se conforment au Code of Conduct. Cette information pourrait permettre au gestionnaire du fournisseur de services d'adapter la liste des fournisseurs d'identités de son service de découverte. Mais le guichet de la fédération RENATER ne permet pas de collecter cette information.

2. Inscrire votre SP dans eduGAIN

Depuis le guichet de la fédération, dans l'onglet “Rattachement à une fédération”, cliquez sur le bouton “Inscription” pour eduGAIN

Le demande d'inscription dans eduGAIN fera l'objet d'une validation par les contacts fédération de votre organisme.

eduGAIN non proposé : si l'onglet “Rattachement à une fédération” ne propose que la fédération de Test c'est probablement parce que votre fournisseur de service n'a pas été rattaché à un organisme ou que ce rattachement n'a pas encore été validé par les contacts fédération dudit organisme.

3. Tester l'authentification

Le service eduGAIN Access Check est un IdP inscrit dans eduGAIN. Il permet à l'administrateur d'un SP, inscrit lui aussi dans eduGAIN, d'obtenir des comptes de test lui permettant de tester le bon fonctionnement du service. Ces comptes de test sont valide pendant une semaine.