Fédération de votre IdP

Pour tester votre fournisseur d'identités nouvellement installé au sein d'une fédération, vous avez besoin d'un fournisseur de services SAML qui sera capable de déléguer l'authentification à votre fournisseur d'identités. A cette fin, nous allons utiliser le fournisseur de services de test de la Fédération Education-Recherche.

Afin d'adapter le contenu de cette page avec le nom de votre serveur, Mettez le nom du poste ici :

Les fichiers de méta-données d'une fédération listent tous les membres de cette fédération. Sauf relation bilatérale, pour qu'un fournisseur de services soit reconnu par les fournisseurs d'identités, il doit être listé dans les méta-données de la fédération. Inversement, pour qu'un fournisseur d'identités soit reconnu par des fournisseurs de services, il doit être listé dans les méta-données de la fédération. Le fichier de méta-données inclut également les certificat des entités SAML.

Les méta-données constituent donc le socle de confiance d'une fédération. Pour assurer leur intégrité le fichier des méta-données est en général signé électroniquement (c'est le cas dans la fédération Éducation-Recherche). Dans une fédération en production, l'enregistrement d'un nouveau fournisseur ou la mise à jour des informations d'un fournisseur existant est soumis à un processus permettant de vérifier la validité et la légitimité de la demande.

Pour chaque entité SAML, les méta-données indiquent :

  • son identifiant unique (le entityID),
  • l'intitulé de l'entité SAML,
  • les adresses de contact technique,
  • le certificat utilisé par cette entité SAML,
  • les points d'accès SAML,
  • le logo du service ou de l'organisme,
  • pour un fournisseur d'identités :
    • le domaine de confiance (scope),
  • pour un fournisseur de services :
    • la liste des attributs utilisateurs attendus,

Plus loin, dans le chapitre « Enregistrement dans la fédération de test » vous enregistrerez votre fournisseur d'identités dans la fédération de test proposé par RENATER. Votre fournisseur d'identités sera alors référencé dans les méta-données de cette fédération.

Vous devez préalablement vous enregistrer auprès de la fédération de test afin que la ressource de test ait connaissance de votre IdP (présence dans les méta-données). Le guichet de la fédération vous permet d'effectuer cet enregistrement pour un IdP : https://registry.federation.renater.fr/

Ce formulaire requiert une authentification préalable. Vous pouvez vous authentifier avec un compte CRU ; si vous n'en avez pas, vous serez invité à vous en créer un lors de la procédure d'authentification.

Renseignez le formulaire d'enregistrement de manière suivante :

  Onglet Description
Intitulé du fournisseur d'identités : Idp test mon-poste.fr
Intitulé du fournisseur d'identités (en anglais) : Idp test mon-poste.fr
domaine : univ-test.fr
Description : Idp test
Description (en anglais) :  Idp test

  Onglet Rattachement à un organisme
Sélection de l'organisme :  ne pas renseigner

  Onglet Contacts
Nom Contact technique 1 :   vous
Adresse email :  vous@votre.univ.fr

  Onglet Informations techniques
entityID : **https://mon-poste.fr/idp/shibboleth**
URL du service SSO : https://mon-poste.fr/idp/profile/Shibboleth/SSO
URL du profil SAML2/POST/SSO : https://mon-poste.fr/idp/profile/SAML2/POST/SSO
URL du profil SAML2/Redirect/SSO : https://mon-poste.fr/idp/profile/SAML2/Redirect/SSO
Certificat X.509 : [contenu du fichier /opt/shibboleth-idp/credentials/idp-signing.crt __à copier sans les BEGIN CERTIFICATE et END CERTIFICATE __]
Explications :
  • organisme de rattachement : cette information est requise pour des services en production. En phase de test, comme ici, vous pouvez ne pas sélectionner d'organisme de rattachement ;
  • entityID est l'identifiant de votre IdP que vous avez renseigné lors de l'exécution de la procédure d'installation, et qui est stocké dans le fichier idp.properties;
  • serveur est le nom de votre machine ;
  • domaine doit correspondre à la portée des attributs dits « scoped ». Dans la phase de tests vous devez déclarer le domaine utilisé lors de l'installation de l'IdP, ce dernier est visible dans le fichier idp.properties.
  • URL de l'attribute service : cette information est optionnelle et ne sera pas utilisée. Votre IdP est en effet configuré pour fonctionner en mode « attribute push ».

Vous devez maintenant rattacher votre IdP à la fédération de Test via le guichet.

  1. Depuis la page “gérer vos entités SAML”,
  2. cliquez sur le rond noir
  3. cliquez sur le lien “Inscription” en face de la Fédération de Test

Votre IdP est maintenant dans la Fédération de Test. Un délai est nécessaire pour la prise en compte de la dernière version des méta-données de la fédération de Test par le SP de Test et le service de découverte en amont.

Remarque : Vous pourrez modifier ultérieurement les informations saisies via le guichet de la fédération https://registry.federation.renater.fr/

Documentation :

La confiance dans les méta-données est gérée dans le fichier /opt/shibboleth-idp/conf/metadata-providers.xml(équivalent du fichier relying-party.xml dans les précédentes versions du logiciel). L'IdP Shibboleth permet de charger dynamiquement depuis une URL les méta-données de la fédération ou celles d'un SP hors fédération. Les méta-données, une fois chargées, sont vérifiées (signature) et ont une date de péremption.

Nous allons au préalable télécharger le certificat permettant de vérifier l'intégrité des méta-données publiées par RENATER. Nous ferons ensuite référence à ce certificat depuis le fichier metadata-providers.xml :

$> cd
$> wget https://pub.federation.renater.fr/metadata/certs/renater-metadata-signing-cert-2016.pem
$> sudo cp renater-metadata-signing-cert-2016.pem /opt/shibboleth-idp/credentials/

Vous allez maintenant adapter le fichier metadata-providers.xml pour charger les méta-données SAML de la fédération de Test :

/opt/shibboleth-idp/conf/metadata-providers.xml
**    <MetadataProvider id="RenaterTestMetadata"**
**                      xsi:type="FileBackedHTTPMetadataProvider"**
**                      backingFile="%{idp.home}/metadata/preview-sps-renater-test-metadata.xml"**
**                      metadataURL="https://pub.federation.renater.fr/metadata/test/preview/preview-sps-renater-test-metadata.xml"> **
 
**        <MetadataFilter xsi:type="SignatureValidation"**
**            requireSignedRoot="true"**
**            certificateFile="%{idp.home}/credentials/renater-metadata-signing-cert-2016.pem">**
**        </MetadataFilter>**
 
**    </MetadataProvider>**
</MetadataProvider>

Nous rechargeons l'ensemble des métadonnées:

$> /opt/shibboleth-idp/bin/reload-service.sh -id=shibboleth.MetadataResolverService
Configuration reloaded for 'shibboleth.MetadataResolverService'

Vous pouvez vérifier que le rechargement s'est effectué en consultant le fichier de log idp-process.log :

$> sudo tail -f /opt/shibboleth-idp/logs/idp-process.log
2015-06-09 11:27:01,835 - INFO [org.opensaml.saml.metadata.resolver.impl.AbstractReloadingMetadataResolver:306] - Next refresh cycle for metadata provider 'https://pub.federation.renater.fr/metadata/test/preview/preview-sps-test-metadata.xml' will occur on '2015-06-09T12:27:01.800Z' ('2015-06-09T14:27:01.800+02:00' local time)
2015-06-09 11:27:01,838 - INFO [Shibboleth-Audit.Reload:241] - 20150609T092701Z||||http://shibboleth.net/ns/profiles/reload-metadata||||||||
Différence avec la version 2 : on peut définir plusieurs sources de méta-données, en ajoutant des nœuds MetadataProvider au fichier de configuration ; dans ce cas contrairement à la V2, pour la V3 l'ordre de définition n'a pas une importance. Meme si plusieurs sources de metadonnées sont définies c'est la valeur de la clef numeric “sortKey” attribute qui choisira la source en fonction de la valeur la plus basse.

Vous pouvez accéder au fournisseur de services de test https://test-sp.federation.renater.fr/ (connexion possible 30mn après validation de l'enregistrement de votre IdP dans la fédération de test ; le temps de mise à jour des méta-données côté DS et SP de test) :

  1. Le fournisseur de services Shibboleth, en amont du service de test, vous redirige vers le WAYF de la fédération de test ;
  2. Sélectionnez 'Idp test mon-poste.fr ' dans le menu déroulant ;
  3. Vous êtes redirigé vers le formulaire de connexion de votre IdP ;
  4. Authentifiez-vous avec l'identifiant/mot de passe = etudiant1/etudiant1;
  5. L'IdP retourne une page de consentement à l'utilisateur. Cette étape permet à ce dernier de visualiser quels attributs sont transmis au fournisseur de services et le cas échéant de refuser ce transfert de données ;
  6. Vous êtes redirigé vers le fournisseur de services qui doit afficher les attributs du compte de test transmis par votre fournisseur d'identités.


Différence avec la version 2 : la fonctionnalité de consentement a été introduite dans la version 3 de l'IdP Shibboleth. Au préalable cette fonctionnalité était rendue par le module complémentaire uApprove. Voir la documentation liée au consentement.
  • federation/documentation/guides-installation/idp3.4/chap08.txt
  • Dernière modification : 2021/02/02 18:02
  • de geoffroy.arnoud@renater.fr