====== Identity Provider 5 (IdP) ====== Tento návod popisuje instalaci a konfiguraci //poskytovatele identit// (Identity Provider, IdP). Přestože existují i jiné možnosti (např. SimpleSAMLphp), doporučujeme použít [[https://shibboleth.atlassian.net/wiki/spaces/IDP5/|Shibboleth IdP řady 5]], jemuž se tento návod věnuje. **Konec podpory pro Shibboleth IdP řady 4 je k 1. 9. 2024. Tento návod se tedy týká již nové řady 5.** Můžete buď instalovat úplně od začátku anebo **[[.:5:shibboleth:upgrade|aktualizovat z poslední verze řady 4]]**. V každém případě, budete-li instalovat od začátku, doporučujeme použít Debian 12 (Bookworm). Budete-li aktualizovat stávající instalaci, zůstanete na Debianu 11 (Bullseye), pokud jste se drželi našeho doporučení na operační systém — podpora pro Bullseye končí v červnu 2024, rozšířená podpora končí v červnu 2026. ===== Požadavky ===== Sdružení [[https://www.cesnet.cz/|CESNET]] doporučuje provozovat Shibboleth IdP na aktuální verzi 64bitové linuxové distribuce [[https://www.debian.org/|Debian]] (v současnosti Debian 12 Bookworm), pro niž je tento návod sepsán. Pro instalaci můžete použít jak dedikovaný hardware, tak virtuální stroj. Systém by však měl splňovat //alespoň// následující výkonové požadavky, které závisí mimo jiné na množství obsluhovaných uživatelů: * **1 jádro CPU**, * **4 GB RAM**, * **15 GB HDD**. Pro správnou funkčnost je velice důležité, aby měl server **přesně nastavený a synchronizovaný čas**. //SAML// zprávy obsahují časové značky, které jsou kontrolovány, a pokud je čas na serveru špatně, autentizace uživatelů nebude fungovat. Z pohledu softwarové výbavy je pro běh potřeba následující: * **Java**, * **servletový kontejner**, * **webový server**, * **databáze**. Shibboleth IdP je webová aplikace naprogramovaná v Javě, která pro svůj běh potřebuje kromě samotné Javy ještě servletový kontejner a samozřejmě i webový server. Pro obojí použijeme [[https://www.eclipse.org/jetty/|Jetty]]. Dále je také potřeba databáze pro ukládání souhlasů s uvolněním uživatelských informací ([[cs:tech:attributes|atributů]]) a ukládání pseudonáhodného řetězce pro atribut [[cs:tech:attributes:edupersontargetedid]] / persistentní NameID. Jako databázi použijeme [[https://mariadb.com|MariaDB]]. ===== Instalace ===== V tomto návodu budeme používat utility, které nejsou součástí minimální instalace Debianu, a proto si je nainstalujeme: # Instalace používaných utilit apt install --no-install-recommends dirmngr gpg less vim Zbývající instalace je rozdělena do třech kroků: - [[.:5:mariadb]], - [[.:5:jetty]], - [[.:5:shibboleth]].