+ All Categories
Home > Technology > Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Date post: 05-Dec-2014
Category:
Upload: narodni-technicka-knihovna-ntk
View: 1,202 times
Download: 1 times
Share this document with a friend
Description:
Nastavení autentizace prostřednictvím Shibbolethu v systému DSpace. Chcete vědět víc? Mnoho dalších prezentací, videí z konferencí, fotografií i jiných dokumentů je k dispozici v institucionálním repozitáři NTK: http://repozitar.techlib.cz Would you like to know more? Find presentations, reports, conference videos, photos and much more in our institutional repository at: http://repozitar.techlib.cz/?ln=en
19
Shibboleth v systému DSpace Vlastimil Krejčíř, [email protected] Ústav výpočetní techniky, Masarykova univerzita, Brno Shibboleth v praxi, NTK Praha Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace
Transcript
Page 1: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Shibboleth v systému DSpace

Vlastimil Krejčíř, [email protected]

Ústav výpočetní techniky, Masarykova univerzita, Brno

Shibboleth v praxi, NTK Praha

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 2: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Shibbolizace DSpace

DSpace jako service provider, Shibboleth jako SSO.

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 3: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Základní informace

DSpace verze 1.5.x a vyššíApache HTTP server (2.2.x) + Shibboleth modul

Základní zdroje:https://mams.melcoe.mq.edu.au/zope/mams/pubs/Installation/dspace15/view

https://www.eduid.cz/wiki/cztestfed/howto/sp2/index

Ve stable verzi (1.6.2) neumí DSpace Shibboleth nativně (přesknihovny v Javě), ale je nutné použít Apache Server jako SP.DSpace pak používá posílané hlavičky.

V budoucích verzích (?) snad nativní podpora.

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 4: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Základní přehled nastavení

instalace SP v rámci Apache HTTP serverunapojení Apache na Tomcat (mod proxy, mod jk)konfigurace serveru Tomcatkonfigurace DSpace (dspace.cfg)

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 5: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Instalace SP v Apache

nainstalovat webový server Apachenainstalovat software pro Shibboleth (SP)default nastavení SP pro Apache nemá nastaveno posíláníněkterých pro DSpace důležitých atributů, které je nutnéodkomentovat v souboru attribute-map.xml:

mail

givenName

sn

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 6: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Apache HTTP server + Tomcat

DSpace běží na serveru Tomcat (nebo podobném)pro Shibboleth v DSpace je NUTNÉ napojit Tomcat naApacheDSpace jako virtuální server v Apache (http i https)

Apache jako klasická reverzní proxy (mod proxy)využití protokolu AJP 1.3 (mod jk)

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 7: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Výchozí nastavení

pro následující ukázky konfigurace předpokládejme, žeTomcat i Apache běží na tomtéž lokálním serveruDSpace běží na serveru Tomcat s adresou 127.0.0.1(localhost) port 8080hlavní aplikace (např. jspui) je v kořenu (tedyhttp://localhost:8080/) – nastavení např. přes<Context path="" docBase="jspui" />

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 8: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Apache jako klasická proxy

<VirtualHost dspace.muni.cz:443>...

ProxyPass /Shibboleth.sso !

<Location /shibboleth-login>AuthType shibbolethShibRequireSession OnShibUseHeaders OnRequire valid-user</Location>

<Location />ProxyPass http://127.0.0.1:8080/ProxyPassReverse http://127.0.0.1:8080/</Location>

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 9: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Konfigurace přes protokol AJP

Worker je pojmenovaný tomcat (viz dále). V Apache nutnénahrát modul mod jk.<VirtualHost dspace.muni.cz:443>...

JkMount /* tomcatJkUnMount /Shibboleth.sso/* tomcatJkUnMount /shibboleth tomcatJkUnMount /shibboleth-sp/* tomcat

<Location /shibboleth-login>AuthType shibbolethShibRequireSession OnShibUseHeaders OnRequire valid-user</Location>

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 10: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Konfigurace přes protokol AJP II

V souboru ${TOMCAT}/conf/workers.properties nastavitworker:

workers.tomcat home=/opt/tomcat/worker.list=tomcatworker.default.port=8009worker.default.host=localhostworker.default.type=ajp13worker.default.lbfactor=1

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 11: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Konfigurace přes protokol AJP III

V souboru ${TOMCAT}/conf/server.xml nastavit AJP:

<Service name="Catalina">...

<Connectorport="8009"protocol="AJP/1.3"redirectPort="443"tomcatAuthentication="false"address="127.0.0.1"URIEncoding="UTF-8" />

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 12: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

DSpace a Shibboleth – co to umí?

nastavení pořadí autentizačních metod (není nutné použítvýlučně jednu)načtení mailu (povinné), jméno, příjmeníautoregistracedefinování rolí dle affiliation (groups)

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 13: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Nastavení DSpace

konfigurační soubor ${DSPACE}/config/dspace.cfgdirektivy authentication.shib.*

Nastavení pořadí autentizace (Shibboleth a default auth):

plugin.sequence.org.dspace.authenticate.AuthenticationMethod =org.dspace.authenticate.ShibAuthentication,org.dspace.authenticate.PasswordAuthentication

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 14: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Nastavení DSpace II

Nastavení základních atributů předávaných serverem (hlavičky)- dle SP attribute-map.xml:

authentication.shib.email-header = mail

authentication.shib.firstname-header = givenName

authentication.shib.lastname-header = sn

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 15: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Nastavení DSpace III

Další nastavení (použití autentizačního systému Tomcatu,nastavení autoregistrace, nastavení session):

authentication.shib.email-use-tomcat-remote-user =false

authentication.shib.autoregister = true

webui.session.invalidate = false

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 16: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Nastavení DSpace IV

Nastavení rolí – je možné použít scoped i unscoped affiliation.Scoped affiliation se ořezává ([email protected] → member).

authentication.shib.role-header = unscoped-affiliation

authentication.shib.role-header.ignore-scope = false

použijeme-li scoped affiliation, pak nastavit na true

webui.session.invalidate = false

doporučeno vývojáři

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 17: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Nastavení DSpace V

Nastavení default rolí (selže-li načtení affiliation):authentication.shib.default-roles = member

Přiřazení dle role do skupiny (group):

authentication.shib.role.member = MEMBER MUNI

authentication.shib.role.employee = EMPLOYEE MUNI

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 18: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Problémy

špatné předávání UTF-8 znaků u atributů sn agivenName

jedná se o bug ve stable verzi 1.6.2 (a menší)hlavičky posílané v ISO-8859-1 nejsou konvertoványnutné pro fname a sname provést v souboruShibAuthentication.java:new String(prom.getBytes("iso-8859-1"),"utf-8");

s doporučeným nastavením nefunguje správné přiřazovánískupin dle affiliation

pravděpodobně bug

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace

Page 19: Shibboleth v Praxi - DSpace (Vlastimil Krejčíř)

Děkuji za pozornost.

Vlastimil Krejčíř, [email protected] Shibboleth v systému DSpace


Recommended