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:
Nastavení je zkodumentováno v manuálu Patron Directory Services Guide dostupném v 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
czEduPersonStudySubject
Instalace Shibboleth Service Providera pro DigiTool je obdobná jako pro MetaLib.
Rozdíly oproti úpravám u DigiTool jsou následující:
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 <Location /shib>
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 pro DigiTool je obdobná jako pro MetaLib.
Rozdíly oproti úpravám u DigiTool jsou následující:
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 <pdsroot>/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]