Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,074 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Shibboleth v systému DSpace Vlastimil Krejčíř, krejcir@ics.muni.cz Ústav výpočetní techniky, Masarykova univerzita, Brno Shibboleth v praxi, NTK Praha Vlastimil Krejčíř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  2. 2. Shibbolizace DSpace DSpace jako service provider, Shibboleth jako SSO. Vlastimil Krejčíř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  3. 3. 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řes knihovny 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číř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  4. 4. Základní přehled nastavení instalace SP v rámci Apache HTTP serveru napojení Apache na Tomcat (mod proxy, mod jk) konfigurace serveru Tomcat konfigurace DSpace (dspace.cfg) Vlastimil Krejčíř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  5. 5. Instalace SP v Apache nainstalovat webový server Apache nainstalovat 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číř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  6. 6. Apache HTTP server + Tomcat DSpace běží na serveru Tomcat (nebo podobném) pro Shibboleth v DSpace je NUTNÉ napojit Tomcat na Apache DSpace 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číř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  7. 7. Výchozí nastavení pro následující ukázky konfigurace předpokládejme, že Tomcat i Apache běží na tomtéž lokálním serveru DSpace běží na serveru Tomcat s adresou 127.0.0.1 (localhost) port 8080 hlavní aplikace (např. jspui) je v kořenu (tedy http://localhost:8080/) – nastavení např. přes <Context path="" docBase="jspui" /> Vlastimil Krejčíř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  8. 8. Apache jako klasická proxy <VirtualHost dspace.muni.cz:443> ... ProxyPass /Shibboleth.sso ! <Location /shibboleth-login> AuthType shibboleth ShibRequireSession On ShibUseHeaders On Require valid-user </Location> <Location /> ProxyPass http://127.0.0.1:8080/ ProxyPassReverse http://127.0.0.1:8080/ </Location> Vlastimil Krejčíř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  9. 9. 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 /* tomcat JkUnMount /Shibboleth.sso/* tomcat JkUnMount /shibboleth tomcat JkUnMount /shibboleth-sp/* tomcat <Location /shibboleth-login> AuthType shibboleth ShibRequireSession On ShibUseHeaders On Require valid-user </Location> Vlastimil Krejčíř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  10. 10. Konfigurace přes protokol AJP II V souboru ${TOMCAT}/conf/workers.properties nastavit worker: workers.tomcat home=/opt/tomcat/ worker.list=tomcat worker.default.port=8009 worker.default.host=localhost worker.default.type=ajp13 worker.default.lbfactor=1 Vlastimil Krejčíř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  11. 11. Konfigurace přes protokol AJP III V souboru ${TOMCAT}/conf/server.xml nastavit AJP: <Service name="Catalina"> ... <Connector port="8009" protocol="AJP/1.3" redirectPort="443" tomcatAuthentication="false" address="127.0.0.1" URIEncoding="UTF-8" /> Vlastimil Krejčíř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  12. 12. DSpace a Shibboleth – co to umí? nastavení pořadí autentizačních metod (není nutné použít výlučně jednu) načtení mailu (povinné), jméno, příjmení autoregistrace definování rolí dle affiliation (groups) Vlastimil Krejčíř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  13. 13. Nastavení DSpace konfigurační soubor ${DSPACE}/config/dspace.cfg direktivy 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číř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  14. 14. 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číř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  15. 15. 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číř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  16. 16. Nastavení DSpace IV Nastavení rolí – je možné použít scoped i unscoped affiliation. Scoped affiliation se ořezává (member@muni.cz → 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číř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  17. 17. 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číř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  18. 18. Problémy špatné předávání UTF-8 znaků u atributů sn a givenName jedná se o bug ve stable verzi 1.6.2 (a menší) hlavičky posílané v ISO-8859-1 nejsou konvertovány nutné pro fname a sname provést v souboru ShibAuthentication.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číř, krejcir@ics.muni.cz Shibboleth v systému DSpace
  19. 19. Děkuji za pozornost. Vlastimil Krejčíř, krejcir@ics.muni.cz Shibboleth v systému DSpace

×