Helsingi yliopiston kevytkäyttäjähallintosovelluksen rajapintakuvaus Sisällysluettelo 1Johdanto...2 2ATIKin ja kevytkäyttäjähallinnon välinen rajapinta...3 Shibboleth 2-tunnistus...3 Web service-rajapinta, esim. WS-I Basic Profile 1.1 -web service HTTPS-yhteyden yli...5 Workflow ja interaktiiviset linkit kevytkäyttäjähallinnon tarjoamiin palveluihin...6 Versio 2.3 / 2.10.2009 Ismo Aulaskari 1
1 Johdanto 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. 2
2 ATIKin ja kevytkäyttäjähallinnon välinen rajapinta (tätä on tarkennettu toimittajan kanssa yhden kerran neuvoittelemalla) Shibboleth 2-tunnistus ATIK-järjestelmän tunnistusta vaativa osio tukee Shibboleth 2-tunnistusta, eli Shibboleth 2 Service Provider suojaa sovellusta kuten sivulla https://spaces.internet2.edu/display/shib2/installation on ohjeistettu kohdassa Native Service Provider (SP). Java SP:ksi kelvannee puhtaassa SAML2-ympäristössä fedlet http://blogs.sun.com/sid/entry/fedlet mutta ei siis vielä kaikkien ATIK-projektijäsenten laajuisesti. Tällöin Shibboleth 2 IDP-toiminnallisuutta tukevat yliopistot ja kevytkäyttäjähallintosovellus voivat tunnistaa ATIK-käyttäjät SAML 2.0 -protokollalla ilman että käyttäjien salasanat kulkevat ATIK-järjestelmän läpi. Lähes kaikki yliopistot Suomessa tukevat Shibboleth-tunnistusta. Käytännössä tämä vaatii ATIKilta vain Shibboleth 2-suojattua sivua, joka osaa käynnistää ATIK-järjestelmälle kelpaavan käyttäjän istunnon käyttäjän saapuessa sivulle. Sovelluksen tarvitsemat käyttäjätiedot saa tällöin http-palvelimen ympäristömuuttujista. Kun käyttäjä saapuu ATIK-järjestelmän kirjautumista vaativalle sivulle, ohjataan hänet Shibboleth-suojatulle sivulle tunnistautumaan. Kun käyttäjä on suorittanut Shibboleth-tunnistuksen, pääsee hän sivulle joka käynnistää ATIK-istunnon. Käyttäjän session tiedot päivitetään Shibbolethin välittämistä http-palvelimen ympäristömuuttujista. Kaikkien käyttäjien roolit säilytetään kevytkäyttäjähallinnon tietokannassa. Kotiyliopiston IDP ei pysty tarjomaan ATIK-rooleja koska sillä ei niitä ole. Niinpä Shibboleth-kirjautumisen jälkeen ATIK-kysyy kevytkäyttäjähallinnolta ws-rajapintaa käyttäen (hetu tai käyttäjätunnus parametrina) käyttäjän roolia. Jos roolia ei löydy on kyseessä uusi rekisteröityminen, jolloin ATIK kutsuu kevytkäyttäjähallintoa vielä wsrajapinnan muokkaa_roolia-kutsulla lisäten rekisteröityneen käyttäjän roolin. Ws-rajapinnan käyttö roolien hakuun on kuitenkin oltava kotiyliopistolle vapaaehtoista ja roolien haku kevytkäyttäjähallinnosta pitää saada Atikissa kytkettyä kokonaan pois jos yliopisto haluaa tuottaa kevytkäyttäjähallinnon toiminnallisuudet kotikutoisesti ja tarjota roolit Shibboleth-IDP:stään. Rajapinta on myös dokumentoitava ja julkaistava tätä tukemaan. Shibboleth 2 SP konfiguroidaan yhteiseen luottamusverkostoon yhteistyössä kevytkäyttäjähallinnon ja kotiyliopiston ylläpitäjien kanssa 3
ATIK (Shibboleth SP) ----> Rekisteröidy VETUMA Kevytkäyttäjähallinto (Shibboleth IDP) Hae käyttäjä ---------> Muuta rooli (Esim. opiskelijaksi) OODI Yliopisto (Shibboleth IDP) 4
Web service-rajapinta, esim. WS-I Basic Profile 1.1 -web service HTTPSyhteyden yli Sanomat välitetään SOAPpina, sanomat salataan ja allekirjoitetaan WS-I basic security profilen mukaisesti yhdellä salauksella sanoma otsakkeineen. Rajapinta kuvattu WSDL:ää käyttäen. Siirtotie HTTP + TLS WSDL-kuvaus ja referenssiasiakasohjelma toimitetaan Toteutettava turvallisesti ja avoimia standardeja hyödyntäen(jotta myös kilpailevat käyttäjähallintosovellukset pystyvät ATIKiin kytkeytymään) Virhetilanteet määriteltävä Palvelujen välinen tunnistus määriteltävä WS-rajapinnan kutsut (ATIK kutsuu kevytkäyttäjähallintoa): hae käyttäjä(hakusana esim. hetu tai käyttäjätunnus ) palauttaa sovitussa formaatissa käyttäjäobjekteja jos löytyy, tai virheviestin virhetilanteesta, käyttäjätiedoissa on mukana mm. ATIK-roolit. Hyödyllinen esim. tapauksessa jossa ATIK-roolia ei saada Shibbolethin yli vaan se haetaan kevytkäyttäjähallinnon tiedoista muokkaa käyttäjän rooleja(henkilötunnus/käyttäjätunnus, lisää/poista, roolin nimi, alkupvm, vanhenemispvm) palauttaa totuusarvon onnistumisesta Roolit rekisteröitynyt ATIK-käyttäjä avoimen opiskelija(tunnistautunut asiakas jolla voimassaoleva opintooikeus) tutkinto-opiskelija(saattaa kuulua alennusryhmään) opettaja(tarvitaan tieto esim. koodi kurssista jota opettaa) Virkailija YT-oppilaitoksen virkailija Pääkäyttäjä opiskelijoiden ja opettajien rooleihin on liitettävä koodi joka määrittelee millä kurssilla/opintokokonaisuudella he toimivat, koodissa määriteltävä minkä yliopiston koodista on kyse lisäksi rooliin littettävä opinto-oikeuden/-tapahtuman alku- ja loppupvm olisi oltava muodossa yyyymmdd Muut käyttäjätiedon muutokset hoidetaan kevytkäyttäjähallinnon puolella webliittymällä virkailijan toimesta paitsi salasanaresetointi siellä myös käyttäjän toimesta. 5
autentikoi(käyttäjätunnus, salasana) palauttaa henkilötunnuksen onnistumisesta ja tyhjän arvon tai virheviestin epäonnistumisesta, tämä toiminto tarkoitettu korkeakouluille jotka eivät tue Shibbolethia poistettu, Shibboleth olkoon pakollinen vaatimus korkeakouluille autentikoinnissa jolloin tällaista salasanan ATIK-järjestelmän kautta kierrättävää autentikointitapaa ei tarvitse tukea. 6
Workflow ja interaktiiviset linkit kevytkäyttäjähallinnon tarjoamiin palveluihin ATIK-järjestelmä tarjoaa käyttäjälle Kirjaudu-linkin, Rekisteröidy-linkin ja Vaihda salasanalinkin. Kirjaudu-linkki vie käyttäjän ATIKin Shibboleth SP:n suojaamalle sivulle josta sessio käynnistyy. Yhden yliopiston ATIKin tapauksessa tarjotaan käyttäjälle kaksi suoraa linkkiä, josta toinen johtaa suoraan kirjautumiseen yliopiston tunnuksilla ja toinen suoraan kirjautumiseen kevytkäyttäjähallinnon tunnuksilla. usean yliopiston yhteisessä ATIKissa ohjataan erilliselle kotiorganisaation valintasivulle josta voi valita minkä yliopiston IDP:stä tai kevytkäyttäjähallinnosta haluaa tunnistautua Rekisteröidy-linkki ja Vaihda salasana-linkki johtavat kevytkäyttäjähallinnon rekisteröitymissivulle. Mahdollisesti nämä ovat silti kaksi eri staattista http-osoitetta jotta rekisteröitymissivun osoite kertoo kevytkäyttäjähallinnolle että käyttäjän tunnuksen olemassaolo halutaan ensin tarkistaa yliopiston järjestelmästä. Uuden käyttäjän rekisteröinti tapahtuu ensin lomakkeessa kevytkäyttäjähallinnon-puolella. Käyttäjältä kysytään etu- ja sukunimi, mahdollinen sähköpostiosoite, asiointikieli ja henkilötunnus joka varmennetaan VETUMA-palvelun avulla. Jotta käyttäjä ei joudu toistamaan itseään saa ATIK nämä tiedot käyttöönsä aina kun käyttäjä kirjautuu ATIKiin Shibbolethilla ja ensimmäisellä kerralla käyttäjän rekisteröityminen jatkuu ATIKin puolella lisätietojen kysymisellä. Asiointikielen ISO-639-1 -kielikoodi valitaan joukosta (fi,sv,en) 7