Différences

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

Lien vers cette vue comparative

federation:documentation:fiches-techniques:bilaterale-sp-idp [2019/07/10 15:36] (Version actuelle)
Ligne 1: Ligne 1:
 +====== La relation bilatérale SP-IDP ======
 +
 +Il n'est pas nécessaire de faire partie d'une fédération (cercle de confiance) pour utiliser le logiciel Shibboleth. Si vous disposez d'un fournisseur de services (SP) et d'un fournisseur d'​identités (IdP), vous pouvez définir une confiance mutuelle entre ces deux briques. Dans ce cas la brique WAYF n'est pas utilisée puisque le fournisseur de services connait un seul fournisseur d'​identités.
 +\\
 +Cela est particulièrement adapté pour des applications locales à l'​établissement,​ compatibles SAML, qui n'ont pas à être partagées avec la communauté.
 +\\
 +SAML reposant sur la confiance mutuelle entre les entités (IDP et SP), l'​établissement de la relation de confiance ne se fait plus via la fédération et le guichet, mais via l'​échange direct des méta-données entre l'IDP et le SP.
 +
 +===== 1. Configuration du SP 3.x =====
 +
 +Pour configurer une relation bilatérale sur un SP, il faut paramétrer :
 +  * La confiance dans les metadata de l'IDP
 +  * La redirection directe vers l'IDP, sans passer pas un DS/WAYF
 +  ​
 +<note important>​
 +Dans le cas d'un SP qui était déclaré dans la fédération,​ alors qu'il n'a qu'un usage local, il faut bien penser à effectuer les 2 opérations.
 +En effet, diriger les utilisateurs directement vers l'IDP sans passer par le WAYF, **mais** en conservant le téléchargement des méta-données de la fédération ouvre une brèche dans la sécurité du SP.
 +Il est dans ce cas tout à fait possible de forger une URL d'​accès au SP, lui indiquant d'​utiliser un autre IdP que celui par défaut qui est configuré, autorisant de fait d'​autres IDP que celui configuré.
 +</​note>​
 +
 +==== Confiance dans les méta-données ====
 +
 +Vous devez tout d'​abord ajouter la confiance dans les méta-données de l'IdP. Vous pouvez vous inspirer des méta-données générées lors de l'​installation de votre IdP, mais vous devrez personnaliser ce fichier si vous avez modifié des paramétrages après l'​installation (changement de l'​entityID,​ du certificat ou des URLs). Le fichier de méta-données de votre IdP est **metadata/​idp-metadata.xml**. Si vous personnalisez directement ce fichier, il sera accessible via l'URL **https://​monidp.univ-test.fr/​idp/​shibboleth**. Vous pouvez donc configurer le fichier **shibboleth2.xml** de votre SP ainsi :
 +
 +<code xml /​etc/​shibboleth/​shibboleth2.xml>​
 +  <​MetadataProvider type="​XML"​ url="​https://​monidp.univ-test.fr/​idp/​shibboleth"​
 +    backingFilePath="/​etc/​shibboleth/​monidp-metadata.xml"​ reloadInterval="​7200">​
 +  </​MetadataProvider>​
 +</​code>​
 +
 +<note important>​
 +Si vous utilisez Shibboleth SP 2, le paramètre ''​**url**''​ s'​appelle ''​**uri**''​
 +</​note>​
 +
 +==== Le session initiator ====
 +
 +Par défaut, le session initiator de votre SP Shibboleth utilise un WAYF. Dans notre cas c'est superflu car le seul IdP reconnu est https://​monidp.univ-test.fr/​idp. Modifiez le fichier de configuration **shibboleth2.xml** de votre SP comme suit :
 +
 +<code xml /​etc/​shibboleth/​shibboleth2.xml>​
 +<!-- On ne connait qu'un seul IdP : https://​monidp.univ-test.fr/​idp -->
 +  <SSO entityID="​https://​monidp.univ-test.fr/​idp/​shibboleth">​
 +    SAML2 SAML1
 +  </​SSO>​
 +</​code>​
 +
 +L'​attribut **defaultACSIndex** fait référence à un élément **AssertionConsumerService** dont l'​index est **1** (par défaut le **binding urn:​oasis:​names:​tc:​SAML:​2.0:​bindings:​HTTP-POST**).
 +
 +
 +===== 2. Configuration de l'IdP 3.x =====
 +
 +Dans le cadre d'une relation bilatérale,​ votre IdP doit faire confiance à un SP. Pour ce faire, il doit connaitre les méta-données du SP. Le SP Shibboleth expose ses méta-données de manière dynamique via l'​adresse **https://​monsp.univ-test.fr/​Shibboleth.sso/​Metadata**.
 +
 +==== Shibboleth IDP 3.x ====
 +
 +Editez le fichier **''​metadata-providers.xml''​** comme suit :
 +\\
 +<code xml /​opt/​shibboleth-idp/​conf/​metadata-providers.xml>​
 + <​MetadataProvider id="​fedadeuxMD"​ xsi:​type="​FileBackedHTTPMetadataProvider"​ xmlns="​urn:​mace:​shibboleth:​2.0:​metadata"​
 +    metadataURL="​https://​monsp.univ-test.fr/​Shibboleth.sso/​Metadata"​
 +    backingFile="/​opt/​shibboleth-idp/​metadata/​fedadeux-metadata.xml">​
 + </​MetadataProvider>​
 +</​code>​