Shibboleth-projekti. Tampereen teknillinen yliopisto / Digitaalisen median instituutti / Hypermedialaboratorio



Samankaltaiset tiedostot
1. Käyttäjätietokannan ja perusrekistereiden kytkentä

OHJE SENAATTILAN KÄYTTÄJÄKSI REKISTERÖITYMISTÄ VARTEN

OHJE SENAATTILAN KÄYTTÄJÄKSI REKISTERÖITYMISTÄ VARTEN

Tietosuojaseloste (5)

Käyttäjän tunnistus yli korkeakoulurajojen

Energiapeili-raportointipalveluun rekisteröityminen kuluttaja-asiakkaana

Energiapeili-raportointipalveluun rekisteröityminen kuluttaja-asiakkaana

Kotiorganisaation käyttäjähallinnon kuvaus. 1. Käyttäjätietokannan ja perusrekistereiden kytkentä

Luottamusverkosto. Shibboleth-asennuskoulutus CSC Tieteen tietotekniikan keskus Oy CSC IT Center for Science Ltd.

TIETOSUOJASELOSTE Julkaistu

Energiapeili-raportointipalveluun rekisteröityminen yritysasiakkaana

Tietosuojaseloste. Henkilötietolaki (523/1999) 10 ja 24, EU:n yleinen tietosuoja-asetus (679/2016) 12 ja 13 artikla. Urho Tuominen -konserni:

Kemikaalitieto yhdestä palvelusta

Selaimen kautta käytettävällä PaikkaOpin kartta-alustalla PaikkaOppi Mobiililla

HY:n alustava ehdotus käyttäjähallintotuotteesta

Energiapeili-raportointipalveluun rekisteröityminen yritysasiakkaana

HY:n alustava ehdotus käyttäjähallintotuotteesta

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki

Parik säätiön tietosuojaseloste

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Lähtöoletuksena on, että opiskelijarekisterin henkilötiedot ovat ajantasalla. Opiskelijoille myönnettyjä tunnuksia ei käytetä Haka-palveluissa.

Henkilörekisteriseloste/tietosuojaseloste Henkilötietolaki (523/1999) 10 ja 24 Laatimispvm: , päivitetty

OHJE SENAATTILAN KÄYTTÄJÄKSI REKISTERÖITYMISTÄ VARTEN

LUPAHANKKEET RAKENNUSVALVONNAN SAHKÖISESSÄ ASIOINTIPALVELUSSA

ARVI -järjestelmän ohje koulutuksen järjestäjän pääkäyttäjälle Jaakko Okkeri

1. Käyttäjätietokannan ja perusrekistereiden kytkentä

Käyttöohje Suomen Pankin DCS2-järjestelmään rekisteröityminen

Keskitetty käyttäjähallinto. VirtAMK-yhteyshenkilöpäivät Turku Jarmo Sorvari TAMK

Rekisterinpitäjä. Rekisteriasioista vastaava yhteyshenkilö. Rekisterin nimi. Rekisterin käyttötarkoitus. Rekisterin tietosisältö

HELSINGIN KAUPUNKI MUISTIO Numero 1 TALOUS- JA SUUNNITTELUKESKUS Tietotekniikkaosasto

Tunnistus ja roolipohjainen käyttöoikeuksien hallinta. Inspire-verkoston Yhteistyö-ryhmä

Helsingi yliopiston kevytkäyttäjähallintosovelluksen rajapintakuvaus

Rivarko Oy:n tietosuojakäytäntö Viimeksi päivitetty

Kansallisen audiovisuaalisen instituutin käyttäjähallinnon kuvaus

Kaislanet-käyttöohjeet

Kotiorganisaation käyttäjähallinnon kuvaus (Karelia)

Ohjeet S-ryhmän tuotetietoportaaliin

Työsähköpostin sisällön siirto uuteen postijärjestelmään

Kotiorganisaation käyttäjähallinnon kuvaus

Rekisteri- ja tietosuojaseloste

Kemikaalitieto yhdestä palvelusta

HY:n alustava ehdotus käyttäjähallintotuotteesta

Rekisterin nimi. Rekisterinpitäjä. Rekisterin käyttötarkoitus. Peruste tietojen keräämiseen ja käsittelyyn. Rekisterin tietosisältö

Mihin tarkoitukseen henkilötietojani kerätään ja käsitellään?

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki

HY:n kevytkäyttäjähallintosovellus ATIK-projektille

Oppilaan opas. Visuaaliviestinnän Instituutti VVI Oy. Versio 0.2 ( )

Kotiorganisaation käyttäjähallinnon kuvaus

Käyttäjähallintokoulu Mikael Linden tieteen tietotekniikan keskus CSC

opiskelijan ohje - kirjautuminen

TIETOSUOJASELOSTE. 1. Rekisterinpitäjä. Pro-Stories Oy

Kotiorganisaation käyttäjähallinnon kuvaus

Articles... 3 Käyttäjähallinnon kuvaus... 4 Unohtunut salasana... 6 Tunnusten käyttöönotto... 7 Ohjeita... 8

KANSALAISOPISTON INTERNET-ILMOITTAUTUMISEN OHJEET TUNNUKSEN JA SALASANAN HANKKIMINEN

Federoidun identiteetinhallinnan periaatteet

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

KULTA2-JÄRJESTELMÄN KÄYTTÖOPAS Liikunta-, kulttuuri-, nuoriso-, hyvinvointiavustukset

Opiskelijan ohje Tutkintopalvelu

Sähköinen tunnistus korkeakouluissa. TieVie-lähiseminaari Mikael Linden Tieteen tietotekniikan keskus CSC

TERVETULOA OPISKELEMAAN MOODLE-OPPIMISYMPÄRISTÖSSÄ!

Kotiorganisaation käyttäjähallinnon kuvaus (Poliisiammattikorkeakoulu ja Pelastusopisto)

Mihin tarkoitukseen henkilötietojani kerätään ja käsitellään?

1 Virtu IdP- palvelimen testiohjeet

Yliopistohaku.fi -palvelun Oma haku -palvelu

Osallistumisaika alkaa ja päättyy Päättymisajan jälkeen vastaanotettuja vastauksia ei oteta huomioon.

Kaksinkäsin.fi - ohjeet varaamiseen

Tietosuojaseloste 1 (5)

Sisällysluettelo 1 Johdanto Root, koko Opalan pääkäyttäjä

VTJ-YLLÄPITO. Käyttäjän ohje Kunnat

Mihin tarkoitukseen henkilötietojani kerätään ja käsitellään?

Titta-palvelun käyttöohje

Tietosuojaseloste NY Start Up -ohjelma, Nuori Yrittäjyys ry

Mihin tarkoitukseen henkilötietojani kerätään ja käsitellään?

Haka-käyttäjien kokoontuminen Arto Tuomi CSC Tieteen tietotekniikan keskus

OHJE 1: Uudet oppilaat

1. Käyttäjätietokannan ja perusrekistereiden kytkentä

Verkkopalvelun käyttöohje

SOS-LAPSIKYLÄN YRITYS- JA YHTEISTYÖKUMPPANIREKISTERIN TIETOSUOJASELOSTE

Ohjeistus uudesta tunnistuspalvelusta

Ajankohtaista tietoa LähiTapiolan verkkopalvelun pääkäyttäjille

MatTaFi projektin HAKA-pilotti

Toimittajaportaalin rekisteröityminen Toimittajaportaalin sisäänkirjautuminen Laskun luonti Liitteen lisääminen laskulle Asiakkaiden hallinta Uuden

SIJAISET.FI KÄYTTÖOHJE TAKSI YRITYKSILLE. 1. Palveluun rekisteröityminen Palveluun kirjautuminen Etusivu... 2

Keskustelusivusto. Suunnitteludokumentti

Ylläpito toimittaa sinulla sähköpostiisi käyttäjätunnuksen ja salasanan. Tässä esimerkissä

KENTEK OY TIETOSUOJASELOSTE TIIVISTELMÄ

TIETOSUOJASELOSTE. Yleistä. Mihin tarkoitukseen henkilötietojani kerätään ja käsitellään? Mitä henkilötietoja minusta kerätään ja mistä lähteistä?

Asiointipalvelu. Asiakkaan sisäänkirjautumisohje

Mihin tarkoitukseen henkilötietojani kerätään ja käsitellään?

Tervetuloa CWT Portalin käyttäjäksi!

SilvaToiminta Versio 1.0. SilvaToiminta. Pikaohje Versio Oy Silvadata Ab Pikaohje 1

Emmi-sovelluksen kirjautumisohje

SALITE.fi -Verkon pääkäyttäjän ohje

Yaran oppimisympäristö yhteistyökumppaneille

Tampereen Aikidoseura Nozomi ry

HY:n kevytkäyttäjähallintosovellus ATIK-projektille

Lyhyt ohje Ning-verkoston hallinnoimiseksi ja muokkaamiseksi

Valtiokonttorin tunnistuspalvelu

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Mihin tarkoitukseen henkilötietojani kerätään ja käsitellään?

Transkriptio:

Shibboleth-projekti Tampereen teknillinen yliopisto / Digitaalisen median instituutti / Hypermedialaboratorio Käyttäjätunnistuksen pilottiprojekti Määrittelydokumentti Versionumero Päiväys Muutosperuste Tekijä Hyväksyjä Hyväksymispvm 1.0 29.6.2004 JG 1.1 3.8.2004 Rekisteröintisivun muutokset JG

Sisällysluettelo 1 Johdanto...3 2 Yleistä projektista...4 2.1 Shibbolethin periaate...4 3 Ohjelman asentaminen...6 3.1 Palvelinympäristö...6 3.2 Tarvittavat ohjelmat...6 3.3 Palvelinvarmenteet...6 4 Oppimisalustan asettamat vaatimukset...7 4.1 Käyttäjän tunnistaminen...7 4.1.1 Yksilölliset tunnukset...7 4.1.2 Muut sisäänkirjautumistavat...7 4.1.3 Henkilötietojen hallinnan vaatimukset...8 4.1.4 Auktorisoinnin vaatimukset...8 5 Käyttäjähallinnon vaatimukset...10 5.1 Henkilötietolaki...10 5.1.1 Henkilötietojen käsittely...10 5.1.2 Attribuuttien hyväksymismenettely...10 5.2 Yksikäsitteisten tunnusten hallinta...11 5.2.1 edupersonprincipalname (EPPN)...11 5.2.2 Tunnusten kierrättäminen...11 5.2.3 Tunnuksen vaihtaminen...11 5.2.4 Eri tunnisteiden käyttäminen...12 5.3 Lokitietojen säilyttäminen...12 6 Tietosisällön määrittely...13 6.1 Tietokanta...13 6.2 Shibbolethin sovittaminen alustaan...14 6.2.1 Autentikoinnin ja auktorisoinnin taso...14 6.2.2 Käyttäjätietojen tallentaminen...15 6.2.3 Käyttäjätietojen päivittäminen...15 6.2.4 Käyttäjän roolit ja oikeudet...15 6.2.5 Käyttäjätietojen sulkeminen...16 7 Käyttäjänhallinnan toteuttaminen...17 7.1 Sisäänkirjautuminen...17 7.1.1 Etusivu...17 7.1.2 Shibboleth-login sivu...17 7.1.3 WAYF ja Origin site...17 7.1.4 Käyttäjän tunnistaminen ja attribuuttien tallennus...18 7.1.5 Alustakohtaisen informaation kysely...18 7.2 Uloskirjautuminen...19 2

1 JOHDANTO Tämä dokumentti on määrittelydokumentti käyttäjäntunnistuksen pilottiprojektille. Dokumentissa määritellään lähtökohdat ja yleiset vaatimukset projektin toteuttamiselle. Projektin tausta, lähtökohdat sekä tavoitteet ovat määritelty jo projektisuunnitelmassa, joten tässä dokumentissa ei käsitellä kyseisiä asioita, vaan dokumentti on lähtökohdiltaan teknisempi. Dokumentissa käydään läpi teknisiä taustoja, kuten palvelinympäristö, johon projekti asetetaan sekä määritellään, mitä vaatimuksia oppimisalusta asettaa projektilta. Määrittelydokumentin toisessa kappaleessa esitellään Shibbolethkäyttäjäntunnistusmenetelmä pääpiirteissään. Kolmas kappale määrittelee asennus- ja palvelinympäristön, johon projekti toteutetaan. Neljännessä kappaleessa käsitellään oppimisalustan vaatimuksia projektille. Viidennessä kappaleessa määritellään käyttäjähallinnon asettamia vaatimuksia ja rajoituksia. Kuudes kappale määrittelee oppimisalustan tietosisällön muutoksia sekä Shibbolethin vaikutuksia tietosisällön käsittelyyn. Seitsemännessä kappaleessa käsitellään, miten käyttäjänhallinta Shibbolethin avulla pyritään toteuttamaan. 3

2 YLEISTÄ PROJEKTISTA 2.1 Shibbolethin periaate Tässä kappaleessa kerrotaan pääperiaatteittain Shibbolethin toiminta. Tarkempi spesifikaatio löytyy Shibbolethin kotisivuilta osoitteesta http://shibboleth.internet2.edu. Kappaleen tarkoituksena on antaa johdanto asiaan tutustumattomalle henkilölle. Shibboleth mahdollistaa organisaatiorajat ylittävän käyttäjätunnistuksen toteuttamisen. Tähän kuuluvat seuraavat osat: henkilötietojen ylläpito, pääsynvalvonta ja käyttöoikeuksien hallinta (eli autentikointi ja auktorisointi). Shibboleth-käyttäjätunnistuksessa henkilötiedot haetaan sisäänkirjautuvan henkilön kotikorkeakoulun paikallisesta tunnushakemistosta, joten tunnusten ylläpito helpottuu. Myös henkilöllisyys todennetaan kotikorkeakoulun toimesta. Todentamisen jälkeen todennuksen tehneeltä sivustolta voidaan kysyä käyttäjään liittyviä tietoja. Näillä toimenpiteillä toteutettavan sivuston ylläpidettävyys paranee, kun sivuston ylläpitäjän ei tarvitse huolehtia tietojen päivityksestä sekä tunnusten sulkemisesta ja avaamisesta. Shibboleth koostuu lähde- ja kohdesivustosta. Korkealla tasolla määriteltynä lähdesivuston tarkoituksena on huolehtia käyttäjän tunnistamisesta, sekä käyttäjään liittyvien attribuuttien, eli käyttäjätietojen, luovuttamisesta kohdesivustolle. Kohdesivusto ottaa vastaan lähetettyjä attribuutteja, ja näiden perusteella päättää, mihin resursseihin käyttäjällä on oikeudet. Kuvassa 2.1 on esitetty Shibboleth-tunnistuksen periaate korkealla tasolla. Tärkeitä target siten asennuksessa (johon tämä projekti kohdistuu) ovat: Apachen moduuli Shire: Katsoo, onko sisäänkirjautumislippu sessiossa ja ohjaa WAYF-palveluun, jos sisäänkirjautumista ei olla toteutettu. Shar: Verkkoa kuunteleva demoni, joka pyytää origin siteltä attribuutteja annetun kahvan avulla. Apachen moduuli RM (pääsynvalvoja): Suorittaa pääsynvalvonnan Shar:n luovuttamien attribuuttien perusteella. Attribuutit tulevat näkyviin CGI-otsakkeina. 4

1. HTTP-pyyntö alustaan pääsemisestä WAYF 2. Mistä käyttäjä on kotoisin? A&O SHIRE 5. Tunnistaminen KORKEA- KOULU 4.Ohjaus tunnistukseen 6. Sisäänpääsypyyntö + kahva attribuutteihin 7. Tunnistetietojen kysely kahvan perusteella 8. Tunnistetietojen julkaisu sivustolle S H A R 3. Kerro kotikorkeakoulusi PÄÄSYN- VALVOJA RESURSSI Kuva 2.1: Shibboleth-tunnistuksen toiminnan periaate 5

3 OHJELMAN ASENTAMINEN 3.1 Palvelinympäristö Shibboleth target-site asennetaan projektissa hypermedialaboratorion palvelinkoneelle. Käytettävässä palvelimessa (ao4.ee.tut.fi) on Linux RedHat 9.3-käyttöjärjestelmä. Kääntäjän versio on GCC 3.2.2. Tämän version kanssa on ollut ongelmia, ja kääntäjää saatetaan joutua tarvittaessa vaihtamaan, jos projektiin tarvittavaa ohjelmistoa ei saada asennetuksi nykyisillä kääntäjien versioilla. Käytössä oleva web-palvelin on Apache 2.0.40. Shibboleth 1.1:ssa ei ole tukea tälle apachen versiolle, mutta uudessa 1.2-versiossa tämä pitäisi olla korjattu. Siten Apachea ei luultavasti tarvitse vaihtaa vanhempaan versioon. 3.2 Tarvittavat ohjelmat Shibbolethin target siten pystytykseen vaadittavia ohjelmia ovat: OpenSSL, LibCurl, Log4Cpp, Xerces-C, XMLSecurity, OpenSAML, Libapreq sekä Shibboleth target. Lisäksi palvelinkonessa tarvitaan Modssl, PHP, Expat sekä Sablotron. 3.3 Palvelinvarmenteet Kohdesivustot tarvitsevat allekirjoitetut palvelinvarmenteet, jotta lähdesivustot voivat tunnistaa pyynnön tulevan varmennetusta paikasta. Myös Kohdesivuston on lisättävä lähdesivustojen sertifikaatit omaan luotettujen palvelinten tiedostoonsa (esim. trust.xml). Federaatio vaatii usein kaupalliset palvelinvarmenteet, jotta kohde- ja lähdesivustojen oikeellisuudesta voidaan varmentua. Tämä on tapaus mm. HAKA-federaatiossa, jonka pilottivaiheessa käytetään tosin ei-kaupallisia varmenteita. 6

4 OPPIMISALUSTAN ASETTAMAT VAATIMUKSET 4.1 Käyttäjän tunnistaminen 4.1.1 Yksilölliset tunnukset Koska oppimisalusta tarvitsee profiilitietoja sekä niiden säilyttämistä, on käyttäjätietoja ja tunnuksia säilytettävä tietokannassa. Siten käyttäjille on oltava sisäänkirjautumiseen tarvittava tunnus. Tunnuksen on oltava yksilöllinen, jotta sisäänkirjautuminen voidaan toteuttaa. Shibbolethin funeteduperson-skeeman attribuuteista löytyvä eduperson- PrincipalName on yksilöivä tunniste, joka koostuu käyttäjän domain-nimestä sekä domain-spesifistä osasta (ks. Kpl 5.2). Tämä tunnus on yksilöllinen, joten tunnusta voidaan käyttää oppimisalustassa käyttäjätunnuksena. Autentikointi tapahtuu origin-sitellä, ja tähän tunnistamiseen luotetaan myös target sitellä. Siten salasanaa eikä tunnusta enää kysytä target-sitellä. Käyttäjän tunnistamisen toteuttamiseen Shibbolethin avulla kerrotaan lisää kappaleessa 6.2. 4.1.2 Muut sisäänkirjautumistavat Kirjautumisen on oltava mahdollista myös muille, kuin korkeakouluille (esim. STAKES). Siten tarvitaan myös toisenlaisia sisäänkirjautumistapoja. Sisäänkirjautumistapana voidaan käyttää jo olemassa olevaa tapaa, jossa käyttäjätunnukset luodaan erikseen rekisteröitymiskaavakkeella. Kaikille käyttäjille, joilla Shibboleth-tunnistus on mahdollista, ei tämä kuitenkaan ole suotavaa, koska tällöin samalla käyttäjällä saattaa olla kahdenlaiset tunnukset toinen Shibbolethin ja toinen tavallisen rekisteröitymisen kautta. Alustan käyttäjätunnuksien luomisessa tulee estää, ettei tunnusta, joka voi olla attribuutin edupersonprincipalname-muotoinen voida ikinä luoda muuten kuin Shibboleth-tunnistuksessa. Näin estetään mahdollisten nimikonfliktien esiintyminen. Yksi mahdollisuus olisi kieltää @-merkin käyttö tavallisessa sisäänkirjautumisessa. 7

4.1.3 Henkilötietojen hallinnan vaatimukset Oppimisalusta tarvitsee alustan toimimiseksi sekä henkilötietojen hallinnan toteuttamiseksi Shibboleth-origin siteltä seuraavia käyttäjätietoja: Yksilölinen tunniste (edupersonprincipalname) Käyttäjän etu- ja sukunimi (alusta vaatii yleisesti) (commonname) Tietyissä tapauksissa tarvitaan myös opiskelijanumero (funeteduperson- StudentId) sekä sähköposti (mail). Autentikointia käsitellään tarkemmin kappaleessa 6. 4.1.4 Auktorisoinnin vaatimukset Auktorisointia ei toteuteta tämän projektin puitteissa laajamittaisesti. Jos alustassa halutaan kuitenkin käyttää auktorisointin tarjoamia mahdollisuuksia, on mahdollista toteuttaa Shibboleth-tekniikan avulla useita eri auktorisoinnin tapoja ja asteita. On kuitenkin huomattava, että origin siten on luovutettava target sitelle kyseiset käyttäjätiedot, jotta auktorisointi voidaan toteuttaa. Ongelmia tämä voi aiheuttaa, jos eri origin sitet luovuttavat eri attribuutteja, tai jopa käyttävät eri skeemamäärityksiä. Federaatioon liittyminen siis kannattaa, jotta federaation sisällä voidaan sopia yhteisestä skeemamäärityksistä sekä target siteille luovutettavista attribuuteista. Suomalaiseen käyttötarkoitukseen toteutettu funeteduperson-skeema, joka hyödyntää yhdysvaltalaista eduperson-skeemaa, määrittelee seuraavia attribuutteja, joita voidaan käyttää käyttäjien valtuuttamiseen (CSC 2004. http://www.csc.fi/suomi/funet/middleware/valinen/fep.phtml, luettu 7.6.2004): edupersonaffiliation: Käyttäjän rooli(t) kotikorkeakoulussa. Laillisia arvoja ovat: faculty, student, staff, alum, member, affiliate ja employee. edupersonentitlement: Korkeakoulun antama valtuutus tietyn resurssin käyttöön funetedupersonhomeorganization: Käyttäjän organisaation tunniste funetedupersontargetdegreeuniversity: Korkeakoulun tavoitetutkinto 8

funetedupersoneducationalprogramuniv: Koulutusohjelma funetedupersonmajoruniv: Pääaine/pääaineet korkeakoulussa Lisäksi skeema määrittelee vastaavia attribuutteja ammattikorkeakouluille (esim. funetedupersontargetdegreepolytech). Attribuuttien avulla voidaan toteuttaa esimerkiksi seuraava käyttötapaus: Käyttäjä saapuu käyttämään palvelua, Shibboleth-sisäänkirjautumisen jälkeen attribuuttipyynnin (SHAR) vastaanottaa kaikki attribuutit, joita origin site julkaisee (ja target site suostuu vastaanottamaan). Attribuuteista huomataan, että edupersonaffiliation on staff, ja funetedupersonhomeorganization tut.fi. Alusta antaa käyttäjälle pääsyn ylläpidon toimenpiteisiin. Myös monimutkaisemmatkin käyttötapaukset ovat mahdollisia. Näitä ominaisuuksia ei kuitenkaan tässä dokumentissa käsitellä. 9

5 KÄYTTÄJÄHALLINNON VAATIMUKSET 5.1 Henkilötietolaki 5.1.1 Henkilötietojen käsittely Henkilötieto saadaan luovuttaa Shibbolethin yli, 1. jos vastaanottajan toiminta liittyy korkeakoulun toimintaan (Henkilötietolaki 7 ), 2. jos luovutettava henkilötieto on vastaanottajan kannalta tarpeellinen (9 ), ja 3. (lähtökohtaisesti) jos henkilö on antanut siihen suostumuksen (8 ) Lisäksi henkilötietolain vaatimuksiin kuuluvat mm. yleinen suunnittelu- ja huolellisuusvelvoite, virheettömyysvaatimus sekä informointivelvoite ja tarkastusoikeus. Henkilötietolain mukaisesti siis Shibbolethilla toteutetun target siten vaatimuksiin kuuluvat seuraavat asiat: target siten on liityttävä korkeakoulun toimintaan; tietoja ei saa luovuttaa korkeakoulun ulkopuolisille tahoille; target site ei saa vastaanottaa origin siteltä tietoja, joita se ei tarvitse. Suostumus henkilötietojen luovuttamiseen kysytään origin sitellä, joten target site voi olla varma siitä, että käyttäjä hyväksyy henkilötietojen luovutuksen. Target siten on myös toteutettava henkilörekisteriseloste käsiteltävistä tiedoista helposti käyttäjän saataville. 5.1.2 Attribuuttien hyväksymismenettely Attribuuttien hyväksymismenettelyllä (Attribute Acceptance Policy, AAP) voidaan valita, mitä attribuutteja target site hyväksyy tietyltä originilta. Tämä tapahtuu käytännössä AAP.xml tiedoston konfiguroinnin avulla. Koska target site ei saa ottaa vastaan tietoja, joita se ei tarvitse, on target siten velvollisuus hyväksyä vain ne attribuutit AAP.xml tiedostossaan, joita se tarvitsee palvelun toteuttamiseen. 10

5.2 Yksikäsitteisten tunnusten hallinta 5.2.1 edupersonprincipalname (EPPN) Yksikäsitteisenä tunnisteena käytetään edupersonprincipal-name tunnistetta, joka koostuu domain-nimestä ja domain-spesifisestä osasta @-merkillä erotettuna (esim. virtanen@tut.fi). Target site voi luottaa siihen, että samaan aikaan ei voi olla samaa EPPN-tunnistetta eri käyttäjien käytössä. EPPNtunnisteen käytössä voi olla kuitenkin ongelmia. Näitä ovat: domain-nimen kierrättäminen, domain-nimen vaihtaminen sekä eri tunnisteiden käyttäminen 5.2.2 Tunnusten kierrättäminen Kun tunnus poistuu käytöstä (esim. virtanen@tut.fi), on origin siten huolehdittava siitä, että samaa tunnusta ei oteta käyttöön 18 kk sisällä poistumishetkestä. Tämä tarkoittaa target siten kannalta sitä, että 18 kk jälkeen sama tunnus saattaa olla eri käyttäjällä. Siten target siten on huolehdittava siitä, että 18 kk käyttämättömänä olleet tunnukset poistetaan tai ne vanhentuvat siten, että saman EPPN-tunnisteen käyttö ei tuo esiin edellisen käyttäjän vanhoja käyttäjätietoja vaan luo uuden käyttäjätiedon kyseiselle tunnisteelle. Näiden toimenpiteiden on tarkoitus varmistaa, että kierrätetyn EPPN:n uusi haltija ei voi missään tapauksessa päästä käsiksi EPPN:n edellisen haltijan profiiliin ja työtiedostoihin missään palvelimessa. 5.2.3 Tunnuksen vaihtaminen Henkilön EPPN-attribuutti saa vaihtua vain painavista syistä (esim. avioero), mutta se on mahdollista. Tällöin, jos käyttäjä haluaa profiilitietonsa säilyvän, voi käyttäjä pyytää kotikorkeakouluaan ilmoittamaan target sitelle EPPN-tunnuksen vaihtamumisesta, jolloin tiedot ovat saatavilla uudella EPPN-tunnuksella. 11

5.2.4 Eri tunnisteiden käyttäminen Target siten on varauduttava siihen, että samalla käyttäjällä saattaa olla useampia EPPN-tunnisteita. Esimerkiksi tapauksessa, jossa henkilö opiskelee kahdessa eri korkeakoulussa, tämä on mahdollista. Target siten on huomioitava asian vaikutukset. 5.3 Lokitietojen säilyttäminen Korkeakoulun ja palveluntarjoajan (target site) on kerättävä lokia, joiden avulla pystytään yksilöimään palvelun käyttäjä, vaikka palveluntarjoaja ei normaalisti saisikaan käyttäjää yksilöivää tietoa. Target siten on kerättävä lokia, joka sisältää ainakin Shibboleth-kahvan. Lokia on säilytettävä lain määräämä aika. 12

6 TIETOSISÄLLÖN MÄÄRITTELY 6.1 Tietokanta Alustassa olevia käyttäjähallintaan liittyviä tauluja ovat: TAULUN NIMI hble_user hble_user_alias hble_user_authentication hble_user_settings hble_member hble_set hble_role hble_hierarchy_node hble_right KÄYTTÖTARKOITUS Käyttäjät sisältävä taulu. Käyttäjien aliakset (nimi) sisältävä taulu. Käyttäjien autentikointiin liittyvät tiedot Käyttäjien asetukset sisältävä taulu. Jäsenet, ilmoittaa mihin ryhmään käyttäjä kuuluu ja missä roolissa käyttäjä on kyseisessä ryhmässä. Eri käyttäjäryhmiä sisältävä taulu. Roolit, jotka kuuluvat tiettyyn ryhmään. Ryhmään liittyvät erikoistiedot. Oikeus resurssiin. Voi liittyä ryhmään, rooliin ja käyttäjään. Kuva 6.1 esittää oppimisalustan käyttäjätietoihin liittyviä tauluja sekä niiden keskinäisiä suhteita. Taulussa yksittäiseen käyttäjään liittyy aina tietoa autentikoinnista, kuten käyttäjätunnus ja salasana. Käyttäjään liittyy tietoa myös asetuksista. Käyttäjä on aina jäsenenä yhdessä tai useammassa joukossa. Lisäksi näissä joukoissa käyttäjä on tietyssä roolissa. Nämä sidotaan yhteen member-luokan avulla. Lisäksi oikeuksia voidaan jakaa liittyen yksittäisiin käyttäjiin, rooleihin ja joukkoihin. Jokainen joukko kuuluu yksittäiseen suurempaan osajoukkoon (hble_hierarchy_node), joka voi olla esimerkiksi yksittäinen kurssi. 13

hble_right hble_user_ authentication 1..* 1 hble_user 1 1..* hble_member 1 1 0..* 0..* hble_user_alias 1..* hble_user_ settings 1 1 1 hble_set 1 2..* hble_role 1 1 hble_ hierarchy_ node Kuva 6.1: Kaavio oppimisalustan tietokannan käyttäjätietotauluista 6.2 Shibbolethin sovittaminen alustaan 6.2.1 Autentikoinnin ja auktorisoinnin taso Pääasiallisesti tässä projektissa keskitytään käyttäjän autentikoinnin mahdollistamiseen Shibbolethin avulla. Auktorisoinnin kaikkia mahdollisuuksia ei pyritä toteuttamaan, joskin eri vaihtoehtoja tutkitaan. Käyttäjätietojen hallintaa siis pyritään automatisoimaan Shibbolethin avulla ainoastaan kuvan 6.1 vasemmanpuoleisiin tauluihin. Käyttäjän tietoja pidetään yllä Shibbolethin avulla, mutta siihen, missä rooleissa käyttäjä on ei oteta kantaa. Auktorisointia pyritään toteuttamaan tasolla, jossa esimerkiksi tietyn organisaation käyttäjille annetaan oikeus käyttää resurssia. Esimerkki toteutettavasta auktorisoinnin tasosta on vaikkapa tapaus, jossa federaatiossa olevan korkeakoulun opiskelija pyrkii käyttämään alustaa, mutta käyttäjältä kielletään oikeus, koska target siten resurssimanageri ei ole asetettu hyväksymään sisäänkirjautumista kyseisestä organisaatiosta. 14

6.2.2 Käyttäjätietojen tallentaminen Kun käyttäjä hyväksytään sisäänkirjautuvaksi Shibbolethin avulla, tutkitaan vastaanotettuja attribuutteja. Tärkein tieto tässä vaiheessa on attribuutti edupersonprincipalname, joka sisältää käyttäjän yksikäsitteisen tunnisteen. EduPersonPrincipalName-attribuutti koostuu käyttäjän domain-tunnisteesta sekä domain-spesifisestä osasta (ks. kpl 5.2). Tunnusta ei saa sekottaa sähköpostiosoitteeseen, vaikka joissain tapauksissa tämä analogia toimiikin. On parempi, jos tämä tunnus ei ikinä näy käyttäjälle. Tämä tunnus toimii käyttäjän account-tunnuksena (taulussa hble_user_authentication). Tunnus sijoitetaan siis samaan paikkaan kuin tavallisessa rekisteröitymisessä asetettava käyttäjätunnus. Käyttäjätunnus on yksilöllinen, ja sattumalta saman nimen sijoittaminen estetään kieltämällä @- merkki rekisteröitymiskirjautumisessa. Tauluun asetetaan lisäksi sarake auth_type, joka sisältää käyttäjän sisäänkirjautumistavan. Shibbolethkirjautumisen yhteydessä saatavaa käyttäjätunnusta EI voida käyttää tavallisessa sisäänkirjautumisessa, vaan Shibboleth-tunnusta voi käyttää ainoastaan, kun sisäänkirjautumistapana on Shibboleth. Käyttäjän sisäänkirjautuessa Shibbolethin avulla luetaan myös muita tärkeitä attribuutteja. Tätä kirjoittaessa on vielä epäselvää, mitä attribuutteja origin site on valmis julkaisemaan, mutta ainakin seuraavia tietoja voitaisiin tallentaa: sähköposti, etunimi, sukunimi, organisaatio, koulutusohjelma, opiskelijanumero ja käyttäjän kotimaa/kieli. 6.2.3 Käyttäjätietojen päivittäminen Käyttäjän sisäänkirjautuessa Shibbolethin avulla siten, että tunnus on jo aikaisemmin olemassa, luetaan kaikki saatavat/tarvittavat attribuutit ja verrataan niitä edellisiin tietoihin. Jos tiedot ovat vaihtuneet luodaan uusi user_alias-taulun tietue, jossa on päivitetyt tiedot, ja linkitetään se käyttäjään. 6.2.4 Käyttäjän roolit ja oikeudet Shibbolethin avulla ei vielä tässä vaiheessa toteuteta käyttäjien roolien hallintaa. Roolit asetetaan siis ylläpitäjän toimesta käsin. Jos origin siteltä saadaan 15

esimerkiksi tietoja siitä, mille kursseille opiskelija on ilmoittautunut tai millä kursseilla opettaja on vastuuhenkilönä, voitaisiin jatkossa asettaa rooleja suoraan kurssinumeroiden perusteella. Tätä ei siis toteuteta vielä tämän projektin yhteydessä. 6.2.5 Käyttäjätietojen sulkeminen Oppimisalustassa käyttäjien tietoja ei poisteta. Tämä aiheuttaa kuitenkin ongelman yksikäsitteisten tunnusten osalta, sillä kaikki yli 18 kuukautta poistuneena olleet yksikäsitteiset tunnukset (edupersonprincipalname) voidaan ottaa uudestaan käyttöön. Jos tällöin oppimisalustassa on sama yksikäsitteinen tunnus, jota ei ole poistettu, saattaa uusi käyttäjä päästä toisen henkilön yksityisiin tietoihin käsiksi. Siksi ongelma pitää ratkaista muuttamalla jollakin tavalla vanhentuneiden käyttäjien account-tunnusta. 16

7 KÄYTTÄJÄNHALLINNAN TOTEUTTAMINEN 7.1 Sisäänkirjautuminen 7.1.1 Etusivu Oppimisalustan etusivulla näytetään sisäänkirjaankirjautumiseen liittyvät tiedot. Koska sisäänkirjautumiseen tarvitaan myös toinen tapa (ks. kpl. 4.1.2), on etusivulla oltava mahdollisuus kahteen eri sisäänkirjautumistapaan. Eri tapojen eroavaisuudet on tehtävä selkeiksi, ja olisi parempi, jos esim. termiä Shibbolethkirjautuminen ei käytettäisi, vaan selkeyden vuoksi korvattaisiin se vaikkapa termillä Kirjautuminen korkeakoulun tunnuksilla. Jos käyttäjä haluaa kirjautua korkeakoulun tunnuksilla, on käyttäjän painettava kyseistä linkkiä, joka ohjaa käyttäjän Shibboleth-login -sivulle 7.1.2 Shibboleth-login sivu Shibboleth-login sivu ei näy käyttäjälle, vaan sen tarkoituksena on toimia proxyna käyttäjän sisäänkirjautumiselle Shibbolethin välityksellä. Käytännössä sivu on shibbolethin avulla suojattu käyttäjäntunnistus- ja attribuuttientallennussivu. Koska sivu on suojattu Shibbolethin avulla, se ohjaa käyttäjän WAYF-palveluun, jos käyttäjää ei ole vielä tunnistettu. Tämä tapahtuu apachen konfiguraatioista asettaamalla Location-direktiiviin AuthType shibboleth. Apachen location-direktiivin sisään voidaan asetettaa myös vaatimuksia ja rajoitteita sisäänpääsylle. Samaa (ja monipuolisempaa) pääsynvalvontaa voidaan toteuttaa myös palvelun sisällä ennen sisäänkirjautumista. 7.1.3 WAYF ja Origin site WAYF, eli Where Are You From?, palvelun tehtävänä on antaa käyttäjän valita, minkä kotikorkeakoulun sisäänkirjautumista käytetään. Luonnollisesti käyttäjä valitsee oman kotikorkeakoulunsa, jonne käyttäjä tämän jälkeen ohjataan. Käyttäjä sisäänkirjautuu origin sitellä, joka lähettää kahvan target 17

sitelle. Target site käyttää kahvaa attribuuttien kyselemiseen, joiden perusteella tehdään päätös jatkotoimenpiteistä. 7.1.4 Käyttäjän tunnistaminen ja attribuuttien tallennus Käytännössä sisäänkirjautumishetkellä on kolme eri vaihtoehtoa. Seuraava tilakaavio esittää sivuston toimintaa sisäänkirjautumisvaiheissa, kun muuttujina ovat tiedot siitä, onko käyttäjä tunnettu (aikaisemmin sisäänkirjautunut) tai jo valmiiksi sisällä. KÄYTTÄJÄ SISÄLLÄ ei ei - rekisteröidy - aktivoi istunto - siirry sivulle KÄYTTÄJÄ TUNNETTU kyllä - aktivoi istunto - päivitä tiedot - siirry sivulle kyllä (mahdoton) - siirry sivulle Jos käyttäjä ei ole tunnettu ja ei ole vielä sisällä, ohjataan käyttäjä erilliselle rekisteröitymissivulle, jossa kysytään tietoja, joita ei saada origin siteltä (ks. Kpl 7.1.5, alustakohtaisen informaation kysely). Kun tämä rekisteröityminen on tehty, aktivoidaan istunto, eli kirjataan käyttäjä sisään oppimisalustaan. Jos käyttäjä on jo aikaisemmin tunnettu, aktivoidaan istunto, päivitetään attribuuteista saadut muuttuneet tiedot tietokantaan ja siirrytään sivulle. Jos käyttäjä on jo sisäänkirjautunut, ohjataan käyttäjä suoraan sivulle tekemättä muita toimenpiteitä. Shibbolethin käyttämä eväste poistetaan heti kun attribuutit ovat näkyviä ja saatu tallennettua. Jos käyttäjä ei ole rekisteröitynyt, talletetaan HTTP-otsakkeina näkyvät attribuutit istuntoon ja ohjataan käyttäjä rekisteröitymispalveluun. Rekisteröitymispalvelu ei ole shibbolethin avulla suojattu, joten evästeen poistaminen ei vaikuta rekisteröitymispalvelun toimintaan. 7.1.5 Alustakohtaisen informaation kysely Alustakohtaista informaatiota ovat tiedot, joita ei saada origin siteltä. Tällainen tieto voisi vaikkapa olla lempinimi, jolla käyttäjä tunnetaan oppimisalustalla. 18

Koko sisäänkirjautumistapahtumaa kuvaa alla oleva kaavio 7.1: TARGET SITE ORIGIN SITE ETUSIVU kirjaudu ISTUNNON ALOITUS REKISTERÖITYMINEN Käyttäjä olemassa, tiedot päivitetään Shibboleth-istunto poistetaan Uusi käyttäjä SHIBLOGIN Suojattu shibbolethilla. Sisältää kirjautumispalveun. KIRJAUTUMIS PALVELU Tarkastaa, voidaanko käyttäjä ottaa sisään, onko käyttäjällä jo tiliä ja käyttäjä jo sisällä. TUNNISTUS Kuva 7.1 Sisäänkirjaantuminen ohjelman tasolla 7.2 Uloskirjautuminen Uloskirjautuminen toteutetaan samalla tavalla, kuin alustassa on jo toteutettu. Alusta kirjaa käyttäjän uloskirjautuneeksi, eikä istuntotunnistetta enää voida käyttää. Alusta ei ota kantaa siihen, miten käyttäjä kirjautuu ulos korkeakoulun järjestelmästä, johon käyttäjä on sisäänkirjautunut. Shibboleth-eväste on poistettu jo sisäänkirjautumisvaiheessa. 19