====== Identity Provider 4 (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://wiki.shibboleth.net/confluence/display/IDP4/Home|Shibboleth IdP řady 4]], jemuž se tento návod věnuje.
**Podpora pro Shibboleth IdP řady 3 byla ukončena k 31. 12. 2020. Tento návod se tedy týká již nové řady 4.**
Můžete buď instalovat úplně od začátku anebo **[[.:4:shibboleth:upgrade|aktualizovat z poslední verze řady 3]]**.
===== 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]], 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]] z balíčků Debianu.
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ů:
- [[.:4:mariadb]],
- [[.:4:jetty]],
- [[.:4:shibboleth]].