cs:tech:sp:shibboleth3:advanced

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
cs:tech:sp:shibboleth3:advanced [2019/07/09 18:57]
jop@cesnet.cz [Více služeb pod jedním Shibboleth démonem (jedno entityID)]
cs:tech:sp:shibboleth3:advanced [2019/07/09 19:03] (current)
jop@cesnet.cz [Více služeb pod jedním Shibboleth démonem (jedno entityID)]
Line 114: Line 114:
  
 Na všech doménách pak bude k dispozici samostatné přihlašování pomocí Shibbolethu. Služby budou v rámci federace vystupovat pod jedním entityID, avšak všechny služby budou mít samostatné přihlášení (''/​Shibboleth.sso/​Login''​),​ sezení (''/​Shibboleth.sso/​Session''​) atd. Na všech doménách pak bude k dispozici samostatné přihlašování pomocí Shibbolethu. Služby budou v rámci federace vystupovat pod jedním entityID, avšak všechny služby budou mít samostatné přihlášení (''/​Shibboleth.sso/​Login''​),​ sezení (''/​Shibboleth.sso/​Session''​) atd.
 +
 +===== Více služeb pod jedním Shibboleth démonem (více entityID) =====
 +
 +Chceme-li provozovat pod jedním Shibboleth démonem (proces/​služba ''​shibd''​) více služeb na stejné doméně v rámci federace, avšak s rozlišnými entityID, je to možné. Hodí se to např. pro situace, kdy chceme hostovat více instancí nějaké služby na jednom (fyzickém nebo virtuálním) serveru. Typickou záležitostí je jedna služba pro produkční federaci [[:​cs:​tech:​summary|eduID.cz]] a testovací federaci [[:​cs:​cztestfed:​index|czTestFed]] s různými metadaty a entityID.
 +
 +Konfiguraci vysvětlím na následujícím příkladu: Máme virtuální server ''​blackhole.example.org''​ a pro produkční federaci má služba entityID ''<​nowiki>​https://​blackhole.example.org/​shibboleth</​nowiki>'',​ zatímco pro testovací je to ''<​nowiki>​https://​blackhole.example.org/​shibboleth/​cztestfed</​nowiki>''​.
 +
 +V konfiguračním souboru ''/​etc/​shibboleth/​shibboleth2.xml''​ nakonfigurujeme vše pro federaci //​eduID.cz//​ podle [[:​cs:​tech:​sp:​shibboleth3|návodu]] a následně provedeme tyto úpravy:
 +
 +<code xml>
 +<​SPConfig ...>
 +
 +  <​ApplicationDefaults ...>
 +  ​
 +    <!-- czTestFed -->
 +    <​ApplicationOverride id="​cztestfed"​ entityID="​https://​blackhole.example.org/​shibboleth/​cztestfed">​
 +    ​
 +      <​Sessions lifetime="​28800"​ timeout="​3600"​ relayState="​ss:​mem"​
 +        checkAddress="​false"​ handlerSSL="​true"​ cookieProps="​https"​
 +        handlerURL="/​cztestfed/​Shibboleth.sso">​
 +        ​
 +        <SSO discoveryProtocol="​SAMLDS"​ discovery="​https://​ds.eduid.cz/​wayf-cztestfed/">​
 +          SAML2
 +        </​SSO>​
 +        ​
 +      </​Sessions>​
 +
 +      <​MetadataProvider type="​XML"​ validate="​true"​
 +        url="​https://​metadata.eduid.cz/​entities/​cztestfed"​
 +        backingFilePath="​cztestfed.xml"​ maxRefreshDelay="​900">​
 + 
 +        <​MetadataFilter type="​RequireValidUntil"​ maxValidityInterval="​2419200"/>​
 +        <​MetadataFilter type="​Signature"​ certificate="​metadata.eduid.cz.crt.pem"​ verifyBackup="​false"/>​
 + 
 +        <​DiscoveryFilter type="​Blacklist"​ matcher="​EntityAttributes"​ trimTags="​true" ​
 +            attributeName="​http://​macedir.org/​entity-category"​
 +            attributeNameFormat="​urn:​oasis:​names:​tc:​SAML:​2.0:​attrname-format:​uri"​
 +            attributeValue="​http://​refeds.org/​category/​hide-from-discovery"​ />
 +      </​MetadataProvider>​
 +      ​
 +    </​ApplicationOverride>​
 +  ​
 +  </​ApplicationDefaults>​
 +
 +</​SPConfig>​
 +</​code>​
 +
 +V konfiguraci Apache pak přidáme novou lokaci:
 +
 +<code apache>
 +<​VirtualHost *:443>
 +  ServerName ​       blackhole.example.org
 +  # ...
 +  ​
 +  <​Location /​cztestfed/>​
 +    AuthType ​          ​shibboleth
 +    Require ​           shibboleth
 +    ShibRequestSetting applicationId cztestfed
 +  </​Location>​
 +</​VirtualHost>​
 +</​code>​
 +
 +Nyní restartujeme Shibboleth a Apache:
 +
 +<code bash>
 +systemctl restart shibd
 +systemctl restart apache2
 +</​code>​
 +
 +Na adrese ''<​nowiki>​https://​blackhole.example.org/​Shibboleth.sso/​Metadata</​nowiki>''​ nalezneme metadata pro produkční federaci a na adrese ''<​nowiki>​https://​blackhole.example.org/​cztestfed/​Shibboleth.sso/​Metadata</​nowiki>''​ nalezneme metadata pro testovací federaci czTestFed. Stačí tedy metadata zaregistrovat do odpovídajících federací a vše je hotovo.
 +
 +Služba běžící v našem případě výše s jiným entityID nemusí být součástí jiné federace. V případě, že byste potřebovali v tomto ohledu radu, pište na [[info@eduid.cz]].
Last modified:: 2019/07/09 19:03