Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze Následující verze Obě strany příští revize | ||
cs:tech:idp:shibboleth [2020/03/27 14:32] jan.oppolzer@cesnet.cz IdP V4.0.0 |
cs:tech:idp:shibboleth [2020/04/07 13:47] jan.oppolzer@cesnet.cz [idp.properties] |
||
---|---|---|---|
Řádek 2: | Řádek 2: | ||
**Na této stránce se nachází návod, jak do linuxové distribuce Debian nainstalovat Shibboleth IdP. Před instalací musíme zprovoznit [[cs:tech:idp:jetty]].** | **Na této stránce se nachází návod, jak do linuxové distribuce Debian nainstalovat Shibboleth IdP. Před instalací musíme zprovoznit [[cs:tech:idp:jetty]].** | ||
+ | |||
+ | <WRAP important> | ||
+ | **Podpora pro Shibboleth IdP řady 3 bude ukončena k 31. 12. 2020. Tento návod se tedy týká již nové řady 4.** | ||
+ | </WRAP> | ||
---- | ---- | ||
Řádek 89: | Řádek 93: | ||
==== idp.properties ==== | ==== idp.properties ==== | ||
- | V souboru ''/opt/shibboleth-idp/conf/idp.properties'' nastavíme, že všechny cookies budou limitovány na TLS. Bližší informace jsou k dispozici [[https://wiki.shibboleth.net/confluence/display/IDP4/SecurityConfiguration#SecurityConfiguration-Properties|v oficiální dokumentaci]]. | + | V souboru ''/opt/shibboleth-idp/conf/idp.properties'' nastavíme podporu pro ukládání souhlasů s vydáváním uživatelských informací (atributů) do databáze. Dále zde máme možnost ovlivnit, zda se budou používat cookies anebo lokální úložiště HTML ("HTML Local Storage"). A v neposlední řadě zde můžeme ovlivnit výchozí šifrovací algoritmus pro šifrování XML. |
- | Dále doplníme podporu pro ukládání souhlasů s vydáváním uživatelských informací (atributů) do databáze. | + | <WRAP tip> |
+ | IdP řady 2 uměla využívat pouze cookies. IdP řady 3 přinesla možnost používání lokálního úložiště, ale tato volba byla standardně vypnuta. V IdP řady 4 je tato volba standardně zapnuta, takže pokud instalujete novou verzi (myšleno neaktualizujete stávající IdP V3 na novou verzi), bude povoleno použití lokálního úložiště, pokud ho prohlížeč podporuje. | ||
+ | |||
+ | Chcete-li zachovat chování jako v předchozích verzích IdP, musíte volbu //idp.storage.htmlLocalStorage// nastavit na hodnotu //false//. | ||
+ | |||
+ | Bližší informace naleznete v oficiální [[https://wiki.shibboleth.net/confluence/display/IDP4/StorageConfiguration#StorageConfiguration-ClientStorageService|dokumentaci]]. | ||
+ | </WRAP> | ||
+ | |||
+ | <WRAP alert> | ||
+ | Od Shibboleth IdP 4.0.0 se jako výchozí šifrovací algoritmus pro šifrování XML používá [[https://wiki.shibboleth.net/confluence/display/IDP4/GCMEncryption|AES-GCM]]. Starší verze IdP používaly AES-CBC. Nový algoritmus AES-GCM podporují aktuální operační systémy, na kterých je provozována aktuální verze Shibboleth SP. Nicméně ostatní implementace SAML protokolu, např. SimpleSAMLphp a další, tento protokol nepodporují a nebudou tedy fungovat. Existuje více způsobů, jak k tomuto problému přistoupit. Ten nejvhodnější je samozřejmě tlačit na ostatní služby (a jimi používané implementace), aby podporu pro nový algoritmus zařadili. Nejjednodušší způsob je zakomentovat volbu //idp.encryption.config//, ale správné řešení naleznete v [[https://wiki.shibboleth.net/confluence/display/IDP4/GCMEncryption|dokumentaci]]. | ||
+ | </WRAP> | ||
<code bash> | <code bash> | ||
Řádek 98: | Řádek 112: | ||
</code> | </code> | ||
- | Nastavíme ''idp.cookie.secure'' a ''idp.cookie.httpOnly'' na hodnotu ''true'' a ''idp.consent.StorageService'' na hodnotu ''shibboleth.JPAStorageService'': | + | Nastavíme ''idp.consent.StorageService'' na hodnotu ''shibboleth.JPAStorageService'' a případně i ''idp.storage.htmlLocalStorage'' na ''false''. V případě, že potřebujeme, aby IdP komunikovalo i se službami nepodporující šifrovací algoritmus AES-GCM, můžeme **po přečtení a pochopení [[https://wiki.shibboleth.net/confluence/display/IDP4/GCMEncryption|dokumentace]]** zakomentovat ''idp.encryption.config'': |
<code ini> | <code ini> | ||
- | idp.cookie.secure = true | ||
- | idp.cookie.httpOnly = true | ||
idp.consent.StorageService = shibboleth.JPAStorageService | idp.consent.StorageService = shibboleth.JPAStorageService | ||
+ | idp.storage.htmlLocalStorage = false | ||
+ | #idp.encryption.config=shibboleth.EncryptionConfiguration.GCM | ||
</code> | </code> | ||
Řádek 226: | Řádek 240: | ||
Chcete-li si konfigurační soubor ''/opt/shibboleth-idp/conf/attribute-resolver.xml'' nakonfigurovat od začátku a naprosto sami, využijte k tomu soubor ''/opt/shibboleth-idp/conf/attribute-resolver-ldap.xml'', který v sobě zahrnuje i konektor do LDAP serveru. | Chcete-li si konfigurační soubor ''/opt/shibboleth-idp/conf/attribute-resolver.xml'' nakonfigurovat od začátku a naprosto sami, využijte k tomu soubor ''/opt/shibboleth-idp/conf/attribute-resolver-ldap.xml'', který v sobě zahrnuje i konektor do LDAP serveru. | ||
- | Doporučuji však usnadnit si práci a vyjít z připraveného souboru na adrese [[https://www.eduid.cz/shibboleth-idp-v4/attribute-resolver.xml]]. [[cs:tech:attributes]] naleznete v dokumentaci. Podle tohoto seznamu si ''attribute-resolver.xml'' upravte. | + | Doporučuji však usnadnit si práci a vyjít z připraveného souboru na adrese [[https://www.eduid.cz/shibboleth-idp/attribute-resolver.xml]]. [[cs:tech:attributes]] naleznete v dokumentaci. Podle tohoto seznamu si ''attribute-resolver.xml'' upravte. |
<WRAP alert> | <WRAP alert> | ||
Řádek 239: | Řádek 253: | ||
# Stažení attribute-resolver.xml | # Stažení attribute-resolver.xml | ||
wget -O /opt/shibboleth-idp/conf/attribute-resolver.xml \ | wget -O /opt/shibboleth-idp/conf/attribute-resolver.xml \ | ||
- | https://www.eduid.cz/shibboleth-idp-v4/attribute-resolver.xml | + | https://www.eduid.cz/shibboleth-idp/attribute-resolver.xml |
</code> | </code> | ||
Řádek 248: | Řádek 262: | ||
Mít definované atributy z předchozího kroku nestačí. Ještě je potřeba nadefinovat, které atributy budeme vydávat a komu je budeme vydávat. To se nastavuje v konfiguračním souboru ''/opt/shibboleth-idp/conf/attribute-filter.xml''. | Mít definované atributy z předchozího kroku nestačí. Ještě je potřeba nadefinovat, které atributy budeme vydávat a komu je budeme vydávat. To se nastavuje v konfiguračním souboru ''/opt/shibboleth-idp/conf/attribute-filter.xml''. | ||
- | Z důvodu zjednodušení doporučujeme uvolňovat atributy dle našeho doporučení na adrese [[https://www.eduid.cz/shibboleth-idp-v4/attribute-filter.xml]]. | + | Z důvodu zjednodušení doporučujeme uvolňovat atributy dle našeho doporučení na adrese [[https://www.eduid.cz/shibboleth-idp/attribute-filter.xml]]. |
Filtr uvolňuje atributy podle kategorií entit [[cs:tech:categories:rs]], [[cs:tech:categories:coco]] a dále do federací [[cs:tech:summary|eduID.cz]] a [[cs:tech:edugain|eduGAIN]]. | Filtr uvolňuje atributy podle kategorií entit [[cs:tech:categories:rs]], [[cs:tech:categories:coco]] a dále do federací [[cs:tech:summary|eduID.cz]] a [[cs:tech:edugain|eduGAIN]]. | ||
Řádek 254: | Řádek 268: | ||
<code bash> | <code bash> | ||
wget -O /opt/shibboleth-idp/conf/attribute-filter.xml \ | wget -O /opt/shibboleth-idp/conf/attribute-filter.xml \ | ||
- | https://www.eduid.cz/shibboleth-idp-v4/attribute-filter.xml | + | https://www.eduid.cz/shibboleth-idp/attribute-filter.xml |
</code> | </code> | ||