====== 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]].