HY:n kevytkäyttäjähallintosovellus ATIK-projektille Versio 2.1/ 16.8.2009 Ismo Aulaskari HY.n kevytkäyttäjähallintosovellus toimii ATIK-järjestelmän käyttäjätunnistuspalveluna käyttäjän perustietojen sijaintipaikkana ja tarjoaa yhden yhtenäisen rajapinnan ATIK-järjestelmän ja eri yliopistojen käyttäjähallintojärjestelmien välille. Kevytkäyttäjähallintosovellus mahdollistaa yliopiston olemassaolevien tunnusten käytön vaihtoehtona ATIK-tunnuksille. Kevytkäyttäjähallintosovellus tarjoaa myös web-liittymän käyttäjätietojen ylläpitoon ja vahvan tunnistuksen avulla tehtävään rekisteröitymiseen ja salasananvaihtoon. Kevytkäyttäjähallintotuotteen osia ovat: LDAP-autentikointia tukeva Openldap-käyttäjähakemisto Kevytkäyttäjähallinto-automaatti joka ylläpitää Openldapin käyttäjätietoja ja tarjoaa kaksisuuntaisia rajapintoja ATIK-järjestelmälle ja yliopiston käyttäjähallinnolle Web-käyttöliittymä kevytkäyttäjähallintoautomaatille, sisältäen käyttätunnuksen luonnin ja salasanan resetoinnin VETUMA-pohjainen vahva tunnistus käyttäjän rekisteröinnissä ja salasanan uusimisessa (www.suomi.fi/vetuma) Shibboleth 2 IDP-toiminnallisuus jolla käyttäjät kirjautuvat ATIK-järjestelmään ilman että ATIK-järjestelmä näkee heidän salasanansa Perustason käyttäjä- ja virkailijaroolien hallinta kevytkäyttäjähallintoautomaatissa Näiden asennettujen ohjelmistojen lähdekoodit Ohjelmistokokonaisuus on mahdollista asentaa Linux-palvelimelle tavallisena käyttäjänä ja ajaa tavallisen käyttäjän oikeuksin pl. Shibboleth, jonka täytyy käyttää järjestelmän www-palveluille varattuja etuoikeutettuja portteja Dokumentaatio, sisältäen lyhyet asennus- ja käyttöohjeet ylläpitäjille.
Miksi ATIKista erillinen kevytkäyttäjähallintosovellus? ATIK:in ja yliopistojen järjestelmien välille tarvitaan integraatiota 1. tarjouskilpailu ATIK-2.0-järjestelmästä epäonnistui koska yliopistot eivät kyenneet määrittelemään yhteistä integraatiorajapintaa Atikiin ja toimittajat hinnoittelivat useiden eri integraatiovaihtoehtojen toteuttamisen, sekä käyttäjien tunnistukseen ja käyttäjähallintoon (vahva verkkotunnistus, salasana- ja roolihallinto) liittyvät toiminnot liian kalliiksi tämän takia ryhdyttiin suunnittelemaan yhtä standardoitua integraatiorajapintaa jota tarjota toimittajille ja toteuttaa sen yliopistopuoli eri integraatioineen halvemmalla HY:n projektina kaikkien käyttöön Yliopistojenvälisen yhteisen käyttäjähallinnon toteuttamisen syy potentiaaliset kustannushyödyt, ylläpidossa ja Tupas/VETUMA-sopimuksissa HY itse aikoo käyttää kevytkäyttäjähallintoa sopivalla tavalla olemassaolevaan käyttäjähallintoonsa integroituna, ei sen korvaajana merkittävä osa koodipohjasta on jo tehty ja tuotantokäytössä Teatterikorkeakoulun HAKA-käyttäjähallintona yhteistoiminta kustannussyistä oli ATIK 2.0-projektin kantava idea Kevytkäyttäjähallintotuotteessa oma tunnusvarasto ja käyttäjähallintotoiminnot jotta voidaan säilyttää ATIK-tunnuksia jossain silloin kun yliopiston käyttäjähallintoon ei pääse kuin opiskelijarekisterin kautta Atikissa luodaan tunnuksia jo ennen käyttäjien ilmoittautumista kursseille, kurssi-ilmoittautumiset kirjataan opiskelijarekisteriin kuka tahansa kadunmies voi luoda tunnuksen eli niitä on potentiaalisesti paljon yliopistojen ei tarvitse välttämättä antaa Atikille pääsyä yliopiston käyttäjähallintoon/opiskelijarekisteriin Samalla voitaisiin tarjota kevyttunnushallinto sitä tarvitseville Tarkoitus olisi tarjota integraatiorajapintoja myös kevytkäyttäjähallinnolle tulleitten kutsujen välittämiseen yliopiston järjestelmille Kevytkäyttäjähallinnon lokaalit tunnukset voidaan myös verkkotasolla pitää erossa esim. lisenssoiduista aineistoista
WS-rajapinta -muokkaa roolia Rajapintoja - Web-liitymä -LDAP ATIK Shibboleth -autentikoi & siirrä käyttäjän tiedot Kevytkäyttäjähallintosovellus -Poista -Hae kaikki -Muokkaa Openldap / Shibboleth IDP Yliopiston autentikointijärjestelmä Shibboleth IDP Linux-palvelin
Yhden tunnuksen politiikan toteuttaminen Ajateltu tässä versiossa tehdä niin että käyttäjätunnistukset hoidetaan Shibboleth/SAML2-protokollan yli.joko kevytkäyttäjähallinon IDP:hen tai kotiyliopiston IDP:hen. Autentikointia muilla tavoilla ei tueta.. Yliopiston olemassaolevista tunnuksista luodaan varaus ATIK-tietokantaan saman käyttäjän ATIK-tunnukseksi sitä mukaa kun käyttäjiä pyrkii ATIKiin ATIKspesifisten roolien säilyttämistä varten. HY-integraatiohahmotelma HY:n keskitetyn tunnistuksen vaativat palvelut ATIK Shibboleth LDAP Radius Atikkäyttäjähallinto AD Unix Opintohallinnon perusjärjestelmä HY IDM
Openldap-hakemisto Skeematuki vähintään attribuuteille uid (käyttäjätunnus) cn (koko nimi muodossa etunimet sukunimi) userpassword (käyttäjän salasanatiiviste, jos paikallinen salasana) käyttäjän roolit ja niiden voimassaoloaika jos tieto on ATIK-järjestelmästä saatavilla onko opinto-oikeutta voimassa tarkempia rooleja, esim. Virkailijastatus eduperson-roolit (esim. VETUMA 2.1 VTJ-kyselyn avulla, tai käyttäjän itse syöttämänä): hetu sähköposti givenname (etunimet) sn (sukunimi) voimassaolon loppupvm luontipvm Rajapinta Shibboleth/SAML 2.0 jonka kautta HTTPS-suojattu Shibboleth-tunnistus, Shibbolethin ja LDAPin välillä TLS-/LDAPS-suojattu simple bind-tunnistus käyttäjätunnus menee (ainakin tilapäisesti) lukkoon liian monen epäonnistuneen yrityksen jälkeen Käyttäjän tiedot välittyvät ATIKin Shibboleth SP:lle Shibboleth-protokollan yli Konfiguroitu tekstitiedostoilla Lokitus säädettävissä, normaalisti LDAP-operaation tarkkuudella + Shibboleth-lokitus LDAP-hakemiston monitorointi (HY:llä esim. Big Sister, Smokeping, Logwatch..)
Kevytkäyttäjähallinto-automaatti J2EE5-alustalle (referenssisovelluspalvelimena Glassfish v2) Automaatti/automaatit joka huolehtii kerran vuorokaudessa vanhentuneiden käyttäjätunnusten poistosta/lukitsemisesta käyttäjätietokannan levylle dumppaamisen varmuuskopiointia varten On konfiguroitavissa tekstitiedostoista LDAP-palvelimen ja ylläpitotunnuksen tiedot tuetut käyttäjätiedot käyttäjätunnuksen formaattifunktio/-luokka Periaatteessa kahdennettavissa sovelluspalvelinklusterilla Lokitus säädettävissä sovelluspalvelimella, monitorointi sovelluspalvelimella Rajapinta (WS-I Basic Profile 1.1 -web service) HTTPS-yhteyden yli, jonka kautta käyttäjätunnusten tietojen muokkaaminen ATIK-järjestelmän opintotietojen perusteella roolin (opiskelija/ei-opiskelija, virkailija, voimassaoloaika) päivitys Web-liittymä käyttäjätietojen ylläpitoon (liittyy tuotteen muihin käyttömahdollisuuksiin) käyttäjän manuaalinen luominen ja muokkaaminen virkailijan toimesta käyttäjät jotka eivät voi VETUMA-tunnistautua, tunnistetaan henkilötodistuksella käyttäjän itsepalvelutoiminnot VETUMA-tunnistuksen avulla rekisteröinti, tietojen muuttaminen, salasanaresetointi käyttäjä/virkailijaroolien ylläpito rooleja rajallinen, harvoin muuttuva joukko, joita kontrolloidaan kevytkäyttäjähallinnon puolella LDAPissa yksinkertaisuussyistä Käyttäjän rooleja säilytetään kevytkäyttäjähallinnon puolella ATIKkäyttäjäobjekteissa LDAPissa käyttäjällä voi olla monta roolia roolien muuttamiset ws-rajapinnan kautta ja kysymiset Shibbolethprotokollalla VETUMA-autentikointi-osion toteuttaminen Luvan luonti Openldapiin Salasanaresetointi (vain ATIK-tunnuksille, ei yliopiston)
Tunnistuksia rajattu määrä/viikko/hetu/ip? Kirjautumiskäyttöliittymä tarjoaa vaihtoehdot: kirjautuminen yliopiston tunnuksilla (Shibboleth) kirjautuminen ATIK-tunnuksilla (Shibboleth) unohtunut tunnus/unohtunut salasana/uuden tunnuksen rekisteröinti (Linkki kevytkäyttäjähallintoon tai yliopiston käyttäjätukisivuille) Kun käyttäjä yrittää luoda tunnusta, jos ATIK-tunnus jo olemassa kerrotaan käyttäjälle käyttäjätunnus ja resetoidaan salasana Tarkistus onko käyttäjällä tunnusta kotiyliopistossa, henkilötunnuksen perusteella, kotiyliopiston tarjottava tällainen palvelu jotta sitä voidaan tukea VETUMA-tunnistamisen jälkeen ei tarvitse luoda käyttäjälle sessiota ATIKjärjestelmään, vaan on ok että käyttäjä kirjautuu ATIKiin Shibbolethilla saatuaan VETUMAlla tunnuksen ja salasanan.
ATIK-käyttölupajärjestelmän prosessit Nämä eivät suoraan kuvaa WS-rajapintaa, vaan ovat enemmänkin kartta sovelluksen toteuttamasta toiminnallisuudesta Käyttäjä yrittää kirjautua(tunnus, salasana) ok palautetaan ok väärä tunnus tai salasana palautetaan epäonnistuminen, Shibboleth IDP:n tarjottava käyttäjälle linkit seuraaviin: Uudelleenyritys Salasanaresetointi/Uuden ATIK-tunnuksen luonti Rekisteröidy(etunimi, sukunimi, sähköposti, hetu) Unohti tunnuksensa VETUMA-tunnistus saadaan varmistettu hetu, Luodaan tunnus Unohti tunnuksensa palautetaan käyttäjätunnus, resetoidaan salasana Luodaan tunnus(varmennettu hetu, etunimi, sukunimi, sähköposti) palauttaa luodun käyttäjätunnuksen ja salasanan ja roolin Salasanan resetointi VETUMA-tunnistus varmennetulla hetulla etsitään käyttäjän tunnus, ja annetaan vaihtaa sen salasana Muokkaa tunnusta(rooli, voimassaolo) Virkalijaliittymän Luo/Poista/Muokkaa tunnus(tunnus) Hae tunnuksia(hakusanat) Tunnistautuminen ja käyttäjätiedon siirto ATIKiin Shibboleth-protokollalla
Lisäominaisuuksia joita sovellukseen voi hankkia tulevaisuudessa HAKA-luottamusverkostojäsenyys Shibboleth 2 IDP:lle jos joskus ajankohtaista LDAPin kahdennus (Shibbolethin kahdennusta ei ole HY:llä testattu mutta teoriassa sekin on mahdollista) Kevytkäyttäjähallinnon www-littymän kahdennus onnistuu, jos kuorma käy yhdelle sovelluspalvelimelle liian raskaaksi Optiona muu tarvittava organisaatiokohtainen integraatiorajapinta? REST, HTTPS POST? Tarvitaan tarkistuksia yliopiston käyttölupajärjestelmästä, onko käyttäjä jo siellä olemassa Omien käyttäjätietojen tarkistaminen web-lomakkeella -Atikin ominaisuus muokkausmahdollisuus myös Atikissa mutta ei kevytkäyttäjähallinnon tiedoille VETUMA:sta eroaminen ja siirtyminen pelkkään Tupakseen tarvittaessa kustannussyistä Henkilötietojen käsittely kevytkäyttäjähallinnossa Käyttäjä syöttää HTTPS-suojatulla sivulla rekisteröityessään kevytkäyttäjähallintoon etu- ja sukunimensä, sähköpostiosoitteensa ja hetunsa Kevytkäyttäjähallinto vahvistaa käyttäjän ilmoittaman henkilötunnuksen VETUMApalvelun avulla (takaisin palaa vahvistettu henkilötunnus ja käyttäjän nimitietoja HTTPS POST-operaationa). VETUMA-palvelu saa tietonsa taustapalveluista kuten pankkien TUPAS-järjestelmistä tai väestörekisterikeskuksen järjestelmistä. Kevytkäyttäjähallinto tallettaa omaan tietokantaansa käyttäjän nimen, henkilötunnuksen ja sähköpostiosoitteen ATIK-roolien ja teknisten tietojen lisäksi. Käyttäjä kirjautuu suojatulla yhteydellä Shibbolethilla ATIKiin jolloin kevytkäyttäjähallinon tietoja siirtyy samalla. ATIK säilyttää käyttäjän henkilötunnuksen, jolla se pystyy hakemaan ja käyttäjän tietoja kevytkäyttäjähallintojärjestelmässä ATIK käyttää henkilötunnusta myös käyttäjän tietojen viemisessä opintohallinnon järjestelmään.