Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

federation:documentation:fiches-techniques:passageprod [2019/07/10 15:14] (Version actuelle)
Ligne 1: Ligne 1:
 +====== Passage en Fédération de production ======
  
 +Cette fiche part du principe que vous avez déjà testé et validé le fonctionnement de votre SP ou de votre IdP dans l'​infrastructure de test. On s'​attache ici à décrire les étapes et les points restant à vérifier pour passer en production.
 +
 +Rappel de toutes les étapes pour inscrire un IdP ou un SP dans la Fédération Éducation-Recherche:​
 +  * [[federation:​rejoindre:​demarches-tech:​declarer-idp|Déclarer un IdP dans la Fédération Éducation-Recherche ]]
 +  * [[federation:​rejoindre:​demarches-tech:​declarer-sp|Déclarer un SP dans la Fédération Éducation-Recherche]]
 +
 +<​note>​Nos collègues de SWITCH ont publié des guides de bonnes pratiques (Best Current Practices) à destination des administrateurs d'un SP ou d'un IdP : [[http://​www.switch.ch/​aai/​support/​bcp/​index.html]]</​note>​
 +
 +
 +===== 1. Fournisseur d'​identité =====
 +
 +Voici les étapes à suivre pour basculer un fournisseur d'​identité validé vers la Fédération Éducation-Recherche :
 +
 +==== 1.1 Diverses considération techniques ====
 +
 +**Certificat : **Si vous testiez votre brique fournisseur d'​identité avec un apache ou Tomcat (pour ce qui est de la couche SSL) avec un certificat auto-signé. Nous vous invitons à configurer votre serveur HTTP pour qu'il utilise un certificat de type TCS (reconnu nativement dans les navigateurs).
 +
 +**Port Apache Tomcat : **  limitez l'​accès au port 8080 et en particulier à la section manager de Tomcat.
 +
 +**Journaux de log :** Il est également souhaitable de passer vos niveaux de LOG en mode INFO ou WARN afin de ne pas risquer la saturation de la partition disque. En cas de problème avéré et si les logs d'​erreurs ne suffisent pas à déceler le problème n'​hésitez pas à revenir en mode DEBUG ponctuellement. Voir le fichier ''​logging.xml''​.
 +
 +**Haute disponibilité de votre briques :** ceci est normalement une étape à régler en amont du passage en production afin que les réglages n'​affectent pas le bon fonctionnement. [[federation:​documentation:​generale:​hautedispo-shib|Voir la documentation sur le sujet]].
 +
 +
 +==== 1.2 Méta-données ====
 +
 +  * [[federation:​documentation:​generale:​metadata:​index|la liste des fichiers de méta-données publiés par RENATER]]
 +
 +Vous devez configurer le chargement des méta-données de la fédération de production, à la place des méta-données de la fédération de test. Nous chargeons en fait deux fichiers de méta-données : sps-renater-metadata.xml et sps-edugain-metadata.xml. [[federation:​documentation:​generale:​presentation-edugain|Voir la documentation sur eduGAIN]].
 +
 +Il faut simplement remplacer l'URL (MetadataURL) des méta-données de la fédération de test par celle de production. Le certificat à utiliser pour vérifier la signature des méta-données est le même que pour les méta-données de la fédération de Test.
 +
 +=== Configuration pour un IdP Shibboleth 2.x ===
 +
 +<code xml /​opt/​shibboleth-idp/​conf/​relying-party.xml>​
 + <!-- Metadonnées de la Fédération Éducation-Recherche -->
 +        <​MetadataProvider id="​renaterMD"​ xsi:​type="​FileBackedHTTPMetadataProvider"​ xmlns="​urn:​mace:​shibboleth:​2.0:​metadata" ​
 +                          metadataURL="​https://​metadata.federation.renater.fr/​renater/​main/​main-sps-renater-metadata.xml"​
 +                          backingFile="/​opt/​shibboleth-idp/​metadata/​main-sps-renater-metadata.xml">​
 +            <​MetadataFilter xsi:​type="​ChainingFilter"​ xmlns="​urn:​mace:​shibboleth:​2.0:​metadata">​
 +                <​MetadataFilter xsi:​type="​RequiredValidUntil"​ xmlns="​urn:​mace:​shibboleth:​2.0:​metadata" ​
 +                                maxValidityInterval="​0"​ />
 +                <​MetadataFilter xsi:​type="​SignatureValidation"​ xmlns="​urn:​mace:​shibboleth:​2.0:​metadata"​
 +                                trustEngineRef="​shibboleth.MetadataTrustEngine"​
 +                                requireSignedMetadata="​true"​ />
 +             <​MetadataFilter xsi:​type="​EntityRoleWhiteList"​ xmlns="​urn:​mace:​shibboleth:​2.0:​metadata">​
 +                    <​RetainedRole>​samlmd:​SPSSODescriptor</​RetainedRole>​
 +                </​MetadataFilter>​
 +            </​MetadataFilter>​
 +        </​MetadataProvider>​
 +
 + <!-- Metadonnées de eduGAIN -->
 +        <​MetadataProvider id="​edugainMD"​ xsi:​type="​FileBackedHTTPMetadataProvider"​ xmlns="​urn:​mace:​shibboleth:​2.0:​metadata" ​
 +                          metadataURL="​https://​metadata.federation.renater.fr/​edugain/​main/​main-sps-edugain-metadata.xml"​
 +                          backingFile="/​opt/​shibboleth-idp/​metadata/​main-sps-edugain-metadata.xml>​
 +            <​MetadataFilter xsi:​type="​ChainingFilter"​ xmlns="​urn:​mace:​shibboleth:​2.0:​metadata">​
 +                <​MetadataFilter xsi:​type="​RequiredValidUntil"​ xmlns="​urn:​mace:​shibboleth:​2.0:​metadata" ​
 +                                maxValidityInterval="​0"​ />
 +                <​MetadataFilter xsi:​type="​SignatureValidation"​ xmlns="​urn:​mace:​shibboleth:​2.0:​metadata"​
 +                                trustEngineRef="​shibboleth.MetadataTrustEngine"​
 +                                requireSignedMetadata="​true"​ />
 +             <​MetadataFilter xsi:​type="​EntityRoleWhiteList"​ xmlns="​urn:​mace:​shibboleth:​2.0:​metadata">​
 +                    <​RetainedRole>​samlmd:​SPSSODescriptor</​RetainedRole>​
 +                </​MetadataFilter>​
 +            </​MetadataFilter>​
 +        </​MetadataProvider>​
 +</​code>​
 +
 +=== Configuration pour un IdP Shibboleth 3.x ===
 +
 +<code xml /​opt/​shibboleth-idp/​conf/​metadata-providers.xml>​
 +  <​MetadataProvider id="​RenaterMetadata"​
 +                      xsi:​type="​FileBackedHTTPMetadataProvider"​
 +                      backingFile="​%{idp.home}/​metadata/​main-sps-renater-metadata.xml"​
 +                      metadataURL="​https://​metadata.federation.renater.fr/​renater/​main/​main-sps-renater-metadata.xml"> ​
 + 
 +  <​MetadataFilter xsi:​type="​SignatureValidation"​
 +            requireSignedRoot="​true"​
 +            certificateFile="​%{idp.home}/​credentials/​renater-metadata-signing-cert-2016.pem">​
 +  </​MetadataFilter> ​       ​
 +</​MetadataProvider>​
 +
 +    <​MetadataProvider id="​RenaterEdugainMetadata"​
 +                      xsi:​type="​FileBackedHTTPMetadataProvider"​
 +                      backingFile="​%{idp.home}/​metadata/​main-sps-edugain-metadata.xml"​
 +                      metadataURL="​https://​metadata.federation.renater.fr/​edugain/​main/​main-sps-edugain-metadata.xml"> ​
 +        ​
 +        <​MetadataFilter xsi:​type="​SignatureValidation"​
 +            requireSignedMetadata="​true"​
 +            certificateFile="​%{idp.home}/​credentials/​renater-metadata-signing-cert-2016.pem">​
 +        </​MetadataFilter>​
 +        <​MetadataFilter xsi:​type="​EntityRoleWhiteList">​
 +            <​RetainedRole>​md:​SPSSODescriptor</​RetainedRole>​
 +        </​MetadataFilter>​
 +        ​
 +    </​MetadataProvider>​
 +</​code>​
 +
 +
 +==== 1.3 Filtres d'​attributs ====
 +
 +Lorsque vous passez votre fournisseur d'​identité dans la Fédération Éducation-Recherche,​ vous devez prendre en compte toutes les ressources déjà enregistrées dans la Fédération Éducation-Recherche. Ce travail est fastidieux et source d'​erreurs. ​
 +
 +Nous vous recommandons d'​utiliser les filtres d'​attributs que nous générons automatiquement. Ces filtres viennent en complément du fichier local ''​attribute-filter.xml''​. [[federation:​documentation:​fiches-techniques:​idp:​config-idp-diffusion-attributs|Voir la documentation des filtres automatiques]].
 + 
 +
 +==== 1.4 Déclarer le fournisseur d'​identité dans la Fédération Éducation-Recherche ====
 +
 +Accédez [[federation:​outils:​guichet-federation:​index|au guichet de la fédération]]pour inscrire votre IdP dans la Fédération Éducation-Recherche. La plupart des données saisies sont probablement les mêmes que celles que vous aviez saisies pour la fédération de test. 
 +
 +<​note>​En inscrivant votre fournisseur d'​identité dans la Fédération Éducation-Recherche,​ il sera automatiquement inscrit dans eduGAIN. Si vous le souhaitez vous garder la possibilité de retirer votre fournisseur d'​identité de eduGAIN, via le guichet de la fédération.</​note>​
 +
 +<note important>​Il est important de supprimer votre fournisseur d'​identité passé en production de la fédération de test</​note>​
 +
 +
 +**Remarque :** Seuls les contacts fédération sont autorisés à effectuer cette opération.
 +
 +
 +===== 2. Fournisseur de service =====
 +
 +==== 2.1 Remplacer les méta-données de test par les méta-données de production ====
 +
 +Il faut remplacer l'URL des méta-données de la Fédération de Test par celle de la Fédération Éducation-Recherche dans votre fichier de configuration ''​shibboleth2.xml''​. Le certificat utilisé pour valider la signature des méta-données ne change pas.
 +
 +<code xml>
 +  <!-- Méta-données de la Fédération Éducation-Recherche -->
 +<​MetadataProvider type="​XML"​ uri="​https://​metadata.federation.renater.fr/​renater/​main/​main-idps-renater-metadata.xml"​
 +              backingFilePath="​main-idps-renater-metadata.xml"​ reloadInterval="​3600">​
 +   <​MetadataFilter type="​Signature"​ certificate="​renater-metadata-signing-cert-2016.pem"/>​
 +</​MetadataProvider>​
 +</​code>​
 +
 +==== 2.2 Configurer le service de découverte ====
 +
 +Votre ressource s'​appuiera sur un service de découverte (Discovery service ou WAYF). Il faut faire en sorte que ce WAYF liste tout ou partie des fournisseurs d'​identité de la Fédération Éducation-Recherche. L'​exemple ci-dessous s'​applique à la version 2.4.x du SP Shibboleth, fichier ''​shibboleth2.xml''​.
 +<code xml>
 + <​SSO discoveryProtocol="​SAMLDS"​ discoveryURL="​https://​discovery.renater.fr/​renater">​
 +          SAML2 SAML1
 +        </​SSO>​
 +</​code>​
 +
 +**Remarque :** L'​instance du WAYF ci-dessus n'a pas vocation à être utilisé par tous les SP de la fédération ; en effet nous n'​offrons aucune garantie de continuité de service sur ce service. Vous devez donc mettre en oeuvre un WAYF dédié pour votre organisme ou pour votre application.
 +
 +==== 2.3 Votre  ressource utilisera-t-elle les Comptes CRU ? ====
 +
 +Si votre ressource gère un nombre important d'​utilisateurs n'​ayant pas de fournisseur d'​identité ou qui sont hors communauté,​ elle peut alors s'​appuyer sur le fournisseur d'​identité "​Comptes CRU".
 +Plus de détails sur les attributs disponibles et le branchement entre la ressource et ce fournisseur d'​identité [[federation:​outils:​comptes-cru:​index|sur cette page]].
 +
 +==== 2.4 Un seul SP pour plusieurs ressources ====
 +
 +Si vous compter //​shibboliser//​ plusieurs applications vous pouvez envisager de factoriser la brique fournisseur de service. Voir alors la documentation suivante : [[federation:​documentation:​fiches-techniques:​sp:​config-sp-virtualhosting|Une brique SP pour plusieurs ressources]].
 +
 +==== 2.5 Déclarer le fournisseur de service dans la Fédération Éducation-Recherche ====
 +
 +Dernière étape, il faut "​basculer"​ les informations de votre ressource dans la Fédération Éducation-Recherche via [[federation:​outils:​guichet-federation:​index|le guichet de la fédération]]
 +
 +Il est nécessaire de bien renseigner les informations requises ainsi que les attributs consommés afin d'​aider les établissements fournisseurs d'​identité à évaluer l'​intérêt de votre ressource pour leurs utilisateurs. Si votre ressource est locale, n'​oubliez pas de contacter les établissements partenaires suite à son passage en production.
 +
 +**Remarque :** Les administrateurs d'​applications au sein des établissements peuvent soumettre des ressources, enregistrement libre mais authentifié. Seuls les contacts fédération de ces établissements pourront modérer ces enregistrements.
 +
 +<note important>​Il est important de supprimer votre fournisseur de service passé en production de la fédération de test</​note>​