Vetuma-palvelu

Suomalaisen
julkishallinnon
Vetuma-palvelu
SAML-kutsurajapinnan käyttötapaukset
Versio: 3.4
Vetuma
Verkkotunnistus ja -maksaminen
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015
Sisällysluettelo
1.
Johdanto ........................................................................................................................ 3
2.
Käyttäjän tunnistaminen Vetumalla SAML-rajapinnan kautta .................................... 4
2.1 Käyttötapauksen kuvaus ........................................................................................ 4
2.1.1
2.1.2
2.1.3
2.1.4
2.1.5
2.1.6
2.1.7
2.2
3.
Toiminta teknisestä näkökulmasta.......................................................................... 5
Kertakirjautuminen Vetuman avulla SAML-rajapinnan kautta ................................... 8
3.1 Käyttötapauksen kuvaus ........................................................................................ 8
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
3.1.7
3.2
4.
Yhteenveto................................................................................................................................. 8
Toimijat ...................................................................................................................................... 8
Lähtötilanne ............................................................................................................................... 8
Lopputulos ................................................................................................................................. 8
Tyypillinen tapahtumien kulku .................................................................................................... 8
Valinnaiset tapahtumien kulut .................................................................................................... 9
Poikkeustilanteet........................................................................................................................ 9
Toiminta teknisestä näkökulmasta.......................................................................... 9
Uloskirjautuminen Vetuma-kertakirjautumisistunnosta ........................................... 11
4.1 Käyttötapauksen kuvaus ...................................................................................... 11
4.1.1
4.1.2
4.1.3
4.1.4
4.1.5
4.1.6
4.1.7
4.2
5.
Yhteenveto................................................................................................................................. 4
Toimijat ...................................................................................................................................... 4
Lähtötilanne ............................................................................................................................... 4
Lopputulos ................................................................................................................................. 4
Tyypillinen tapahtumien kulku .................................................................................................... 4
Valinnaiset tapahtumien kulut .................................................................................................... 5
Poikkeustilanteet........................................................................................................................ 5
Yhteenveto............................................................................................................................... 11
Toimijat .................................................................................................................................... 11
Lähtötilanne ............................................................................................................................. 11
Lopputulos ............................................................................................................................... 11
Tyypillinen tapahtumien kulku .................................................................................................. 11
Valinnaiset tapahtumien kulut .................................................................................................. 12
Poikkeustilanteet...................................................................................................................... 12
Toiminta teknisestä näkökulmasta........................................................................ 12
Tunnistuslähteen hakeminen Vetuman SAML-rajapinnan kautta ............................ 14
5.1 Käyttötapauksen kuvaus ...................................................................................... 14
5.1.1
5.1.2
5.1.3
5.1.4
5.1.5
5.1.6
5.1.7
5.2
Yhteenveto............................................................................................................................... 14
Toimijat .................................................................................................................................... 15
Lähtötilanne ............................................................................................................................. 15
Lopputulos ............................................................................................................................... 15
Tyypillinen tapahtumien kulku .................................................................................................. 15
Valinnaiset tapahtumien kulut .................................................................................................. 15
Poikkeustilanteet...................................................................................................................... 16
Toiminta teknisestä näkökulmasta........................................................................ 16
 Copyright Fujitsu Finland Oy
2 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015
1. JOHDANTO
Vetuma-palvelu on kansalaisten verkkotunnistus- ja maksamispalvelu joka on tarkoitettu
julkishallinnon organisaatioiden asiointisovelluksien käyttöön. Fujitsu Finland Oy tuottaa
palveluntuottajan ominaisuudessa Vetuma-palvelun valtion ja kuntien eri organisaatioiden
käyttöön.
Vetuma-palvelun sovellusohjelmille tarjoama toiminnallisuus on kuvattu erillisessä
dokumentissa ”Suomalaisen julkishallinnon Vetuma-palvelu, sovelluksille tarjotun
toiminnallisuuden kuvaus”. Vetuma-palvelukokonaisuus sisältää sovelluksille tarjotun
toiminnallisuuden lisäksi mm. laskutukseen ja raportointiin liittyviä toimintoja. Edellä
mainitussa toiminnallisuuden kuvausdokumentissa on kuitenkin kuvattu ainoastaan sovelluksille
tarjottu toiminnallisuus.
Sovellukset voivat käyttää Vetuma-palvelun niille tarjoamaa toiminnallisuutta Vetuman oman
kutsurajapinnan kautta, joka on määritelty dokumentissa ”Suomalaisen julkishallinnon Vetumapalvelu Kutsurajapinnan määrittely”. Lisäksi sovellukset voivat käyttää Vetuma-palvelun
tunnistustoimintoja sekä SAML-kertakirjautumista ja kertauloskirjautumista Vetuman SAMLkutsurajapinnan kautta. Sen käyttö on kuvattu dokumentissa: Vetuma-palvelun SAMLkutsurajapinnan määrittely.
Tämä dokumentti kuvaa seuraavat Vetuma-palvelun SAML-kutsurajapinnan käyttötapaukset:

Käyttäjän tunnistaminen Vetumalla SAML-rajapinnan kautta

Kertakirjautuminen Vetumaan SAML-rajapinnan kautta liittyneiden verkkopalveluiden
kesken

Uloskirjautuminen Vetuma-kertakirjautumisistunnosta

Tunnistuslähteen hakeminen
Vetuman versiossa 3.4 toteutettavaan SAML-toiminnallisuuteen ei sisälly kertakirjautumista
sellaisten verkkopalveluiden kanssa jotka käyttävät muita Identity Providereita (esimerkiksi
tunnistus.fi tai Haka-luottamusverkon Identity Providerit) käyttäjien tunnistamiseen.
Kertakirjautuminen sellaisten verkkopalveluiden kesken jotka käyttävät joko Vetuman tai
tunnistus.fi:n SAML-rajapintaa tunnistamiseen tullaan tukemaan myöhemmässä Vetuman
versiossa.
Käyttötapausten tekniset kuvaukset perustuvat siihen, että Vetuma tukee SAML:in
HTTP POST-sidosta (binding) kutsujen ja vastausten välittämisessä. SAML:in HTTP Redirectsidos (binding) on tuettu tunnistuskutsujen ja uloskirjauksen välittämisessä.
Versiossa 3.3 on palveluun lisätty SAML tunnistuslähdekysely. Versiossa 3.4. on lisätty tuki
HTTP Redirect-sidokselle ja päivitetty tuki pankkien nykyisille rajapinnoille. Version myötä
siirrytään tukemaan julkishallinnon SAML-profiilia. Tunnistusvastauksissa käytetään jatkossa
XML-allekirjoituksissa algoritmia RSAwithSHA256 ja määrityksen mukaista arvoa vahvan
tunnistuksen menetelmille.
 Copyright Fujitsu Finland Oy
3 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015
2. KÄYTTÄJÄN TUNNISTAMINEN VETUMALLA SAML-RAJAPINNAN KAUTTA
2.1 Käyttötapauksen kuvaus
2.1.1 Yhteenveto
Tässä käyttötapauksessa Vetuma-asiakkaan (Ankkalinnan kaupunki) verkkopalvelu
(Ankkalinnan päivähoidon verkkopalvelu) tunnistaa käyttäjänsä Vetuman tarjoamalla SAMLstandardin mukaisella tunnistuksella joka mahdollistaa myös kertakirjautumisen muiden
Vetuman SAML-tunnistusta käyttävien verkkopalveluiden kesken.
2.1.2 Toimijat
Käyttäjä (Ankkalinnan päivähoidon verkkopalvelua käyttävä henkilö).
«System» Vetuma (SAML-roolissa Identity Provider)
«System» Ankkalinnan päivähoidon verkkopalvelu (SAML-roolissa Service Provider).
2.1.3 Lähtötilanne
Ankkalinnan kaupunki on Vetuma-asiakas. Ankkalinnan päivähoidon verkkopalvelu on liitetty
Vetuman SAML-luottamusrenkaaseen ja se käyttää Vetuma-tunnistusta SAML-rajapinnan
kautta.
Käyttäjä on muuttamassa Ankkalinnaan. Hän aikoo käyttää Ankkalinnan päivähoidon
verkkopalvelua hakeakseen lapselleen päivähoitopaikkaa. Hoitopaikan hakeminen vaatii
kirjautumista kyseiseen verkkopalveluun, joka puolestaan vaatii tunnistuksen.
2.1.4 Lopputulos
Käyttäjä on tunnistettu ja kirjautunut Ankkalinnan kaupungin päivähoidon verkkopalveluun, ja
hänellä on kertakirjautumisistunto Vetumassa.
2.1.5 Tyypillinen tapahtumien kulku
1. Käyttäjä ottaa selaimellaan yhteyden Ankkalinnan päivähoidon verkkopalveluun ja pyytää
päivähoitopaikan varaamista. Varaaminen on toiminto joka edellyttää kirjautumista ja sen
myötä tunnistamista.
2. Verkkopalvelu toteaa tarpeen tunnistaa käyttäjä, ja lähettää tunnistuspyynnön Vetumalle.
3. Vetuma tarjoaa käyttäjän valittavaksi SAML-rajapinnan yhteydessä tuetut
tunnistusmenetelmät (Tupas, kansalaisvarmennetunnistus ja mobiilivarmennetunnistus) ja
tunnistaa käyttäjän hänen valitsemallaan tavalla.
o
Mikäli käyttäjä tunnistautuu kansalaisvarmenteeseen perustuvalla menetelmällä,
haetaan aina VTJstä käyttäjän HETU.
o
Tämä vaatii, että kaikilla Vetuman SAML-asiakkailla on HETUn hakusopimus
VRKn kanssa.
o
Vetuman SAML-asiakkailla on myös mahdollista käyttää laajennettua VTJ-kyselyä,
mikäli VRK:n kanssa on näin sovittu.
4. Vetuma luo käyttäjälle kertakirjautumisistunnon ja tallettaa siihen tunnistuksesta saamansa
tiedot, sekä rakentaa niistä tunnistusvastauksen, jonka lähettää Ankkalinnan päivähoidon
verkkopalvelulle. Laajennetun VTJ-kyselyn tulos on käytettävissä ainoastaan tässä
käyttötapauksessa kun käyttäjä tunnistautuu. Tieto Vetuma-tunnistuksen käyttämisestä
 Copyright Fujitsu Finland Oy
4 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015
tunnistuslähteenä tallennetaan myös istunnon ajaksi käyttäjän selaimeen hyödyntäen
osoitetta, joka kuuluu valittuun domainiin.
5. Ankkalinnan päivähoidon verkkopalvelu toteaa tunnistuksen onnistuneeksi, poimii
vastauksesta käyttäjän henkilöllisyyden ja muut tarvitsemansa tiedot, ja luo käyttäjälle
oman verkkopalveluistuntonsa.
2.1.6 Valinnaiset tapahtumien kulut

Käyttäjä peruu tunnistuksen Tällöin Vetuma palauttaa vastauksen jossa tämä kerrotaan.

Tunnistus epäonnistuu Tällöin Vetuma palauttaa vastauksen jossa tämä kerrotaan.
2.1.7 Poikkeustilanteet

Verkkopalvelun lähettämä tunnistuskutsu on jossain suhteessa virheellinen. Tällöin
Vetuma palauttaa vastauksen jossa tämä todetaan, mikäli Vetuma pystyy todentamaan
kutsun lähettäneen verkkopalvelun.

Kutsut asiointisovelluksilta Vetumalle ja vastaukset Vetumalta asiointisovelluksille
välitetään käyttäjän työaseman kautta. Myös kutsut Vetumalta pankkien
verkkopalveluihin sekä vastaukset niiltä Vetumalle välitetään käyttäjän työaseman
kautta. Kutsujen ja vastausten välittäminen selaimen kautta saattaa epäonnistua,
esimerkiksi jos käyttäjä sulkee selaimen, työasema ”kaatuu”, tai yhteys lähettävästä tai
vastaanottavasta palvelimesta työasemaan katkeaa. Tällöin kutsu- tai vastausviestin
aiottu saaja ei saa viestiä, mutta myöskään viestin lähettäjä ei saa tietoa välityksen
epäonnistumisesta.
2.2 Toiminta teknisestä näkökulmasta
Tässä käyttötapauksessa Vetuma-palvelu toimii identiteetintarjoajana (SAML-standardin
käsitemaailmassa Identity Provider), ja Ankkalinnan päivähoidon verkkopalvelu toimii
palveluntarjoajana (SAML-standardin käsitemaailmassa Service Provider).
Teknisesti tunnistus toimii seuraavasti:
1. Käyttäjän pyytäessä Ankkalinnan päivähoidon verkkopalvelulta päivähoitopaikan
varaamista, hänen selaimestaan lähtee verkkopalvelulle HTTP-kutsu jonka verkkopalvelu
tulkitsee ja toteaa tarpeen tunnistaa käyttäjä.
2. Verkkopalvelu lähettää SAML-tunnistuspyynnön käyttäjän selaimen kautta Vetumalle.
Tarkemmin sanoen verkkopalvelu:
o
Rakentaa SAML-standardin mukaisen tunnistuspyynnön (<AuthnRequest>)
jossa pyytää Vetuman tekemään tunnistuksen.
o
Lähettää pyynnön Vetumalle käyttäen SAML-standardissa määriteltyä Redirectsidosta (HTTP Redirect binding) tai POST-sidosta (HTTP POST binding).
3. Vetuma vastaanottaa tunnistuspyynnön HTTP Redirect-kutsuna tai HTTP POST-kutsuna.
Koska kutsussa ei ole Vetuman käyttäjälle tekemää tunnistusevästettä, Vetuma toteaa että
käyttäjä pitää tunnistaa. Vetuma tulkitsee kutsussa annetut määräykset tunnistuksen
suorittamiselle, sekä käy käyttäjän kanssa tunnistuskeskustelun käyttäjän selaimen
välityksellä. Tunnistuksen eri vaiheita ei ole tarkemmin purettu auki kuvassa 1.
o
Mikäli käyttäjä valitsee Tupas-tunnistuksen, Vetuma ohjaa käyttäjän
tunnistautumaan hänen valitsemansa pankin verkkopalveluun.
o
Mikäli käyttäjä tunnistautui kansalaisvarmenteeseen perustuvalla menetelmällä,
Vetuma hakee käyttäjän HETUn VTJ-palvelusta.
 Copyright Fujitsu Finland Oy
5 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015
4. Vetuma luo käyttäjälle Vetuma-kertakirjautumisistunnon ja tallettaa siihen käyttäjän
tunnistuksesta saadut tiedot (henkilöllisyyden, muut käyttäjää kuvaavat tiedot, sekä tiedot
tunnistustapahtumasta). Vetuma merkitsee myös Ankkalinnan päivähoidon verkkopalvelun
kyseiseen istuntoon osallistuvaksi palveluksi. Lisäksi Vetuma luo tunnistusevästeen jonka
avulla se voi myöhemmin todeta tunnistuksen tehdyksi (kun muut verkkopalvelut pyytävät
saman käyttäjän tunnistamista). Tieto Vetuma-tunnistuksen käyttämisestä tunnistuslähteenä
tallennetaan istunnon ajaksi käyttäjän selaimeen luomalla tunnistuslähde-evästeen, joka
asetetaan selaimeen hyödyntäen valittuun domainiin kuuluvaa osoitetta. Evästeitä ei ole
esitetty kuvassa 1.
5. Vetuma rakentaa ja lähettää SAML-tunnistusvastauksen käyttäjän selaimen kautta
verkkopalvelulle. Tarkemmin sanoen Vetuma:
o
Rakentaa SAML-standardin mukaisen vastauksen (<Response>) ja laittaa siihen
käyttäjän tunnistuksesta saamistaan tiedoista muodostamansa selosteet
(<Assertion>-elementit).
o
Lähettää vastauksen Ankkalinnan päivähoidon verkkopalvelulle käyttäen SAMLstandardissa määriteltyä POST-sidosta (HTTP POST binding). Vetuman
tunistuseväste päätyy selaimelle tunnistusvastauksen kulkiessa selaimen kautta
6. Ankkalinnan päivähoidon verkkopalvelu toteaa saamastaan SAML-tunnistusvastauksesta
tunnistuksen onnistuneeksi, poimii vastauksesta käyttäjän henkilöllisyyden, ja luo
käyttäjälle oman verkkopalveluistuntonsa. Tapaa jolla verkkopalvelu ilmaisee istunnon
olemassaolon (esimerkiksi eväste) ei ole esitetty kuvassa 1.
7. Ankkalinnan päivähoidon verkkopalvelu palauttaa käyttäjän selaimelle HTTP-vastauksena
sivun, jolta käyttäjä voi jatkaa verkkopalvelun käyttöä kirjautuneena.
 Copyright Fujitsu Finland Oy
6 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
Käyttäjän
selain
Ankkalinnan
päivähoidon
verkkopalvelu
14.1.2015
VETUMA
1. Kutsu jolla pyydetään
päivähoitopaikan
varaamista
2. SAML
tunnistuskutsu
3. Tunnistuskeskustelu
4. Luo
Kertakirjautumisistunto
5. SAML
tunnistusvastaus
6. Luo
7. Vastaus kutsuun
jolla pyydettiin
päivähoitopaikan
varaamista
Verkkopalveluistunto
Käyttö jatkuu
tunnistettuna
Kuva 1: Kirjautuminen Vetuman SAML-rajapinnan kautta
 Copyright Fujitsu Finland Oy
7 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015
3. KERTAKIRJAUTUMINEN VETUMAN AVULLA SAML-RAJAPINNAN KAUTTA
3.1 Käyttötapauksen kuvaus
3.1.1 Yhteenveto
Tässä käyttötapauksessa käyttäjä on tunnistettu Vetuman SAML-rajapinnan kautta tiettyyn
verkkopalveluun (Ankkalinnan päivähoidon verkkopalvelu). Siellä asioituaan käyttäjä siirtyy
toiseen Vetuman SAML-tunnistusta käyttävään verkkopalveluun (Hanhivaaran ulkoiluviraston
verkkopalvelu) ja pyytää toimintoa joka vaatii tunnistusta. Jälkimmäinen verkkopalvelu pyytää
Vetumalta tunnistusta, mutta koska Vetuma voi todeta käyttäjän jo tunnistetuksi, se saa tiedot
käyttäjästä ja tunnistustapahtumasta käyttäjän Vetuma-kertakirjautumisistunnosta ja palauttaa
ne jälkimmäiselle verkkopalvelulle. Käyttäjää ei siis vaivata tunnistautumaan uudelleen.
3.1.2 Toimijat
Käyttäjä (Ankkalinnan ja Hanhivaaran verkkopalveluita käyttävä henkilö).
«System» Vetuma (SAML-roolissa Identity Provider)
«System» Ankkalinnan päivähoidon verkkopalvelu (SAML-roolissa Service Provider).
«System» Hanhivaaran ulkoiluviraston verkkopalvelu (SAML-roolissa Service Provider).
3.1.3 Lähtötilanne
Sekä Ankkalinnan kaupunki että Hanhivaaran kaupunki ovat Vetuma-asiakkaita. Sekä
Ankkalinnan päivähoidon verkkopalvelu että Hanhivaaran ulkoiluviraston verkkopalvelu on
liitetty Vetuman SAML-luottamusrenkaaseen ja ne käyttävät Vetuma-tunnistusta SAMLrajapinnan kautta.
Käyttäjä on muuttamassa Ankkalinnaan. Hän on kirjautunut Ankkalinnan päivähoidon
verkkopalveluun ja hakenut lapselleen päivähoitopaikkaa. Sen jälkeen hän aikoo käyttää
naapurikaupungin Hanhivaaran ulkoiluviraston verkkopalvelua hakeakseen itselleen
venepaikkaa. Venepaikan hakeminen vaatii kirjautumista palveluun, joka puolestaan vaatii
tunnistuksen.
3.1.4 Lopputulos
Käyttäjä on kirjautunut tunnistettuna Hanhivaaran ulkoiluviraston verkkopalveluun, ja tieto
tästä on käyttäjän Vetuma-kertakirjautumisistunnossa
3.1.5 Tyypillinen tapahtumien kulku
1. Käyttäjä siirtyy selaimellaan Hanhivaaran ulkoiluviraston verkkopalveluun ja pyytää
venepaikan varaamista (toiminto joka edellyttää kirjautumista).
2. Verkkopalvelu toteaa tarpeen tunnistaa käyttäjä, ja lähettää tunnistuspyynnön Vetumalle.
3. Vetuma toteaa, että käyttäjä on jo tunnistettu, ja hänen henkilöllisyytensä, muut
tunnistuksesta saadut tietonsa ja tiedot tunnistustapahtumasta ovat jo käytettävissä.
4. Vetuma rakentaa aiemmin tehdystä tunnistuksesta saamistaan tiedoista SAMLtunnistusvastauksen, jonka lähettää Hanhivaaran ulkoiluviraston verkkopalvelulle.
5. Hanhivaaran ulkoiluviraston verkkopalvelu toteaa tunnistuksen onnistuneeksi, poimii
vastauksesta käyttäjän henkilöllisyyden ja muut tarvitsemansa tiedot, ja luo käyttäjälle
oman istuntonsa.
 Copyright Fujitsu Finland Oy
8 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015
3.1.6 Valinnaiset tapahtumien kulut
3.1.7 Poikkeustilanteet

Verkkopalvelun lähettämä tunnistuskutsu on jossain suhteessa virheellinen. Tällöin
Vetuma palauttaa vastauksen jossa todetaan tämä.

Kutsun tai vastauksen välittäminen selaimen kautta epäonnistuu (katso käyttötapaus
”Käyttäjän tunnistaminen Vetumalla SAML-rajapinnan kautta”).
3.2 Toiminta teknisestä näkökulmasta
Tässä käyttötapauksessa Vetuma-palvelu toimii identiteetintarjoajana (SAML-standardin
käsitemaailmassa Identity Provider), ja Hanhivaaran ulkoiluviraston verkkopalvelu toimii
palveluntarjoajana (SAML-standardin käsitemaailmassa Service Provider).
Teknisesti tunnistus toimii seuraavasti:
1. Käyttäjän pyytäessä Hanhivaaran ulkoiluviraston verkkopalvelulta venepaikan varaamista
(toimintoa joka edellyttää kirjautumista), hänen selaimestaan lähtee verkkopalvelulle
HTTP-kutsu jonka verkkopalvelu tulkitsee ja toteaa tarpeen tunnistaa käyttäjä.
2. Verkkopalvelu lähettää SAML-tunnistuspyynnön käyttäjän selaimen kautta Vetumalle.
Tarkemmin sanoen verkkopalvelu:
o
Rakentaa SAML-standardin mukaisen tunnistuspyynnön (<AuthnRequest>)
jossa pyytää Vetuman tekemään tunnistuksen.
o
Lähettää pyynnön Vetumalle käyttäen SAML-standardissa määriteltyä Redirectsidosta (HTTP Redirect binding) tai POST-sidosta (HTTP POST binding), mukaan
lukien kutsun ja vastauksen korrelointiin käytettävän RelayState-tiedon välittämisen
kyseiselle sidokselle määrätyllä tavalla).
3. Vetuma vastaanottaa tunnistuspyynnön HTTP Redirect tai HTTP POST-kutsuna. Koska
selain on liittänyt kutsuun Vetuman käyttäjälle tekemän tunnistusevästeen, Vetuma toteaa
käyttäjän jo tunnistetuksi ja ottaa käyttäjää ja tunnistustapahtumaa koskevat tiedot hänen
Vetuma-kertakirjautumisistunnostaan. Vetuma lisää myös Hanhivaaran ulkoiluviraston
verkkopalvelun käyttäjän Vetuma-kertakirjautumisistuntoon istuntoon osallistuvaksi
palveluksi.
4. Vetuma rakentaa ja lähettää SAML-tunnistusvastauksen käyttäjän selaimen kautta
Hanhivaaran ulkoiluviraston verkkopalvelulle. Tarkemmin sanoen Vetuma:
o
Rakentaa SAML-standardin mukaisen vastauksen (<Response>) ja laittaa siihen
käyttäjän tunnistuksesta saamistaan tiedoista muodostamansa selosteet
(<Assertion>-elementit).
o
Lähettää vastauksen Hanhivaaran ulkoiluviraston verkkopalvelulle käyttäen SAMLstandardissa määriteltyä POST-sidosta (HTTP POST binding), mukaan lukien
kutsun ja vastauksen korrelointiin käytettävän RelayState-tiedon välittämisen
kyseiselle sidokselle määrätyllä tavalla)
5. Hanhivaaran ulkoiluviraston verkkopalvelu toteaa saamastaan SAML-tunnistusvastauksesta
tunnistuksen onnistuneeksi, poimii vastauksesta käyttäjän henkilöllisyyden, ja luo
käyttäjälle oman verkkopalveluistuntonsa. Tapaa jolla verkkopalvelu ilmaisee istunnon
olemassaolon (esimerkiksi eväste) ei ole esitetty kuvassa 2.
6. Hanhivaaran ulkoiluviraston verkkopalvelu palauttaa käyttäjän selaimelle HTTPvastauksena sivun, jolta käyttäjä voi jatkaa verkkopalvelun käyttöä kirjautuneena.
 Copyright Fujitsu Finland Oy
9 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
Käyttäjän
selain
Ankkalinnan
päivähoidon
verkkopalvelu
14.1.2015
Hanhivaaran
ulkoiluviraston
verkkopalvelu
VETUMA
Käyttö jatkuu
tunnistettuna
Kertakirjautumisistunto
1. Kutsu jolla pyydetään
venepaikan varaamista
2. SAML
tunnistuskutsu
3. Ota tiedot,
lisää uusi
palvelu
istuntoon
4. SAML
tunnistusvastaus
5. Luo
6. Vastaus kutsuun jolla pyydettiin
venepaikan varaamista
Verkkopalveluistunto
Käyttö jatkuu
tunnistettuna
Kuva 2: Kertakirjautuminen Vetuman SAML-rajapinnan kautta
 Copyright Fujitsu Finland Oy
10 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015
4. ULOSKIRJAUTUMINEN VETUMA-KERTAKIRJAUTUMISISTUNNOSTA
4.1 Käyttötapauksen kuvaus
4.1.1 Yhteenveto
Tässä käyttötapauksessa käyttäjä on tunnistettu Vetuman avulla useisiin Vetuma-asiakkaiden
verkkopalveluihin (mukaan lukien Ankkalinnan päivähoidon verkkopalvelu ja Hanhivaaran
ulkoiluviraston verkkopalvelu), ja hänellä on kertakirjautumisistunto Vetumassa. Ankkalinnan
päivähoidon verkkopalvelu tarjoaa uloskirjautumisen tällaisesta Vetumakertakirjautumisistunnosta. Käyttäjän pyytäessä tätä toimintoa kyseinen verkkopalvelu lähettää
Vetumalle kertauloskirjautumispyynnön. Vetuma välittää kertauloskirjautumispyynnön kaikille
muille Vetuma-kertakirjautumisistuntoon osallistuville verkkopalveluille. Kukin näistä
verkkopalveluista päättää oman istuntonsa. Vetuma päättää oman
kertauloskirjautumisistuntonsa ja palauttaa tiedon onnistuneesta kertauloskirjautumisesta
Ankkalinnan päivähoidon verkkopalvelulle.
4.1.2 Toimijat
Käyttäjä (Ankkalinnan ja Hanhivaaran verkkopalveluita käyttävä henkilö).
«System» Vetuma (SAML-roolissa Identity Provider)
«System» Ankkalinnan päivähoidon verkkopalvelu (SAML-roolissa Service Provider).
«System» Hanhivaaran ulkoiluviraston verkkopalvelu (SAML-roolissa Service Provider).
4.1.3 Lähtötilanne
Sekä Ankkalinnan kaupunki että Hanhivaaran kaupunki ovat Vetuma-asiakkaita. Sekä
Ankkalinnan päivähoidon verkkopalvelu että Hanhivaaran ulkoiluviraston verkkopalvelu on
liitetty Vetuman SAML-luottamusrenkaaseen ja ne käyttävät Vetuma-tunnistusta SAMLrajapinnan kautta.
Ankkalinnan päivähoidon verkkopalvelu tarjoaa käyttöliittymässään uloskirjautumisen
kertakirjautumisistunnosta.
Käyttäjä on tunnistettu Vetuman tarjoaman SAML-kertakirjautumisen avulla Ankkalinnan
päivähoidon verkkopalveluun ja Hanhivaaran ulkoiluviraston verkkopalveluun sekä joihinkin
muiden Vetuma-asiakkaiden SAML-tunnistusta käyttäviin verkkopalveluihin.
4.1.4 Lopputulos
Käyttäjä on uloskirjautunut Ankkalinnan kaupungin päivähoidon verkkopalvelusta ja
Hanhivaaran ulkoiluviraston verkkopalvelusta – sekä muista käyttäjän Vetumakertakirjautumisistunnossa mukana olevista verkkopalveluista.
4.1.5 Tyypillinen tapahtumien kulku
1. Käyttäjä pyytää selaimellaan Ankkalinnan päivähoidon verkkopalvelun tarjoamaa
kertauloskirjautumista.
2. Ankkalinnan päivähoidon verkkopalvelu lähettää kertauloskirjautumispyynnön Vetumalle.
3. Vetuma toteaa, että käyttäjällä on voimassa oleva Vetuma-kertakirjautumisistunto, ja ottaa
siitä tiedon mitkä kaikki verkkopalvelut (mukaan lukien Hanhivaaran ulkoiluviraston
verkkopalvelu) osallistuvat kyseiseen kertakirjautumisistuntoon.
4. Vetuma lähettää uloskirjautumispyynnön kullekin kertakirjautumisistuntoon osallistuvista
verkkopalveluista (mukaan lukien Hanhivaaran ulkoiluviraston verkkopalvelu).
 Copyright Fujitsu Finland Oy
11 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015
5. Kukin näistä verkkopalveluista päättää oman verkkopalveluistuntonsa, ja kuittaa
uloskirjautumisvastauksella Vetumalle päättämisen tehdyksi.
6. Saatuaan kaikki uloskirjautumisvastaukset Vetuma hävittää käyttäjän Vetumakertakirjautumisistunnon ja lähettää uloskirjautumisvastauksen Ankkalinnan päivähoidon
verkkopalvelulle.
7. Ankkalinnan päivähoidon verkkopalvelu päättää oman verkkopalveluistuntonsa.
4.1.6 Valinnaiset tapahtumien kulut
4.1.7 Poikkeustilanteet

Verkkopalvelun lähettämä uloskirjautumiskutsu on jossain suhteessa virheellinen.
Tällöin Vetuma palauttaa vastauksen jossa todetaan tämä.

Joku istuntoon mukaan otetuista verkkopalveluista ei vastaa Vetuman sille lähettämään
uloskirjautumiskutsuun. (katso käyttötapaus ”Käyttäjän tunnistaminen Vetumalla
SAML-rajapinnan kautta”)

Kutsun tai vastauksen välittäminen selaimen kautta epäonnistuu (katso käyttötapaus
”Käyttäjän tunnistaminen Vetumalla SAML-rajapinnan kautta”)
4.2 Toiminta teknisestä näkökulmasta
Tässä käyttötapauksessa Vetuma-palvelu toimii identiteetintarjoajana (SAML-standardin
käsitemaailmassa Identity Provider), ja Hanhivaaran ulkoiluviraston verkkopalvelu toimii
palveluntarjoajana (SAML-standardin käsitemaailmassa Service Provider).
Tässä käyttötapauksessa palveluntarjoaja pyytää identiteetintarjoajaa tunnistamaan käyttäjän
ohjaamalla hänet identiteetintarjoajan tunnistuspalveluun.
Teknisesti tunnistus toimii seuraavasti:
1. Käyttäjä pyytää kertauloskirjautumista Ankkalinnan päivähoidon verkkopalvelussa, jolloin
hänen selaimestaan lähtee verkkopalvelulle HTTP-kutsu jonka johdosta verkkopalvelussa
todetaan halu tehdä kertauloskirjautuminen.
2. Verkkopalvelu lähettää SAML-uloskirjautumispyynnön käyttäjän selaimen kautta
Vetumalle. Tarkemmin sanoen verkkopalvelu:
o
Rakentaa SAML-standardin mukaisen uloskirjautumispyynnön
(<LogoutRequest>) jossa pyytää Vetuman tekemään kertauloskirjautumisen.
o
Lähettää pyynnön Vetumalle käyttäen SAML-standardissa määriteltyä Redirectsidosta (HTTP Redirect binding) tai POST-sidosta (HTTP POST binding).
3. Vetuma vastaanottaa tunnistuspyynnön HTTP Redirect tai HTTP POST-kutsuna. Koska
selain on liittänyt kutsuun Vetuman käyttäjälle tekemän tunnistusevästeen, Vetuma toteaa
käyttäjän jo tunnistetuksi ja ottaa käyttäjän Vetuma-kertakirjautumisistunnosta tiedon siitä,
mitkä verkkopalvelut ovat mukana istunnossa. Yksi näistä on Hanhivaaran ulkoiluviraston
verkkopalvelu.
4. Vetuma lähettää SAML-kertauloskirjautumispyynnön käyttäjän selaimen kautta
Hanhivaaran ulkoiluviraston verkkopalvelulle. Tarkemmin sanoen Vetuma:
o
Rakentaa SAML-standardin mukaisen uloskirjautumispyynnön
(<LogoutRequest>) jossa pyytää verkkopalvelua tekemään
kertauloskirjautumisen.
o
Lähettää pyynnön Hanhivaaran ulkoiluviraston verkkopalvelulle käyttäen SAMLstandardissa määriteltyä Redirect-sidosta (HTTP Redirect binding) tai POSTsidosta (HTTP POST binding).
 Copyright Fujitsu Finland Oy
12 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015
5. Hanhivaaran ulkoiluviraston verkkopalvelu vastaanottaa SAML-uloskirjautumispyynnön ja
päättää käyttäjän verkkopalveluistunnon kyseisessä palvelussa.
6. Hanhivaaran ulkoiluviraston verkkopalvelu rakentaa SAML-uloskirjautumisvastauksen
(<LogoutResponse>) ja lähettää sen käyttäjän selaimen kautta Vetumalle.
7. Vetuma lähettää myös kullekin muulle kertakirjautumisistunnossa mukana olevalle
verkkopalvelulle SAML-uloskirjautumispyynnön ja vastaanottaa niiden SAMLuloskirjautumisvastaukset.
8. Vetuma lopettaa käyttäjän Vetuma-kertakirjautumisistunnon.
9. Vetuma rakentaa SAML-uloskirjautumisvastauksen (<LogoutResponse>) ja lähettää
sen käyttäjän selaimen kautta Ankkalinnan päivähoidon verkkopalvelulle.
10. Ankkalinnan päivähoidon verkkopalvelu lopettaa käyttäjän verkkopalveluistunnon
kyseisessä palvelussa.
11. Ankkalinnan päivähoidon verkkopalvelu palauttaa käyttäjän selaimelle HTTP-vastauksen
jolla ilmoittaa käyttäjälle kertauloskirjautumisen tapahtuneeksi.
 Copyright Fujitsu Finland Oy
13 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
Käyttäjän
selain
Ankkalinnan
päivähoidon
verkkopalvelu
14.1.2015
Hanhivaaran
ulkoiluviraston
verkkopalvelu
VETUMA
1. Kertauloskirjaudu
Kertakirjautumisistunto
2. SAML kertauloskirjautumiskutsu
3. Ota istunnossa mukana
olevat verkkopalvelut
4. SAML kertauloskirjautumiskutsu
Verkkopalveluistunto
5. Lopeta
6. SAML kertauloskirjautumisvastaus
7. Pyydä muilta isunnossa
mukana olevilta verkkopalveluilta uloskirjautumista
8. Lopeta
9. SAML kertauloskirjautumisvastaus
11. Vastaus kutsuun
jolla pyydettiin
kertauloskirjautumista
Verkkopalveluistunto
10. Lopeta
Kuva 3: Kertauloskirjautuminen
5. TUNNISTUSLÄHTEEN HAKEMINEN VETUMAN SAML-RAJAPINNAN KAUTTA
5.1 Käyttötapauksen kuvaus
5.1.1 Yhteenveto
Tässä käyttötapauksessa Vetuma-asiakkaan (Ankkalinnan kaupunki) verkkopalvelu
(Ankkalinnan päivähoidon verkkopalvelu) selvittää löytyykö käyttäjältä voimassa olevaa tietoa
 Copyright Fujitsu Finland Oy
14 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015
Vetuma-tunnistuspalvelun käyttämisestä ennen kuin tunnistaa käyttäjänsä Vetuman tarjoamalla
SAML-standardin mukaisella tunnistuksella joka mahdollistaa myös kertakirjautumisen muiden
Vetuman SAML-tunnistusta käyttävien verkkopalveluiden kesken.
5.1.2 Toimijat
Käyttäjä (Ankkalinnan päivähoidon verkkopalvelua käyttävä henkilö).
«System» Vetuma (SAML-roolissa Discovery Service)
«System» Vetuma (SAML-roolissa Identity Provider)
«System» Ankkalinnan kaupungin verkkopalvelu (SAML-roolissa Service Provider).
«System» Hanhivaaran ulkoiluviraston verkkopalvelu (SAML-roolissa Service Provider).
5.1.3 Lähtötilanne
Sekä Ankkalinnan kaupunki että Hanhivaaran kaupunki ovat Vetuma-asiakkaita. Sekä
Ankkalinnan päivähoidon verkkopalvelu että Hanhivaaran ulkoiluviraston verkkopalvelu on
liitetty Vetuman SAML-luottamusrenkaaseen ja ne käyttävät Vetuma-tunnistusta SAMLrajapinnan kautta.
Käyttäjä aikoo hakea itselleen venepaikkaa. Hän on kirjautunut Hanhivaaran ulkoiluviraston
verkkopalveluun ja hakenut venepaikkaa. Sen jälkeen hän siirtyy Ankkalinnan kaupungin
verkkopalveluun.
5.1.4 Lopputulos
Käyttäjä on kirjautunut tunnistettuna Ankkalinnan kaupungin verkkopalveluun, ja tieto tästä on
käyttäjän Vetuma-kertakirjautumisistunnossa. Ankkalinnan kaupungin verkkopalvelu selvitti
löytyykö käyttäjältä voimassa olevaa tietoa Vetuma-tunnistuspalvelun käyttämisestä, ja sen
löytyessä tunnisti käyttäjän Vetuma-palvelussa, ja mukautti etusivua ilmoittamaan
lukemattomasta asiointiviestistä käyttäjälle. Käyttäjä pääsee siirtymään eteenpäin lukemaan
Ankkalinnan päivähoidon yhteenvetoa lapsensa kuluvan viikon ohjelmasta.
5.1.5 Tyypillinen tapahtumien kulku
1. Käyttäjä ottaa selaimellaan yhteyden Ankkalinnan verkkopalveluun, jonka etusivun sisältö
mukautuu sen mukaan onko käyttäjä tunnistettu Vetuma-palvelussa.
2. Verkkopalvelu selvitti löytyykö käyttäjältä voimassa olevaa tietoa Vetumatunnistuspalvelun käyttämisestä Vetuma-palvelun Discovery Servicen avulla.
3. Vetuma toteaa, että käyttäjällä on voimassa oleva tieto Vetuma-tunnistuspalvelun
käyttämisestä.
4. Vetuma rakentaa aiemmin selvittämistään tiedoista SAML-tunnistuslähdevastauksen, jonka
lähettää Ankkalinnan verkkopalvelulle.
5. Ankkalinnan verkkopalvelulle toteaa tunnistuslähdehaun onnistuneeksi ja poimii
vastauksesta tiedon, että käyttäjä on käyttänyt Vetuma-palvelua.
6. Ankkalinnan verkkopalvelulle ohjaa käyttäjän eteenpäin tunnistautumaan Vetumapalveluun. Eteneminen jatkuu aikaisempien tunnistuksen käyttötapausten mukaisesti.
5.1.6 Valinnaiset tapahtumien kulut

Käyttäjällä ei ole voimassa olevaa tietoa Vetuma-tunnistuspalvelun käyttämisestä, joten
Ankkalinnan verkkopalvelun mukauttaa sivua tarjoamaan kirjautuminen Vetumapalvelulla automaattisen kirjautumisen sijaan.
 Copyright Fujitsu Finland Oy
15 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015

Käyttäjällä ei ole voimassa olevaa Vetuma kertakirjausistuntoa, tällöin Vetuma
palauttaa tunnistuskutsuun vastauksen jossa tämä kerrotaan.

Tunnistus epäonnistuu Tällöin Vetuma palauttaa vastauksen jossa tämä kerrotaan.
5.1.7 Poikkeustilanteet

Verkkopalvelun lähettämä tunnistuslähdekutsu on jossain suhteessa virheellinen.
Tällöin Vetuma palauttaa virheen tai palauttaa selaimen kutsun lähettäneeseen
verkkopalvelun mikäli näin kutsussa pyydettiin.

Kutsut asiointisovelluksilta Vetumalle ja vastaukset Vetumalta asiointisovelluksille
välitetään käyttäjän työaseman kautta. Kutsujen ja vastausten välittäminen selaimen
kautta saattaa epäonnistua, esimerkiksi jos käyttäjä sulkee selaimen, työasema ”kaatuu”,
tai yhteys lähettävästä tai vastaanottavasta palvelimesta työasemaan katkeaa. Tällöin
kutsu- tai vastausviestin aiottu saaja ei saa viestiä, mutta myöskään viestin lähettäjä ei
saa tietoa välityksen epäonnistumisesta.
5.2 Toiminta teknisestä näkökulmasta
Tässä käyttötapauksessa Vetuma-palvelu toimii tunnistuslähteen hakupalveluna (SAMLstandardin käsitemaailmassa Discovery Service), ja Ankkalinnan verkkopalvelu toimii
palveluntarjoajana (SAML-standardin käsitemaailmassa Service Provider).
Teknisesti tunnistuslähteen hakeminen toimii seuraavasti:
1. Käyttäjän pyytäessä Ankkalinnan verkkopalvelulta etusivua, hänen selaimestaan lähtee
verkkopalvelulle HTTP-kutsu jonka verkkopalvelu tulkitsee ja toteaa tarpeen selvittää
käyttäjän käyttämä aktiivinen tunnistuslähde.
2. Verkkopalvelu lähettää SAML-tunnistuslähteen selvityspyynnön käyttäjän selaimen kautta
Vetumalle. Tarkemmin sanoen verkkopalvelu:
o
Rakentaa SAML-standardin mukaisen tunnistuslähdekyselyn sisältävän URL:n
parametreineen, jossa pyytää Vetumaa selvittämään aktiivisen tunnistuslähteen.
o
Lähettää pyynnön Vetumalle ohjaamalla käyttäjän selaimen siirtymään
muodostettuun osoitteeseen (HTTP GET).
3. Vetuma vastaanottaa tunnistuslähdepyynnön HTTP GET-kutsuna. Vetuma tulkitsee
kutsussa annetut määräykset tunnistuslähde selvityksen suorittamiselle, sekä käy käyttäjän
selaimen kanssa keskustelun aktiivisen käyttäjäistunnon selvittämiseksi. Vetuma toteaa että
käyttäjä on aktiivinen tunnistuspalvelun käyttäjä, mikäli Vetuman käyttäjälle tekemä
tunnistuslähde-eväste löytyy kutsusta.
4. Vetuma rakentaa ja lähettää SAML-tunnistuslähdevastauksen käyttäjän selaimen kautta
verkkopalvelulle. Tarkemmin sanoen Vetuma:
o
Rakentaa SAML-standardin mukaisen URL:n parametreineen ja laittaa siihen
tiedoksi käyttäjän käyttämän tunnistuspalvelun tunnisteen mikäli tunnistuslähde on
ollut käytössä. Mikäli tunnistuslähde ei selvinnyt tai tapahtui muu virhe, jätetään
kyseinen parametri pois vastauksesta.
o
Lähettää pyynnön Ankkalinnan verkkopalvelulle ohjaamalla käyttäjän selaimen
siirtymään muodostettuun osoitteeseen (HTTP GET).
5. Ankkalinnan verkkopalvelulle toteaa saamastaan SAML- tunnistuslähdevastauksesta
tunnistuslähdehaun onnistuneeksi ja poimii vastauksesta tiedon, että käyttäjä on käyttänyt
Vetuma-palvelua. Mikäli kyseinen tieto puuttui vastauksesta, tulkitsee verkkopalvelu
kyselyn epäonnistuneeksi.
 Copyright Fujitsu Finland Oy
16 (17)
Pag
Vetuma-palvelu
SAML-kutsurajapinnan määrittely
Versio: 3.4 14.1.2015
14.1.2015
6. Ankkalinnan verkkopalvelulle ohjaa käyttäjän eteenpäin tunnistautumaan Vetumapalveluun. Eteneminen jatkuu aikaisempien tunnistuksen käyttötapausten mukaisesti.
Käyttäjän
selain
Ankkalinnan
verkkopalvelu
VETUMA
1. Kutsu jolla pyydet ään
etusivua
2. SAML
tunnistuslähteen hakukutsu
3. Tunnistuslähteen selvitys
4. SAML
tunnistuslähdevastaus
5. Saa tiedon tunnistuslähteestä
6. Vastaus jolla
ohjataan eteenpäin
selvitettyyn
tunnistuspalveluun
Käytt ö jatkuu
tunnistuksella
Kuva 4: Tunnistuslähteen hakeminen Vetuman SAML-rajapinnan kautta
 Copyright Fujitsu Finland Oy
17 (17)
Pag