Helsingi yliopiston kevytkäyttäjähallintosovellus ATIK projektille Sisällysluettelo 1Johdanto...2 2Miksi ATIK:sta erillinen kevytkäyttäjähallintosovellus?...3 Yhden tunnuksen politiikan toteuttaminen...5 3HY integraatiohahmotelma...5 4Openldap hakemisto ja Shibboleth 2 IDP...6 5Kevytkäyttäjähallinto automaatti...7 6ATIK kevytkäyttäjähallintojärjestelmän prosessit...9 7Henkilötietojen käsittely kevytkäyttäjähallinnossa...10 8Lisäominaisuudet...11 Versio 2.2/ 21.9.2009 Ismo Aulaskari 1
1 Johdanto Helsingin yliopiston 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 käyttäjä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 sekä 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. 2
2 Miksi ATIK:sta erillinen kevytkäyttäjähallintosovellus? ATIK:iin päätettiin toteuttaa erillinen kevytkäyttäjähallintosovellus, koska: ATIK:in ja yliopistojen järjestelmien välille tarvitaan integraatiota. Ensimmäinen tarjouskilpailu ATIK 2.0 järjestelmästä epäonnistui, koska yliopistot eivät kyenneet määrittelemään yhteistä integraatiorajapintaa ATIK:iin ja toimittajat hinnoittelivat useiden eri integraatiovaihtoehtojen toteuttamisen, sekä käyttäjien tunnistukseen että 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 toteuttamaan sen yliopistopuoli eri integraatioineen halvemmalla HY:n projektina kaikkien käyttöön. Yliopistojenvälisen yhteisen käyttäjähallinnon toteuttamisen syynä ovat 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 ja yhteistoiminta kustannussyistä oli ATIK 2.0 projektin kantava idea. Kevytkäyttäjähallintotuotteessa on oma tunnusvarasto ja käyttäjähallintotoiminnot jotta: yliopistojen ei välttämättä tarvitse antaa ATIK:ille pääsyä yliopiston käyttäjähallintoon tai opiskelijarekisteriin ja ATIK tunnuksia voidaan säilyttää jossain silloin kun yliopiston käyttäjähallintoon ei pääse kuin opiskelijarekisterin kautta, sillä: Atikissa luodaan tunnuksia jo ennen käyttäjien ilmoittautumista kursseille ja kurssi ilmoittautumiset kirjataan opiskelijarekisteriin kuka tahansa kadunmies voi luoda itselleen ATIK tunnuksen. Mikä tarkoittaa, että tällaisia henkilöitä on potentiaalisesti paljon. Samalla voitaisiin tarjota kevyttunnushallinto sitä tarvitseville. ATIKissa tarjotaan dokumentoituja integraatiorajapintoja joihin myös kilpailevat kevytkäyttäjähallinnot voisivat liittyä. Kevytkäyttäjähallinnon lokaalit tunnukset voidaan myös verkkotasolla pitää erossa esim. lisenssoiduista aineistoista. 3
WS rajapinta muokkaa roolia hae käyttäjä Rajapintoja Web liitymä LDAP ATIK Shibboleth autentikoi & siirrä käyttäjän tiedot Openldap / Shibboleth IDP Kevytkäyttäjähallintosovellus Poista Hae kaikki Muokkaa Yliopiston autentikointijärjestelmä Shibboleth IDP Linux palvelin 4
Yhden tunnuksen politiikan toteuttaminen Yhden käyttäjätunnuksen politiikan toteuttaminen on 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 ATIK spesifisten roolien säilyttämistä varten. 3 HY integraatiohahmotelma HY:n keskitetyn tunnistuksen vaativat palvelut ATIK Shibboleth LDAP Radius Atikkäyttäjähallinto AD Unix Opintohallinnon perusjärjestelmä HY IDM 5
4 Openldap hakemisto ja Shibboleth 2 IDP Kuvaus ATIK:n Openldap hakemistosta: Skeematuki vähintään seuraaville 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 Rajapintana on 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..) 6
5 Kevytkäyttäjähallinto automaatti Kevytkäyttäjähallinto automaatti on: J2EE5 alustalle (referenssisovelluspalvelimena Glassfish v2) Automaatti/automaatit, joka huolehtii kerran vuorokaudessa: vanhentuneiden käyttäjätunnusten poistosta/lukitsemisesta ja käyttäjätietokannan levylle dumppaamisen varmuuskopiointia varten. Automaatti on konfiguroitavissa tekstitiedostoista: LDAP palvelimen ja ylläpitotunnuksen tiedot, tuetut käyttäjätiedot ja 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 7
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. 8
6 ATIK kevytkäyttäjähallintojärjestelmän prosessit Alla on kuvattu lyhyesti ATIK:n prosessit käyttäjähallinnon näkökulmasta. 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 tunnus(hakusana) Tunnistautuminen ja käyttäjätiedon siirto ATIKiin Shibboleth protokollalla. 9
7 Henkilötietojen käsittely kevytkäyttäjähallinnossa Henkilötietojen käsittely ATIK kevytkäyttäjähallinnossa tapahtuu seuraavasti: Käyttäjä syöttää HTTPS suojatulla sivulla rekisteröityessään kevytkäyttäjähallintoon etu ja sukunimensä, sähköpostiosoitteensa ja hetunsa, ja valitsee asiointikielensä. 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 ATIK:iin, jolloin samalla siirtyy kevytkäyttäjähallinon tietoja. ATIK säilyttää käyttäjän henkilötunnuksen, jolla se pystyy hakemaan 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. 10
8 Lisäominaisuudet Lisäominaisuuksia, joita sovellukseen voi hankkia tulevaisuudessa: HAKA luottamusverkostojäsenyys Shibboleth 2 IDP:lle, jos on 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 ATIK:in ominaisuus muokkausmahdollisuus myös ATIK:issa, mutta ei kevytkäyttäjähallinnon tiedoille. VETUMA:sta eroaminen ja siirtyminen pelkkään Tupakseen tarvittaessa kustannussyistä. 11