====== Implementace federativní autentizace u DigiTool ====== U systému DigiTool vyvíjeného firmou Ex Libris je implementována podpora autentizaci v prostředí Shibboleth/SAML. Využívá se Shibboleth Service Provider, doporučováno je použití aktuální verze Service Providera. Implementace autentizace pomocí Shibboleth probíhá v těchto krocích: * instalace a konfigurace Shibboleth Service Providera * úprava konfigurace u autentizačního modulu Patron Directory Services (PDS) Nastavení je zkodumentováno v manuálu Patron Directory Services Guide dostupném v [[http://docs.exlibrisgroup.com/docportal/logon.php|Dokumentačním Centru Ex Libris]]. V následujícím textu jsou ještě doplněny podrobnosti. Autentizační modul PDS podporuje zařazení uživatele pouze do jedné skupiny uživatelů, nepodporuje vícenásobné afiliace uživatelů. U organizací, kde uživatelé mají vícenásobné afiliace, je problém možné částečně řešit uživatelsky nastavitelnou primární afiliací na úrovni Identity Providera organizace. Při autorizaci pak DigiTool používá primární afiliaci nastavenou uživatelem u IdP. Na straně Identity Providera budete pro Service Providera u Aleph potřebovat nastavit uvolňování atributů: * ''eduPersonPrincipalName'' * ''cn'' * ''eduPersonScopedAffiliation'' nebo ''eduPersonEntitlement'' * ''mail'' * volitelně ''czEduPersonStudySubject'' ===== Instalace a konfigurace Shibboleth Service Providera ===== Instalace Shibboleth Service Providera pro DigiTool je obdobná jako [[https://www.eduid.cz/wiki/eduid/admins/howto/deploy/metalib/index#instalace_a_konfigurace_shibboleth_service_providera|pro MetaLib]]. Rozdíly oproti úpravám u DigiTool jsou následující: ==== Úprava konfigurace Apache ==== Pro aplikaci DigiTool není nutná úprava úprava ''Shib_Application_ID'' na ''Shib-Application-ID'' ve skriptu ''shib.pl''. Pro aktivaci shibbolethové autentizace u PDS je potřeba změnit soubory ''httpd.conf'' a ''pds.conf'' (''/exlibris/dtl/u3_1/dtle/apache/conf/''). U DigiToolu je totiž konfigurace '''' oddělene v ''pds.conf'' (na rozdíl např. od Metalibu, kde konfigurace je právě v ''httpd.conf''). Soubor ''shib.conf'' se nepoužívá. ===== Konfigurace PDS ===== Konfigurace PDS pro DigiTool je obdobná jako [[https://www.eduid.cz/wiki/eduid/admins/howto/deploy/metalib/index#konfigurace_pds_a_zaverecna_nastaveni|pro MetaLib]]. Rozdíly oproti úpravám u DigiTool jsou následující: ==== Konfigurace PDS a závěrečná nastavení ==== V adresáři ''/apache/htdocs'' je nutné vytvořit symlink (odkazuje na ''pds_mai''n v adresáři ''exlibris/dtl/d3_1/pds/program'') pomocí příkazu: apch mkdir shib cd shib/ mkdir $inst cd $inst ln -s /program/pds_main pds_main Výsledek pak vypadá např. takto: lrwxrwxrwx 1 dtl exlibris 39 Apr xx xx:xx pds_main -> /exlibris/dtl/d3_1/pds/program/pds_main* V konfiguračních souborech PDS proveďte následující úpravy. Namísto INSTITUTE uveďte vždy kód digitoolovské instituce. Do souboru ''shib_INSTITUTE.conf'' přidejte: [SHIB_ATTRIBUTES] HTTP_CN = name HTTP_SHIB_CUNIPERSONALID = source_id HTTP_CUNISTUDYPROGRAM = z312m_bor_dept_m [END] Ne všechny normalizované atributy (uvedeny v oficiální dokumentaci //DigiTool Configuration Guide//), které má PDS posílat DigiToolu, jsou platné. V níže uvedeném příkladu jsou atributy ''name'' a ''source_id'' přebrány z Metalibu. Vzorový tab.service.INSTITUTE.conf může vypadat např. takto: [DEFAULTS] portal_name,DIGITOOL z312_con_lng,CZE expiry_date,today+2y [END] [LOAD_LOGIN] program = shib.pl params = shib_digitool.conf [END] [BOR_INFO] program = shib_bor_info.pl [END] [INSTITUTE_DISPLAY] code = DIGITOOL lang = ENG desc = Univerzita Karlova v Praze [END] Pokud je u IdP Vaší organizace implementovaný Single Logout plug-in, můžete v sekci ''[SHIB_LOGOUT]'' uvést adresu IdP pro Single Logout, např. [SHIB_LOGOUT] params = https://digitool.is.cuni.cz/shibboleth.sso/Logout [END] //Poznámka//: www_server DigiToolu zruší všechny dotazy, které začínají na velké S, proto v SHIB_LOUGOUT adrese musí být tedy shibboleth s malým s. Pro autorizaci k jednotlivým objektů v DigiToolu (přes klientskou aplikaci Meditor nebo hromadně přidáním ''access_rights.xml'' v modulu Management). Mapování ''HTTP_CUNISTUDYPROGRAM = z312m_bor_dept_m'' se řeší v samostatném souboru ''INSTITUTE.tags'', který si vytvořte v adresáři ''conf_table'': [ATTRIBUTES_MAPPING] z312m_bor_group_m,staff = bor_group_m,ST [END]