Utilisation de plusieurs sources de meta-données
L’utilisation de plusieurs sources de méta-données dans la configuration d'une entité SAML permet d'agréger celles-ci. Cette configuration est nécessaire lorsque les relations de confiance de l'entité ne sont pas limité à un ensemble unique:
- plusieurs fédérations
- plusieurs relations bilatérales
- combinaison des deux (typiquement, une fédération + comptes CRU)
1. Configurer un IDP Shibboleth
Documentation de référence : https://shibboleth.atlassian.net/wiki/spaces/IDP4/pages/1265631636/ChainingMetadataProvider
Dans l'IDP 3+, la configuration des metadata se fait dans le fichier metadata-providers.xml
. Par défaut, la première balise MetadataProvider
est de type ChainingMetadataProvider
. Il suffit donc de positionner autant de blocs MetadataProvider
que nécessaire dans la balise MetadataProvider
de plus haut niveau.
- metadataproviders.xml
<MetadataProvider id="ShibbolethMetadata" xsi:type="ChainingMetadataProvider" ...> <!-- Metadonnees de la fédération de test --> <MetadataProvider id="RenaterTestMetadata" xsi:type="FileBackedHTTPMetadataProvider" backingFile="%{idp.home}/metadata/preview-sps-test-metadata.xml" metadataURL="https://pub.federation.renater.fr/metadata/test/preview/preview-sps-test-metadata.xml"> <MetadataFilter xsi:type="SignatureValidation" requireSignedRoot="true" certificateFile="%{idp.home}/credentials/renater-metadata-signing-cert-2016.pem"></MetadataFilter> </MetadataProvider> <!-- Relation bilatérale --> <MetadataProvider id="IOP" xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/iop-metadata.xml"/> </MetadataProvider>
2. Configurer un SP Shibboleth
Attention à la cohérence avec le service de découverte utilisé: si celui-ci ne liste pas l'ensemble des IdPs autorisés, l'utilisateur final ne sera pas en mesure de le choisir.
- shibboleth2.xml
<!-- Meta-donnees de la federation Education-Recherche --> <MetadataProvider type="XML" url="https://pub.federation.renater.fr/metadata/renater/main/main-all-renater-metadata.xml" backingFilePath="/etc/shibboleth/main-all-renater-metadata.xml" reloadInterval="7200"> <SignatureMetadataFilter certificate="/etc/shibboleth/renater-metadata-signing-cert-2016.pem"/> </MetadataProvider> <!-- Meta-donnees des comptes CRU --> <MetadataProvider type="XML" url="https://cru.renater.fr/idp/shibboleth" backingFilePath="/var/cache/shibboleth/sac-metadata.xml" reloadInterval="7200"> </MetadataProvider>