Vous allez maintenant valider le bon fonctionnement de votre fournisseur de services dans le cadre de la fédération de test. Il s'agit d'une infrastructure destinée uniquement à des usages de type test.
Afin d'adapter le contenu de cette page avec le nom de votre serveur, saisissez-le ici :
Nom de votre machine :
Vous devez d'abord enregistrer votre fournisseur en le décrivant techniquement auprès de la fédération de test. Les éléments techniques fournis seront publiés dans les méta-données et permettront à votre fournisseur de services d'interagir avec les fournisseurs d'identités.
Le guichet de la fédération vous permet d'effectuer cet enregistrement : https://registry.federation.renater.fr/. Ce formulaire requiert une authentification préalable. Vous pouvez vous authentifier soit avec un compte CRU soit via votre fournisseur d'identités si vous êtes rattaché à un établissement inscrit comme fournisseur d'identités dans la fédération Éducation-Recherche.
Renseignez les différents onglets du formulaire, la signification des champs y est décrite :
Onglet Description
Intitulé du service:
TP fédération : Service de test monposte.fr
Intitulé du service (en anglais):
TP fédération : Service de test monposte.fr
URL du service :
https://monposte.fr/secure
Description du SP :
TP fédération : Service de test
Description du SP (en anglais) :
TP fédération : Service de test
Onglet Rattachement à un organisme
Rattachement à un organisme :
ne pas renseigner
Onglet Contacts
Contact technique 1 nom :
votre nom
email :
votre email institutionel
Onglet Attributs demandés
Pays où les données sont traitées :
cocher la case “les données sont traitées en France ou dans un autre pays de l'UE”
Conformité au Data Protection Code of Conduct eduGAIN :
ne pas cocher la case “ce service est conforme aux règles du Code of Conduct”
Public(s) concerné(s) par le service :
ressource locale
Catégorie du service :
outils collaboratifs
Attributs :
displayName (cocher la bouton radio "obligatoire oui" et remplisser le champs "Quel usage comptez-vous faire de cet attribut" avec "personnalisation" \\ eduPersonPrincipalName (cocher la bouton radio "obligatoire oui" et remplisser le champs "Quel usage comptez-vous faire de cet attribut" avec "identifiant" \\ email (cocher la bouton radio "obligatoire oui" et remplisser le champs "Quel usage comptez-vous faire de cet attribut" avec "identifiant" \\
Onglet Informations techniques
URL de vos méta données :
https://monposte.fr/Shibboleth.sso/Metadata
Les valeurs des autres champs seront automatiquement extraites du fichier de méta-données de votre SP. Il n'est donc pas nécessaire de les renseigner.
Vous devez maintenant rattacher votre SP à la fédération de Test via le guichet.
Votre SP est maintenant dans la Fédération de Test. Un délai peut être 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 les IdPs (30 minutes maximum).
Unable to locate relying party…
.
Pour fédérer le SP, il faut également supprimer la relation bilatéralee mise en place entre le SP et l'IDP
Afin que votre IDP ne fasse plus confiance directement au SP, il faut supprimer la récupération des méta-données du SP. Comme celui-ci va être fédéré, la confiance passera par les méta-données de la fédération.
**<!--** <MetadataProvider id="SP-TP" xsi:type="FileBackedHTTPMetadataProvider" backingFile="%{idp.home}/metadata/sp-tp.xml" disregardTLSCertificate="true" metadataURL="https://monposte.fr/Shibboleth.sso/Metadata"> </MetadataProvider> **-->**
Puis recharger les méta-données de l'IdP :
$> /opt/shibboleth-idp/bin/reload-service.sh -id shibboleth.MetadataResolverService Configuration reloaded for 'shibboleth.MetadataResolverService'
Les méta-données SAML publiées par RENATER sont signées. Pour pouvoir eur faire pleinement confiance, il faut à présent télécharger le certificat qui permet de vérifier la signature :
$> cd $> wget https://pub.federation.renater.fr/metadata/certs/renater-metadata-signing-cert-2016.pem $> sudo cp renater-metadata-signing-cert-2016.pem /etc/shibboleth/
Ensuite on peut remplacer la relation bilatérale, par la confiance la fédération (de test) :
<SPConfig ...> [...] <ApplicationDefaults entityID="https://monposte.fr" REMOTE_USER="eppn persistent-id targeted-id" cipherSuites="HIGH:!MD5:!RC4:!aNULL"> [...] <SSO discoveryProtocol="SAMLDS" discoveryURL="**https://discovery.renater.fr/test**"> SAML2 </SSO> [...] <!-- Meta-données de votre IDP --> **<!--** <MetadataProvider type="XML" url="https://monposte.fr/idp/shibboleth" backingFilePath="metadata-monposte.fr.xml" reloadInterval="7200"> </MetadataProvider> **-->** <!-- Meta-données de la fédération de Test RENATER --> ** <MetadataProvider type="XML"** ** url="https://pub.federation.renater.fr/metadata/test/preview/preview-all-renater-test-metadata.xml"** ** backingFilePath="preview-all-renater-test-metadata.xml" reloadInterval="7200">** ** <MetadataFilter type="Signature" certificate="renater-metadata-signing-cert-2016.pem"/>** ** </MetadataProvider>** [...] [...] </SPConfig>
Une fois enregistré dans la Fédération de test, et que le SP fait confiance aux méta-données, vous pouvez maintenant essayer d'accéder à votre fournisseur de services sur https://monposte.fr/secure avec un navigateur :
shibboleth2.xml
;GIP RENATER - IdP de Test
;etudiant1
, mot de passe: etudiant1
) ;all SHIB headers- (HTTP_SHIB_ATTRIBUTES is not shown in this list) (REMOTE_USER) etudiant1@renater.fr ... cnDupont Jean displayName Jean Dupont entitlement urn:mace:dir:entitlement:common-lib-terms eppn etudiant1@renater.fr facsimileTelephoneNumber 0102030405 givenName Jean l Paris mail jean.dupont@univ-test.fr nickname Jean o univ-test org-dn dc=univ-test,dc=fr orgunit-dn o=maths,dc=univ-test,dc=fr ou maths preferredLanguage FR primary-affiliation student primary-orgunit-dn o=maths,dc=univ-test,dc=fr sn Dupont supannActivite {CNU}5404 supannAutreTelephone 1234567890 ...
Vous remarquerez que :
REMOTE_USER
prend la valeur de l'identifiant institutionnel (aussi appelé eduPersonPrincipalName
ou eppn
), cf élément ApplicationDefaults/REMOTE_USER
de shibboleth2.xml
.Shib-
; il s'agit de variables internes positionnées automatiquement par la brique Shibboleth./etc/shibboleth/attribute-map.xml
.
Nativement, Shibboleth propose une fonctionnalité d'affichage de tous les attributs utilisateurs de la session courante. Il suffit d'accéder à l'URL https://monposte.fr/Shibboleth.sso/Session. Pour afficher les valeurs des attributs lors de l'accès à ce script mettez, dans le fichier /etc/shibboleth/shibboleth2.xml
l'option suivante à « true » (false par défaut) :
<Handler type="Session" Location="/Session" **showAttributeValues="true"**/>
Prévoir un redémarrage du service shibd pour la prise en compte des modifications dans le fichier shibboleth2.xml
$> sudo systemctl restart shibd
HTTP_SHIB_
car elles étaient transmises sous formes d'entêtes HTTP.
/var/log/shibboleth/shibd.log
)
Erreur « Unknown service provider » : une erreur qui arrive fréquemment (sur la page d'URL de l'IdP). En général elle est due à une différence entre la valeur de entityID
déclarée dans les méta-données via le formulaire web et la valeur de l'attribut entityID
déclarée dans la configuration shibboleth2.xml.
Veillez à ce qu'il n'y ait aucune différence de caractère entre ces deux valeurs (http vs https, sans slash à la fin vs avec slash à la fin, etc.). Si c'est le cas corrigez votre déclaration dans la configuration shibboleth2.xml
, relancez le démon shibd
, supprimez vos cookies, puis retestez.
Erreur « Unable to locate metadata for identity provider (https://idp.example.org/shibboleth) » : vous avez probablement oublié de commenter l'élément de configuration SSO/entityID
dans le fichier shibboleth2.xml
par défaut.