cs:tech:apps:digitool

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 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 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 <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

Konfigurace PDS pro DigiTool je obdobná jako 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_main 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]
Poslední úprava:: 2021/04/16 17:07