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.
1. Principe des méta-données
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.
2. Enregistrement dans la fédération de test
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 __]
- 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.
- Depuis la page “gérer vos entités SAML”,
- cliquez sur le rond noir
- 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.
3. Etablir la confiance avec la fédération de test
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||||||||
4. Test dans la fédération de test
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) :
- Le fournisseur de services Shibboleth, en amont du service de test, vous redirige vers le WAYF de la fédération de test ;
- Sélectionnez
'Idp test mon-poste.fr
' dans le menu déroulant ; - Vous êtes redirigé vers le formulaire de connexion de votre IdP ;
- Authentifiez-vous avec l'identifiant/mot de passe = etudiant1/etudiant1;
- 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 ;
- Vous êtes redirigé vers le fournisseur de services qui doit afficher les attributs du compte de test transmis par votre fournisseur d'identités.