Terveydenhuollon avoimet sovellusrajapinnat - käyttäjä- ja käyttöoike usrajapinnat



Samankaltaiset tiedostot
Terveydenhuollon ATK päivät TURKU

Potilastiedot ja tietoturvallisuus Tietoturvaselvitykset ja asiantuntijakonsultointi roolipohjaisen käyttäjähallinnan osalta

Liite 2 : RAFAELA -aineiston elinkaaren hallinta

Muutos Tutkimusyhteistyösopimukseen. PlugIT: Terveydenhuollon sovellusintegraatio

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Esityksen sisältö Määrittelyjen mukaisuudesta varmistuminen - PlugIT-leima

PlugIT-projektin työsuunnitelma 3. jaksolle EHDOTUS johtoryhmälle, Koko projektin keskeiset tehtävät

Ydinpalvelurajapinnat (käyttäjä, käyttöoikeus, potilas): Tekninen liittymämäärittely http- ja XML-tekniikoilla Versio 2.

Tässä ohjeessa kerrotaan, miten alkaen käyttöönotettavaan AIPAL aikuiskoulutuksen palautejärjestelmään myönnetään käyttöoikeuksia.

Kansallinen sähköinen potilasarkisto Varmenteiden käyttö

Fassment-projektin alustava analyysi

PlugIT / Ydin: teemat ja jaksojen 2-6 suunnitelma ( )

1. päivä ip Windows 2003 Server ja vista (toteutus)

Joonas Mäkinen. Käyttäjähallinnan esittely

Helsingi yliopiston kevytkäyttäjähallintosovelluksen rajapintakuvaus

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

Potilastiedot ja tietoturvallisuus Käyttäjähallinta ja tietoturva kertakirjautumisella

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

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

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

Tietosuojaseloste KasvaNet -oppimisympäristö

AUTOVISTA VIS KÄYTTÄJÄHALLINTA

Varmennejärjestelmä ja kertakirjautuminen miksi ja miten?

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki

Web -myyntilaskutus Käyttöönotto v Toukokuu (17) Versio Web -myyntilaskutus Tikon Oy. All rights reserved.

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki

Työpöytäintegraatio ja palvelurajapinnat - tilanne Suomessa ja muualla

Action Request System

1 JOHDANTO UUDEN ILMOITUKSEN LUOMINEN VALMIIN ILMOITUKSEN MUOKKAAMINEN YLEISTEKSTIEN KÄYTTÖ JA LUOMINEN...4

HELSINGIN KAUPUNKI MUISTIO Numero 1 TALOUS- JA SUUNNITTELUKESKUS Tietotekniikkaosasto

Microsoft Online Portal. Järjestelmänvalvojan perusopas

PKI- ja hakemistotarpeet pacsissa

Terveydenhuollon avoimet sovellusrajapinnat - yhteiset perusratkaisut

Kunnan rakennetun ympäristön sähköiset palvelut (KRYSP)

SecGo. Sähköinen allekirjoitus ja sen käyttö. Ari-Pekka Paananen, SecGo VE Oy Director,technology

Ohjeistus uudesta tunnistuspalvelusta

Opas administraattori-tason käyttäjille. MANAGERIX -ohjelman esittely... 2 Kirjautuminen... 2

SoTe kuntayhtymä/perusturvaliikelaitos Saarikka REKISTERISELOSTE Pro-Wellness-potilastietojärjestelmä -tietokanta 18.3.

Kokemuksia kertakirjautumisesta kuinka Valvira-kortista tehdään haluttu

Emmi-sovelluksen kirjautumisohje

Yritys nimeltä Redicom

Uudistettu asiakastietolaki edistämään tiedonvaihtoa sosiaalija terveydenhuollossa

Valmistautuminen potilastiedon arkiston käyttöönottoon. Käyttöönoton käsikirja ja toiminnallisen muutoksen tukeminen Anna Kärkkäinen

Järjestelmäarkkitehtuuri (TK081702)

Käyttövaltuushallinnan hyödyt tehokkaasti käyttöön. Johanna Lampikoski, RM5 Software Juha Arjonranta, TeliaSonera Finland

Web -myyntilaskutus Käyttöönotto v Toukokuu (16) Versio Web -myyntilaskutus. Copyright Aditro. All rights reserved.

1 Rekisterinpitäjä. 2 Rekisterin nimi. 3 Henkilötiedon käsittelijä

Käyttäjähallintapalvelun REST-rajapinnat

Käyttöohje. Visy Access Net UPM

SÄHKE2-SERTIFIOINTIKRITEERIT

Yhteentoimivuutta kokonaisarkkitehtuurilla

ARVI-järjestelmän ohje arvioinnin syöttäjälle

Omatietovaranto tilannekatsaus

Tietosuojauudistus tulee PTC:n käytännön vinkit. Tapio Lahtinen

Suomeksi Potilastiedot valtakunnalliseen arkistoon

KanTa Asiakastietojen käsittely ja menettelytavat eresepti-palvelua käytettäessä

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

Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta

Lausuntopyyntökysely: Asiakastietolaki

KanTa-kokonaisuus ja kunnat

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

Integrointi. Ohjelmistotekniikka kevät 2003

Tietosuojaseloste (5)

Käyttöoikeudet ja käyttäjähallinta

Mallintaminen; kurssipalautejärjestelmä

Suomi.fi-palvelutietovaranto

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

LAURA TM -rekrytointijärjestelmän tietoturva. Markku Ekblom Teknologiajohtaja Uranus Oy

1. Sähköinen tunnistautuminen KTJ-rekisterinpitosovellukseen

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

Käyttäjähallinta liiketoiminnan selkärankana. Ratkaisuna LDAP-hakemistot

Juha Tretjakov. Oppijanumero ja käyttäjien tunnistaminen

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

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

ZENworks Application Virtualization 11

4.2 Yhteensopivuus roolimalleihin perustuvassa palvelussa

Peltolantie 2 D, Vantaa puh.(09) vastuuhenkilö (palveluntuottaja täyttää) yhteyshenkilö ja yhteystiedot: (palveluntuottaja täyttää)

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Turvallinen etäkäyttö Aaltoyliopistossa

HS-Works Oy:n asiakastietokanta

1 Rekisterinpitäjä. 2 Yhteyshenkilö. 3 Rekisterin nimi. 4 Henkilötietojen käsittelyn tarkoitus

Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta.

Ohje Emmi-sovellukseen kirjautumista varten

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Taltioni teknisen alustan arviointi

Parik säätiön tietosuojaseloste

Rekisteriseloste. NettiRassi rekisteriseloste

Veronumero.fi Tarkastaja rajapinta

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Muutos Tutkimusyhteistyösopimukseen. PlugIT: Terveydenhuollon sovellusintegraatio

opiskelijan ohje - kirjautuminen

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Suostumusten hallinta kansallisessa tietojärjestelmäarkkitehtuurissa

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

Rekisterinkäyttöoikeus sosiaalihuollon Kanta-palveluissa

Asetuksissa määritellyt Auroran käyttäjäryhmät

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Transkriptio:

PLUGIT-HANKKEEN SELVITYKSIÄ JA RAPORTTEJA 9 STUDIES AND REPORTS OF THE PLUGIT PROJECT 9 Marko Sormunen, Jari Porrasmaa, Ritva Silvennoinen, Juha Mykkänen, Saara Savolainen, Juha Rannanheimo Terveydenhuollon avoimet sovellusrajapinnat - käyttäjä- ja käyttöoike usrajapinnat KUOPION YLIOPISTO SAVONIA- AMMATTIKORKEAKOULU KUOPIO 2004

Tekijät: Marko Sormunen Jari Porrasmaa Ritva Silvennoinen Juha Mykkänen Saara Savolainen HIS -tutkimusyksikkö Kuopion yliopisto Juha Rannanheimo Savonia- ammattikorkeak oulu Myynti: Tietotekniikkakeskus Kuopion yliopisto 017-162 802 www.plugit.fi tike@uku.fi ISBN 951-781-473-9 (koko teos) ISBN 951-27-0228-2 (osa 9) ISBN 951-27-0248-7 (PDF) Kopijyvä Oy, Kuopio, Finland 2004

Sormunen, Marko; Porrasmaa, Jari; Silvennoinen, Ritva; Mykkänen, Juha; Savolainen, Saara; Rannanheimo, Juha. Terveydenhuollon avoimet sovellusrajapinnat - käyttäjä- ja käyttöoikeusrajapinnat. PlugIT- hankkeen selvityksiä ja raportteja 9. 47 s. 2004. ISBN 951-781-473-9 (koko teos) ISBN 951-27-0228-2 (osa 9) ISBN 951-27-0248-7 (PDF) Tiivistelmä Terveydenhuollon organisaatioiden käyttämille sovelluksilla on paljon yhteisiä tiedonhallinnollisia osia kuten käyttöoikeus- ja sisäänkirjautumispalvelut. Jokaisen erillisjärjestelmän toteuttaessa nämä osat syntyy paljon päällekkäistä toiminnallisuutta, jonka hallinnointi ja käyttäjätiedon eheyden va r- mistaminen aiheuttaa paljon lisätyötä. Tämän dokumentin tarkoitus on esit tää ne rajapinnat, joiden avulla terveydenhuoltoorganisaatio ydinjärjestelmä voi tarjota muille sovelluksille nämä rajapinnat. Dokumentti on tuotettu PlugIT-hankkeessa tutkijoiden, terveydenhuollon organisaatioiden ja ohjelmistoyritysten yhteistyössä vuosina 2003-2004. Sen tuottamisessa on hyödynnetty projektin integrointiratkaisujen arviointi- ja määrittelymenetelmiä. Yleinen kymmenluokittelu UDK: 681.3 Asiasanat (YSA): tiedonhallinta, tietojärjestelmät, tietokannat, systeemityö, tiedonhallintajärjestelmät, ohjelmointi, terveydenhuolto, tietoteollisuus Medical Subject Headings (MeSH): medical informatics, information systems, information management, database management systems, software, health care sector, hospital information systems

Esipuhe Tämä selvitys on tehty PlugIT-hankkeessa vuosina 2001-2004. Selvitys dokumentoi PlugIThankkeessa tuotetut käyttöoikeus- ja sisäänkirjautumispalveluiden avoimet sovellusrajapinnat taustatietoineen ja vaatimuksineen. Selvitys on suunnattu rajapintojen hyödyntämiseen osallistuville terveydenhuollon ja tietohallinnon ammattilaisille ja ohjelmistojen tuottajille; selvitys sisältää tarkat rajapintamääritykset, joiden avulla terveydenhuollon sovellusten toteuttajat voivat tuottaa tai hyödyntää avoimia käyttöoikeus- ja sisäänkirjautimispalveluita.. PlugIT-hanketta ovat rahoittaneet ja siihen ovat osallistuneet TEKES, Mawell konserni, Medimaker Oy Ltd, Medici Data Oy, Mediweb Oy, Mylab Oy, Tietoenator Oyj, WM-data Novo Oyj, Atkos Oy, BEA Systems Oy, Commit; Oy, Enfo Oy, Fujitsu Services Oy, General Electric Healthcare CIS EMEA, Mediconsult Oy, Microsoft Oy, Oracle Finland Oy, Helsingin ja Uudenmaan sairaanhoitopiirin kuntayhtymä, Pirkanmaan sairaanhoitopiirin kuntayhtymä, Pohjois-Savon sairaanhoitopiirin kuntayhtymä, Pohjois-Pohjanmaan sairaanhoitopiirin kuntayhtymä, Satakunnan sairaanhoitopiirin kuntayhtymä, Varsinais-Suomen sairaanhoitopiirin kuntayhtymä, Kuopion kaupungin sosiaali- ja terveyskeskus sekä Siilinjärven ja Maaningan terveydenhuollon kuntayhtymä. Tekijät kiittävät projektiin osallistuvien yritysten ja sairaaloiden edustajia ja kaikkia rajapintatyöhön osallistuneita projektin työntekijöitä runsaista ja hyvistä ideoista ja kommenteista. Kuopiossa 30.8.2004 Tekijät

Sisällys 1 JOHDANTO...9 1.1 Tietotekniset ja terveydenhuollon käsitteet...9 2 TAUSTASELVITYKSET...12 2.1 JAAS...12 2.2 PIDS...14 2.3 RAD...14 2.4 Musti käyttäjänhallinta?...14 2.5 Taustaselvitys...14 2.5.1 Käyttäjärajapinta...14 2.5.2 Oikeusrajapinta...15 3 VAATIMUSMÄÄRITTELY...19 3.1 Osallistuvat järjestelmät...19 3.1.1 Käyttäjän tunnistusjärjestelmä...19 3.1.2 Käyttäjähallintajärjestelmä...19 3.1.3 Käyttöoikeuksien hallintajärjestelmä...19 3.1.4 Käyttäjätietoja hyödyntävä järjestelmä...19 3.2 Nykytila...20 3.2.1 Käyttäjän tunnistus...20 3.2.2 Käyttäjätietojen hallinta...21 3.2.3 Käyttöoikeudet...21 3.2.4 Käyttäjä- ja organisaatiotietojen yhdistäminen...21 3.2.5 Hoitosuhde ja potilaan suostumukset...21 3.3 Tavoitetila ja kehittämiskohteet...22 3.3.1 Palveluja hyödyntävän järjestelmän vaatimuksia...22 3.3.2 Palveluja tarjoavan järjestelmän vaatimuksia...23 4 TEKNIIKKARIIPPUMATTOMAT LIITTYMÄMÄÄRITTELYT...24 4.1 Rajaus...24 4.1.1 Kertakirjaus...24 4.1.2 Käyttäjän tietojen hakeminen...25 4.1.3 Valtuuksien hallinnointi...25 4.2 Käyttäjä-käyttöoikeus-palveluiden yhteistoiminnallisten osien kuvaus...25 4.2.1 Asiakassovellus...27 4.2.2 Turvallisuuspalvelu...27 4.2.3 Turvallisuusprofiilivarasto...27 4.2.4 Istunnon hallinto...27 4.2.5 Varmentaja...27 4.2.6 Tarvittavat rajapinnat...27 5 TEKNISET XML-KIELISET LIITTYMÄMÄÄRITTELYT...30 5.1 AuthenticateUser-palvelu...30 5.1.1 GetCoupon...30 5.1.2 CheckCoupon...32

5.1.3 CheckAuthentication...33 5.1.4 Login...34 5.1.5 GetSubject...35 5.1.6 Logout...36 5.2 AuthorizationAccess-palvelu...36 5.2.1 CheckAuthorization...36 5.3 Lista poikkeuksista...38 6 TEKNISET WSDL-KIELISET LIITTYMÄMÄÄRITTELYT...39 6.1 AuthenticateUser-palvelun WSDL-määritys...40 6.1.1 SOAP-sanomaesimerkki: GetCoupon...43 6.2 AuthorizationAccess-palvelun WSDL-määritys...45 6.2.1 SOAP-sanomaesimerkki: CheckAuthorization...46 7 LÄHTEET...47

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN, RANNANHEIMO 1 JOHDANTO PlugIT on vuosina 2001-2004 toteutettu valtakunnallinen Tekes-rahoitteinen tutkimus- ja kehittämishanke, joka tuottaa avoimia ohjelmistorajapintojen määrityksiä sekä niihin liittyviä menetelmiä ja osaamista terveydenhuollon ohjelmistoyrityksille ja niiden asiakkaille. Hankkeen tavoitteena on tukea terveydenhuollon palvelutoimintaa ohjelmistotuotannon palveluketjun kautta, paremmin integroituvien ohjelmistokokonaisuuksien avulla (PlugIT 2004). Tässä dokumentissa on kuvattu PlugIT-rajapinnat, joiden avulla voidaan toteuttaa keskitetyt käyttöoikeus- ja sisäänkirjautumispalvelut. Sisäänkirjautumispalvelun tehtävä on tarjota terveydenhuolto-organisaation sovelluksille yhtenäisen tavan tunnistaa käyttäjät. Käyttöoikeus-rajapinnan tavoitteena on keskittää käyttäjien käyttöoikeuksien hallinta ja mahdollistaa sen toteuttamisen yhden rekisteriin. Projektissa on tutkittu projektin ulkopuolella kehitettävien arkkitehtuuri- ja hakemistopalveluratkaisujen, kuten PAM, PKI, LDAP ja Active Directory; terveydenhuollon yleisten palvelujen standardien, kuten PIDS ja RAD, sekä toimialariippumattomien standardien, kuten JAAS, suhdetta käyttäjä- ja käyttöoikeuksien hallintaan sekä arvioitu, missä määrin käyttäjä- ja oikeus-rajapinnat olisi mielekästä tehdä yhteensopiviksi mainittujen ratkaisujen kanssa. Dokumentti on jaettu kolmeen osaan: vaatimusmäärittelyihin, tekniikkariippumattomaan rajapintamäärittelyyn ja yksityiskohtaiseen tekniseen määrittelyyn HTTP/XML-tekniikalle. Vaatimusmäärittely on tuotettu PlugIT-integroinnin määrittelyprosessin mukaisesti (Mykkänen ym. 2004b). Sen tehtävänä on kuvata integroinnin tavoitteet riittävällä tasolla integroinnin tarkempaa määrittelyä ja toteutusta varten siten, että vaatimukset ovat yksiselitteisiä ja prosessin myöhe m- piä tuotoksia voidaan verrata asetettuihin vaatimuksiin. Dokumentti kattaa laajankin alueen vaatimuksia, josta on valittu pienempi osa-alue kerrallaan jatkomäärittelyjä ja toteutusta varten. Tekniikkariippumaton määrittely toimii pohjana teknisille määrityksille, joista esimerkkinä on kaksi määritystä: Virallinen, PlugIT-hyväksymisprosessin läpikäynyt määritys XML-kielelle ja alustava versio WSDL-kielisestä määrityksestä. Tässä dokumentissa olevien määrityksien versio on 2.1. 1.1 Tietotekniset ja terveydenhuollon käsitteet Käyttäjänhallintaan ja käyttöoikeuksiin liittyvä termejä on kuvattu laajemmin Niina Ahtosen Pro gradu tutkielmassa: Käyttöoikeudet terveydenhuollon tietojärjestelmissä (Ahtonen 2003). Käsite Auktorisointi Autentikointi Identifiointi Taulukko 1. Dokumentissa käytetyt käsitteet Määritelmä Valtuuttaminen, prosessi, jolla myönnetään oikeuksia päästä järjestelmään ja käyttää sen palveluja määrätyillä säännöillä. Todentaminen, toimenpide, jolla todistetaan ja tunnistetaan määrätty informaatio esimerkiksi käyttäjän identiteetti. (Ahtonen 2003) Tunnistus, prosessi, jolla voidaan varmistua jonkun henkilön identiteetistä. TERVEYDENHUOLLON AVOIMET SOVELLUSRAJAPINNAT - KÄYTTÄJÄ - JA KÄYTTÖOIKEUSRAJAPINNAT 9

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN. RANNANHEIMO JAAS KAY_00 Komponentti Käyttäjä Toimija Java Authentication and Authorization Service on Java-kielinen toteutus PAM arkkitehtuurista. JAAS on kokoelma Java-kielisiä rajapintoja ja luokkia, joiden avulla voidaan toteuttaa toimija-kohtainen autentikointi ja valtuuksien määrittäminen ja tarkistus Java-ajoympäristössä. (Sormunen 2003) Tässä dokumentissa käytetty lyhenne, joka yksilöi käyttäjärajapinnan vaatimukset ( KAY_ + juokseva numerointi). Itsenäinen, uudelleenkäytettävä ja selvästi rajattu ohjelmisto-osa, jota käytetään pienempänä osana tietojärjestelmän rakentamisessa. Komponentti tarjoaa palveluitaan (suorittaa tiettyjä tehtäviä) rajapintojen kautta (Mykkänen 2000). Ks. myös rajapinta. Henkilö, joka työssään tai muussa toiminnassaan on välittömästi tekemisissä atk- laitteen kanssa esimerkiksi ohjaten järjestelmän toimintaa, syöttämällä tietoja, tekemällä kyselyjä tai olemalla keskustelukäytön osapuolena (Atk-sanakirja 2001). Käyttäjää laajempi käsite, joka voi tarkoittaa myös esimerkiksi organisaatiota. Autentikaation kannalta toimija on se kohde, joka tunnistetaan luotettavasti. Käyttäjäprofiili Ohjelmiston tai palvelun käyttäjäkohtaiset asetukset (Atk-sanakirja 2001). Näillä asetuksilla säädellään mm. käyttäjän oikeuksia ja tälle tarjottuja toimintoja ohjelmistossa tai palvelussa. Käyttöoikeus LDAP OID OIK_00 Organisaatio PAM PIDS PKI Käyttöoikeus on oikeus käyttää tietojärjestelmän tiedostoja ja ohjelmia tietyillä tavoin, esimerkiksi lukemalla, päivittämällä tai muiden käyttöoikeuksia muuttaen (Valtiovarainministeriö 2003). Lightweight Directory Access Protocol. X.500-hakemistomallin kanssa yhteensopiva yksinkertainen protokolla, jota käytetään mm. julkisiin avaimiin WWW:n kautta pääsemiseksi (Kerttula 2000). Object IDentifier on numeroista muodostettu merkkijono, jota käytetään olion tunnisteena erilaisissa protokollissa. Merkkijonot määritellään hierarkkisesti ja hierarkiatasot erotetaan toisistaan pisteillä esim. 1.3.6 (Mykkänen ym. 2004a, luku 2.6). Tässä dokumentissa käytetty lyhenne, joka yksilöi oikeusrajapinnan vaatimukset ( OIK_ + juokseva numerointi). ks. Toimiyksikkö Pluggable Authentication Modules on käyttöjärjestelmäarkkitehtuuri, joka tarjoaa autentikaatiopalveluja peruspalveluille, kuten login, telnet, ftp ja su. Object Managemenr Groupin (OMG) määrittelemä Person Identification Service-rajapintakokonaisuus, jotka toteuttamalla saadaan aikaan henkilön tunnistamiseen tai tietojen hakemiseen liittyviä palveluja sovellusten käyttöön (Savolainen 2004). Public Key Infrastructure, julkisen avaimen järjestelmä (Atk-sanakirja 2001). Luotettavan kolmannen osapuolen palvelujen mm. varmennepalvelujen avulla julkisen avaimen teknologiaan perustuvaa tietoturvaa tukeva järjestelmä. (Kerttula 2000, s. 488). RAD Object Managemenr Groupin (OMG) määrittelemä Resource Access Decision Facility -rajapintakokonaisuus, joka määrittelee pääsyn valvotaan liittyviä palveluja (Savolainen 2004). 10 PLUGIT- HANKKEEN SELVITYKSIÄ JA RAPORTTEJA 9

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN, RANNANHEIMO Rajapinta Rooli Todennus Toimihenkilö Toimiyksikkö Tunnistus Kahden fyysisen tai abstraktin olion välinen tai ne yhteen liittävä käytäntö (Atk-sanakirja 2001). Tässä tarkoitetaan sovellusliittymää, jonka kautta ohjelmisto tarjoaa tai käyttää toisen (varus- tai sovellusohjelmiston) palveluja. Ohjelmointirajapinta on rajapinta, jota sovelluksen rakentaja käyttää sovelluksen rakentamisessa. Toimijalle määritellyt ominaisuudet, joiden perusteella toimija voi saada tiettyjä oikeuksia esim. järjestelmän tai sen piirteiden käyttöön. Yhdellä toimijalla voi olla useita rooleja ja sama rooli voidaan antaa usealle toimijalle. Käyttäjäroolit liittyvät yleensä henkilön tehtäviin organisaatiossa. (Aidonnus), toimenpide, jolla varmistetaan henkilön tai muun osapuolen aitous (Atk-sanakirja 2001). Todennus tapahtuu esim. tunnistetietoon liittyvän salasanan, kertakäyttösalasanan tai PKI:n mukaisen avainparin avulla (Ruonamaa 2002). Ks. myös tunnistus. Tietojärjestelmien kannalta palvelujen tuottaja on organisaatio tai yksittäinen henkilö, joka saa aikaan palveluja. Tässä toimihenkilöllä tarkoitetaan palvelujen tuottajaa yksittäisenä henkilönä, joka tuottaa tietojärjestelmän käyttötarkoituksen mukaisia palveluja (Stakes 2003). Tässä tarkoitetaan toimintayksikköä, joka on organisaatioyksikkö tai sen osa, joka on tehtäviensä hoitamisessa hallinnollisesti ja taloudellisesti itsenäinen. Sosiaali- ja terveydenhuollon toimintayksiköitä ovat esimerkiksi julkiset ja yksityiset sairaalat sekä niiden osat, terveyskeskukset. Tietojärjestelmien kannalta toimintayksikkö on tietojärjestelmää käyttävä organisaatio tai sen osa, jolla on vaikutusta tietojärjestelmän toimintaan. Organisaatiotiedot muodostavat tietojärjestelmissä erilaisia hierarkioita (Stakes 2003). Menettely, jolla yksilöidään tietojärjestelmän käyttäjä tai toimija (Atksanakirja 2001). Tunnistus voi tapahtua esim. käyttäjätunnuksen, pankkitilin numeron tai vaikka henkilötunnuksen avulla (Ruonamaa 2002). Ks. myös todennus. TERVEYDENHUOLLON AVOIMET SOVELLUSRAJAPINNAT - KÄYTTÄJÄ - JA KÄYTTÖOIKEUSRAJAPINNAT 11

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN. RANNANHEIMO 2 TAUSTASELVITYKSET 2.1 JAAS JAAS (Java Authentication and Authorization Service) on Java-kielinen toteutus PAM (Pluggable Authentication Modules) arkkitehtuurista. PAM on noin vuodesta 1995 lähtien ollut osa Sunin Solaris-käyttöjärjestelmäarkkitehtuuria jossa sen tehtävä on tarjota autentikaatiopalveluja peruspalveluille, kuten login, telnet, ftp ja su (Sormunen 2003). PAM on myös hyvin yleinen Unixmaailmassa ja esimerkiksi lähes kaikki nykyiset GNU/Linux-käyttöjärjestelmäpaketit hoitavat ulkopuolisten palveluidensa käyttäjähallinnan PAM-toteutusten kautta. JAAS on kokoelma Java-kielisiä rajapintoja ja luokkia, joiden avulla voidaan toteuttaa toimijakohtainen autentikointi ja valtuuksien määrittäminen ja tarkistus Java-ajoympäristössä. JAAS ei ota kantaa siihen, millaisiin sovelluksiin tai millaiseen ohjelmistoarkkitehtuuriin sitä sovelletaan: Se itsessään on vain työkalu autentikaation ja valtuuttamisen toteuttamiseen. JAAS:ia voidaan käyttää kahteen tarkoitukseen: Autentikointi, ts. toimijan todentaminen. Tarkoituksena on luotettavasti tunnistaa Javasovellusta käyttävä osapuoli (esim. käyttäjä tai käyttäjäryhmä) minkälaisessa suoritusympäristössä tahansa (esim. sovelma, periteinen työasemasovellus tai web-sovellus). Auktorisointi eli luotettavasti tunnistetun toimijan sovelluskohtaisten valtuuksien määrittely sovellusta rakennettaessa ja tarkistaminen ajon aikana, ts. valtuuttaminen. Käytännössä valtuuttaminen tarkoittaa sitä, että Java-sovelluksissa voidaan oikeuksia määritellä sen mukaan, mitä toimintoa ajettava Java-koodi yrittää tehdä ja kenen toimesta toimintoa yritetään. JAAS on suunniteltu siten, että varsinaiset autentikointimekanismit on irrotettu sovelluskohtaisesta ohjelmakoodista erillisiksi autentikaatiomoduuleiksi, joten sovellukset on mahdollista tehdä riippumattomaksi autentikaatiotekniikasta; JAAS toimii liimana sovellusten ja autentikointimekanismien välillä. Tästä on etuna se, että sovelluksiin voidaan rakentaa tuki valmiiksi erillaisille autentikointitavoille. Esimerkiksi sovellus voi tukea toimialakortti-pohjaista sisäänkirjautumista tai perinteistä tunnus/salasana paria, ja sovelluksen ajon aikainen ympäristö voi käyttää näistä jompaa kumpaa tarpeen ja sovelluksen konfiguraation mukaan. JAAS mahdollistaa myös autentikointimoduulien vaihtamisen ja konfiguroimisen ilman sovelluksien uudelleen kääntämistä. Yksi moduuli voi esimerkiksi tukea salasana/tunnus parin tarkistamista LDAP-hakemistosta ja toinen perinteisemmästä ydin-järjestelmästä ja kolmas toimialakortista ladattavan henkilökohtaisen sertifikaatin varmentamista. Lisäksi sovelluksella voi olla käytössään useita autentikointimoduuleja yhtä aikaa lisäturvallisuutta varten. JAAS on itsessään hyvin mukautuvainen: Sen osia voidaan vaihtaa toisiin, esimerkiksi sovellusten autentikaatiota ohjaavat konfiguraatioluokat voidaan korvata sellaisilla, jotka hakevat asetukset esimerkiksi ulkopuoliselta palvelimelta. JAAS on suunniteltu siten, että varsinaiset autentikointimekanismit on irrotettu sovelluskohtaisesta ohjelmakoodista erillisiksi autentikaatiomoduuleiksi, joten sovellukset on mahdollista tehdä riippumattomaksi autentikaatiotekniikasta; JAAS toimii liimana sovellusten ja autentikointimekanismien välillä. Tästä on etuna se, että sovelluksiin voidaan rakentaa tuki valmiiksi erillaisille autentikointitavoille. Esimerkiksi sovellus voi tukea toimialakortti-pohjaista sisäänkirjautumista tai perinteistä 12 PLUGIT- HANKKEEN SELVITYKSIÄ JA RAPORTTEJA 9

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN, RANNANHEIMO tunnus/salasana paria, ja sovelluksen ajon aikainen ympäristö voi käyttää näistä jompaa kumpaa tarpeen ja sovelluksen konfiguraation mukaan. JAAS mahdollistaa myös autentikointimoduulien vaihtamisen ja konfiguroimisen ilman sovelluksien uudelleen kääntämistä. Yksi moduuli voi esimerkiksi tukea salasana/tunnus parin tarkistamista LDAP-hakemistosta ja toinen perinteisemmästä ydin-järjestelmästä ja kolmas toimialakortista ladattavan henkilökohtaisen sertifikaatin varmentamista. Lisäksi sovelluksella voi olla käytössään useita autentikointimoduuleja yhtä aikaa lisäturvallisuutta varten. JAAS on itsessään hyvin mukautuvainen: Sen osia voidaan vaihtaa toisiin, esimerkiksi sovellusten autentikaatiota ohjaavat konfiguraatioluokat voidaan korvata sellaisilla, jotka hakevat asetukset esimerkiksi ulkopuoliselta palvelimelta. Salasana/ tunnuslomake Java-sovellus Tuki muulle autentikaatiotavalle (esim. toimialakortti) Sovelluskohtainen konfiguraatio Autentikointitietojen keruuluokka login logout LoginContext - olio Ydinautentikaatiomoduuli Autentikaatiomoduuli 2 Autentikaatiomoduuli 3 Ydinjärjestelmä Ulkoinen rekisteri (esim. LDAP) Ulkoinen rekisteri (esim. OID-palvelin) Kuva 1. JAAS-arkkitehtuuria käyttävä Java-sovellus TERVEYDENHUOLLON AVOIMET SOVELLUSRAJAPINNAT - KÄYTTÄJÄ - JA KÄYTTÖOIKEUSRAJAPINNAT 13

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN. RANNANHEIMO 2.2 PIDS PIDS (Person Identification Service) on Object Management Groupin (OMG) kehittämä rajapint a- määritys, joka määrittelee CORBA-palvelukokonaisuuden jolla voidaan hoitaa henkilötietoihin liittyviä tehtäviä, esimerkiksi henkilöiden haku, uusien henkilöiden rekisteröinti ja henkilötietojen yhdistäminen jos sama henkilö on rekisteröity useampaan kertaan (Savolainen 2004). Tarkoitus ei kuitenkaan ole toteuttaa PIDS:iä CORBA-palveluna vaan hyödyntää sen toiminnallisuutta tekniikkariippumattomassa liittymämäärittelyssä. PIDS-toiminnallisuuden hyödynnetään haettaessa tunnistetun toimijan tietoja, esimerkiksi käyttäjän koko nimeä tai SV-numeroa. 2.3 RAD OMG:n Healthcare Domain Task Force aloitti RAD-standardin (Resource Access Decision) suunnittelun ja kehittämisen vuonna 1998 ja se hyväksyttiin vuonna 2000. RAD:in kehityksen taustalla oli terveydenhuollon organisaatioissa herännyt tarve yhtenäistää tietojärjestelmien pääsynvalvontaa, eli toimintoja ja menettelyjä, joiden avulla tietojärjestelmään pääsy tai tiedon saanti sallitaan vain valtuutetuille toimijoille (Savolainen 2004). RAD-standardia ei ole suoranaisesti hyödynnetty käyttöoikeus-rajapintojen yhteydessä, mutta se on ollut tärkeä osa rajapintoihin tarvittavan toiminnallisuuden kartoittamisessa. 2.4 Musti käyttäjänhallinta? Jari P. lupasi tuottaa tähän tekstiä. 2.5 Taustaselvitys Tähän yleisesti kuinka moni yritys /organisaatio osallistui kyselyyn jne. Siirrä muista kappaleista. 2.5.1 Käyttäjärajapinta Kuvaus: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Kuvaus: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Kuvaus: Käyttäjätietoa hallitaan yhdessä käyttäjänhallintajärjestelmässä Käyttäjänhallintapalvelu Yleinen Keskitetty käyttäjänhallinta Käyttäjän tunnistuksessa voitava käyttää toimikorttia, käyttäjätunnus ja salasana -paria sekä tulevaisuudessa kertakäyttöisiä salasanoja (esim. erikoistilanteissa joissa asiakas on käyttäjä) Käyttäjän tunnistus- ja kirjautumispalvelu JAAS Toiminnallinen Rajapinnan täytyy tukea montaa eri autentikaatiomekanismia ja eristää sovelluksen autentikaatio rajapinnasta??? Juha miten tämä oli? Käyttäjän tarvitsee kirjautua vain yhteen kertaan, ja saa käyttöönsä 14 PLUGIT- HANKKEEN SELVITYKSIÄ JA RAPORTTEJA 9

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN, RANNANHEIMO Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Kuvaus: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: kaikki sovellukset, joita työtehtävien suorittamisessa tarvitsee Käyttäjän kirjautumispalvelu Toiminnallinen Kertakirjautuminen (single-sign-on) Rajapinnan kautta täytyy saada käyttäjätiedot: nimi sähköpostiosoite mahdollinen SV-numero organisaatio toimipiste toimipaikka tai klinikka/osasto [rekisterinpitäjä] Yleiset, yhteiset (ydinjärjestelmästä hyödynnettävät) tietosisällöt Toiminnallinen Kuvaus: Rajapinnan kautta täytyy saada käyttäjän käyttäjäryhmä tai rooli tieto Kohde: Yleiset, yhteiset (ydinjärjestelmästä hyödynnettävät) tietosisällöt Riippuvuudet: Tukimateriaali: Tyyppi: Toiminnallinen Historia: Yleisiä roolitietoja ei ole määritelty. Käyttöoikeusrajapinnan kautta voidaan kysyä: onko käyttäjällä oikeus resurssiin X, ja resurssi voi olla myös määritelty rooli. Kuvaus: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Organisaatiotieto tarvitaan tallentaa erillissovelluksessa tapahtumatietoihin. Organisaatiotietoa hyödynnetään erillissovelluksessa käyttöoikeuksien määrittelyssä Tietojen hyödyntäminen erillisjärjestelmässä Toiminnallinen Käyttäjärajapinnan kautta organisaatiotieto saadaan käyttöön erillissovelluksessa. 2.5.2 Oikeusrajapinta Kuvaus: Kohde: Käyttöoikeudet hallitaan ydinjärjestelmässä, erillisjärjestelmä hyödyntää tietoja Käyttöoikeuden hallintapalvelu TERVEYDENHUOLLON AVOIMET SOVELLUSRAJAPINNAT - KÄYTTÄJÄ - JA KÄYTTÖOIKEUSRAJAPINNAT 15

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN. RANNANHEIMO Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Kuvaus: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Kuvaus: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Kuvaus: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Kuvaus: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Kuvaus: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Kuvaus: RAD Toiminnallinen Keskistetty käyttöoikeuksien hallinta Käyttöoikeus- ja käyttötapaprofiili on voitava hakea keskitetysti Käyttöoikeuden hallintapalvelu Kyselyt yrityksille Toiminnallinen Käyttöoikeusrajapinta mahdollistaa näiden kyselyn, jos niiden tunnisteet on määritelty Erillissovelluksissa on voitava käyttää sovellusspesifisiä käyttöoikeus- ja käyttötapatietoa Toteutuskohtainen Kyselyt yrityksille Toiminnallinen Rajapinta mahdollistaa sovelluskohtaisten oikeuksien ylläpidon keksitetyssä palvelussa Käyttöoikeudet määritetään käyttäjäryhmän mukaan (toimenkuva tai työtehtävä, roolit ja/tai profiilit) Toteutuskohtainen Toiminnallinen Rajapinta perustuu käyttäjäkohtaisten oikeuksien kyselyyn. Roolitietoa voi kysellä rajapinnan kautta tai palvelu voi roolitiedon perusteella päättää oikeuden antamisesta tai kieltämisestä. Käyttäjä täytyy voida liittää useaan käyttäjäryhmään Käyttöoikeuden hallinta-palvelu Toiminnallinen Palvelun perusvaatimus, joka ratkaistaan toteutuskohtaisesti Käyttöoikeuksia pitää voida määrittää sovelluksen toimintoihin toimintokohtaisesti Toteutuskohtainen Toiminnallinen Käyttöoikeuksia täytyy voida määrittämään organisaatio- tai toimipaikkarajojen yli 16 PLUGIT- HANKKEEN SELVITYKSIÄ JA RAPORTTEJA 9

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN, RANNANHEIMO Prioriteetti: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Kuvaus: Prioriteetti: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Kuvaus: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Kuvaus: Kohde: Riippuvuudet: Tukimateriaali: Tyyppi: Historia: Toteutuskohtainen Toiminnallinen Riippuu rajapinnan käyttötavasta, hallinnollinen kysymys Hoitosuhde määritetään ydinjärjestelmässä, josta erityisjärjestelmä voi tarvittaessa tietoa hyödyntää (keskitetty hoitosuhdetiedon ha l- linta) Jatkokehitys Hoitosuhteen välittyminen??? Kyselyt yrityksille Toiminnallinen Hoitosuhde määräytyy organisaation, toimipisteen ja yksikön mukaan (esim. potilas on tai on ollut hoidossa käyttäjän yksikössä, potilas on tulossa hoitoon käyttäjän yksikköön) Käyttöoikeuksien hallinta Toiminnallinen Näiden parametrien käyttö rajapinnassa ovat mahdollisia. Potilaan suostumus on voitava olla lähete-, hoitojakso-, hoitoketju-, tieto- tai tietojoukkokohtainen Potilaan suostumusten hallinta Toiminnallinen 2.5.2.1 YHTEENVETO OIKEUSRAJAPINTAAN KOHDISTUVISTA VAATIMUKSISTA Rajapinnan kautta on voitava kysellä erittäin monipuolisesti erityyppisiä käyttöoikeuksia. Rajapintaan määritellään tarvittavat operaatiot ja parametrit, joiden avulla on mahdollista kysyä keskitetysti palvelusta yhdelle tunnistetulle käyttäjälle mm: sovellusten yhteisiä käyttöoikeustietoja sovelluskohtaisia käyttöoikeustietoja käyttäjän oikeutta tiettyyn toimintoon käyttäjän oikeutta tiettyyn tietojoukkoon käyttäjän kuulumista tiettyyn käyttäjäryhmään tai -rooliin käyttäjän lisäksi potilaaseen liittyvää oikeutta (esim. hoitosuhde ja suostumus). Rajapinnassa ei määritellä mitkä ovat tarkat parametrit kullekin lupakyselylle. Esimerkiksi tiettyä yksityiskohtaista lupaa kysellessä voidaan joko välittää tarpeellinen määrä yksikkö- tai muuta käyttäjään liittyvää tietoa rajapinnan tarjoavalle järjestelmälle, tai nojautua siihen, että tarjoava sovellus tietää tarvittavat taustatiedot. TERVEYDENHUOLLON AVOIMET SOVELLUSRAJAPINNAT - KÄYTTÄJÄ - JA KÄYTTÖOIKEUSRAJAPINNAT 17

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN. RANNANHEIMO On suositeltavaa, että keskeisten käyttöoikeuskyselyiden parametrit lyödään lukkoon tarkemmalla tasolla ja määritellään kunkin tyyppisen kyselyn parametrit ja palvelun ja palveluja käyttävän sovelluksen vastuut. 18 PLUGIT- HANKKEEN SELVITYKSIÄ JA RAPORTTEJA 9

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN, RANNANHEIMO 3 VAATIMUSMÄÄRITTELY 3.1 Osallistuvat järjestelmät Tässä luetellut järjestelmät ovat yleisnimiä käyttäjä- ja käyttöoikeustietoja ylläpitäville ja käyttäville järjestelmille. Samassa järjestelmässä ja useissa järjestelmissä on nykyisellään toteutettuna useita näistä rooleista. 3.1.1 Käyttäjän tunnistusjärjestelmä Järjestelmä, jonka avulla voidaan yksikäsitteisesti tunnistaa yksittäinen käyttäjä. Tunnistus voi perustua esim. käyttäjätunnuksen ja salasanan tai toimikortin ja PKI-järjestelmän hyödyntämiseen. Käyttäjän tunnistusjärjestelmän avulla voidaan varmistua siitä, että käyttäjä on se, joka väittääkin olevansa. Käyttäjän tunnistukseen käytetyn tavan yhtenäistäminen ei ole tämän projektin tavoitteena, mutta valmiiden, yleisesti käytettyjen ja kehitteillä olevien tunnistusjärjestelmien tulisi olla liitettävissä määriteltäviin rajapintoihin. 3.1.2 Käyttäjähallintajärjestelmä Järjestelmä, jolla organisaatiossa hallinnoidaan käyttäjiä ja käyttäjäryhmiä. Järjestelmän avulla määritellään organisaatiossa ja sen eri yksiköissä käyttäjiä useille eri järjestelmille. Järjestelmä liittyy usein kiinteästi käyttöoikeuksien hallintaan. Jos organisaatiolla on käytössä keskitetty käyttäjähallintajärjestelmä, organisaatiokohtaiset käyttäjäprofiilit kuuluvat siihen. 3.1.3 Käyttöoikeuksien hallintajä rjestelmä Järjestelmä, jolla organisaatiossa myönnetään tai evätään käyttöoikeuksia käyttäjille, käyttäjäryhmille tai käyttäjärooleille eri järjestelmiin ja niiden eri ominaisuuksien käyttöön. Eri tyyppisiä käyttöoikeuksia ovat esim. tietojen katselu, tietojen päivittäminen ja eri toimintojen käynnistäminen. Järjestelmä hyödyntää tai liittyy kiinteästi käyttäjähallintajärjestelmään. Jos organisaatiolla on käytössä keskitetty käyttöoikeuksien hallintajärjestelmä, useat sovellukset hyödyntävät samaa käyttöoikeuksien hallintajärjestelmää. 3.1.4 Käyttäjätietoja hyödyntävä järjestelmä Järjestelmä (esim. erillisjärjestelmä), joka on tarpeen integroida yhtenäisen käyttäjätunnistuksen, käyttäjähallinnan tai oikeuksien hallinnan kanssa. Erillisjärjestelmissä on usein sisäisiä käyttäjäprofiileja ja käyttöoikeuksia. TERVEYDENHUOLLON AVOIMET SOVELLUSRAJAPINNAT - KÄYTTÄJÄ - JA KÄYTTÖOIKEUSRAJAPINNAT 19

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN. RANNANHEIMO 3.2 Nykytila Kuva 2: Käyttäjä- ja oikeus -rajapinta ydin- ja erillisjärjestelmäympäristössä Nykytilan kuvaus on koottu Suomen Kuntaliiton ja Stakesin julkaiseman sosiaali- ja terveydenhuollon tietojärjestelmäkartoituksen 2001 (Hartikainen & muut 2002) perusteella sekä ohjelmistotoimittajille ja terveydenhuollon organisaatioille suunnatun kyselyn perusteella. Tietojärjestelmäkartoituksen tarkoituksena oli selvittää, kuinka kansalliset tavoitteet sosiaali- ja terveydenhuollon tietoteknologian hyödyntämisessä ovat toteutuneet alueittain ja sovelluksittain. 3.2.1 Käyttäjän tunnistus Sosiaali- ja terveydenhuollon tietojärjestelmäkartoituksessa 90 %:a vastaajista ilmoitti, että työasemat on suojattu salasanoilla. Käyttäjätunnukset ovat henkilökohtaisia 66 prosentilla vastaajista. 27 prosentilla vastaajista on käytössä sekä henkilökohtaiset että ryhmäkohtaiset tunnukset. 50 %:a va s- 20 PLUGIT- HANKKEEN SELVITYKSIÄ JA RAPORTTEJA 9

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN, RANNANHEIMO taajista ilmoitti, että salasana vaihdetaan alle 3 kuukauden välein. 38 %:a vastaajista ilmoitti, ettei salasanojen vaihtamisesta ole sopimusta. Suurissa organisaatioissa asia on hoidettu pieniä paremmin. (Hartikainen & muut 2002) Käyttäjän tunnistus perustuu yleensä eri järjestelmien omiin tunnistusmekanismeihin, yleensä käyttäjätunnuksen ja salasanan käyttöön. Terveydenhuollon ammattilaisilla voi olla joukko salasanoja eri järjestelmiin, ja salasana kysytään yleensä aina järjestelmän käynnistyksen yhteydessä. Käytössä on myös osastokohtaisia tunnuksia, joilla useat käyttäjät pääsevät järjestelmään ilman, että tarvitsee kirjautua uudelleen esim. käyttäjätunnuksen ja salasanan avulla. 3.2.2 Käyttäjätietojen hallinta Sosiaali- ja terveydenhuollon tietojärjestelmäkartoituksen mukaan organisaation koolla ei ole varsinaisesti vaikutusta hallinnointitapaan. Salasanojen hallinnoinnista vastaa yleensä pääkäyttäjä (72 %), atk-yhdyshenkilöt (31 %) tai atk-operaattorit (23 %). (Hartikainen & muut 2002) Eri järjestelmissä on usein omat käyttäjärekisterinsä, joka aiheuttaa moninkertaista käyttäjätietojen ylläpitoa. Käyttäjärekisterin lisäksi eri järjestelmillä on omat käyttäjäprofiilinsa. Joidenkin ohjelmistotoimittajien tuotteiden välillä on keskitetty käyttäjähallinta, jolloin yhdellä käyttäjätunnus ja salasanaparilla voidaan kirjautua useampaan järjestelmään. 3.2.3 Käyttöoikeudet Käyttöoikeudet määritellään yleisimmin käyttäjäryhmittäin (65 %), ammattiryhmittäin (34 %) ja asiakas-hoitosuhteen mukaan (17 %). Käyttöoikeuksia voidaan määritellä myös toimipaikoittain, toimintayksiköittäin tai muulla tavoin. Organisaation koolla ei ollut merkitystä kuin käyttöoikeuksien määrittelyssä toimintayksiköiden perusteella. Suurissa organisaatioissa käyttöoikeuksia jaettiin pieniä enemmän toimintayksiköiden perusteella, koska niissä on enemmän erillisiä toimintayksiköitä kuin pienissä. (Hartikainen & muut 2002) Eri järjestelmiin on yleensä määritelty sisäiset käyttöoikeudet ja käyttäjäprofiilit, eikä käyttöoikeuksien ylläpito ole yleensä keskitetty yhteen järjestelmään. Käyttöoikeuksia eri järjestelmiin mä ä- ritellään esim. järjestelmän käyttöönoton ja uuden käyttäjän lisäyksen yhteydessä. Käyttöoikeudet eri järjestelmiin on määritelty käyttäjän työtehtävien, organisaation tai toimipisteen mukaan. 3.2.4 Käyttäjä- ja organisaatiotietojen yhdistäminen Käyttäjälle annetaan käyttöoikeus tietyn organisaation tietoihin tai toimipisteen tietoihin. Joissakin sovelluksissa käyttäjän kirjautuessa sisään järjestelmään tunnistetaan myös organisaatio. Lisäksi käyttäjän tallentamista tiedoista tallentuu myös organisaatiotieto. Käyttäjä voi muuttaa vain oman organisaation tietoja. 3.2.5 Hoitosuhde ja potilaan suostumukset Hoitosuhteen katsotaan yleensä olevan automaattisesti, kun potilas on hoidettavana samalla osastolla kuin terveydenhuollon ammattihenkilö työskentelee. Tietojen haussa tarkastetaan käyttäjän ho i- tosuhde potilaaseen. Potilaan suostumuksia tai kieltoja ei vielä yleisesti huomioida järjestelmissä. Joissakin järjestelmissä otetaan huomioon potilaan suostumus. Silloin järjestelmään kirjataan tiedot, tulostetaan lomake, jonka potilas allekirjoittaa. Myös hoitopala utteen ovt-lähetyksessä, järjestelmän etäkäytössä tai tekstiviesteinä tapahtuvassa viestinnässä on potilaan suostumus huomioitu. TERVEYDENHUOLLON AVOIMET SOVELLUSRAJAPINNAT - KÄYTTÄJÄ - JA KÄYTTÖOIKEUSRAJAPINNAT 21

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN. RANNANHEIMO 3.3 Tavoitetila ja kehittämiskohteet Tavoitetilan kuvaus ja kehittämiskohteet ovat koottu ohjelmistokyselystä, joka toteutettiin kevättalvesta 2003. Kyselyyn vastasi yksi kohteiden palveluja tarjoava yritys ja kuusi kohteiden palveluja hyödyntävää järjestelmän edustajaa sekä joitakin sairaanhoitopiirejä. Kehittämiskohteita ja tavoit e- tilan kuvauksessa on hyödynnetty myös olemassa olevia aineistoja mm. aluearkkitehtuuria. 3.3.1 Palveluja hyödyntävän järjestelmän vaatimuksia 3.3.1.1 KÄYTTÄJÄNTUNNISTUS Kyselyssä tuli selvästi ilmi pyrkimys sähköiseen tunnistamiseen toimikortilla tai jollain muulla sähköisen tunnistamisen ratkaisulla. Niihin tuotteisiin, jotka eivät vielä toteuta kertakirjautumista (single-sign-on), mainittiin se kehityskohteeksi. Kahdessa vastauksessa tuli esille kertakäyttöisten salasanojen käyttö tulevaisuudessa. Esimerkkinä tapaus: potilas pääsisi katselemaan omia tietojaan sähköisesti. 3.3.1.2 KÄYTTÖOIKEUDET JA NIIDEN MÄÄRITTELY Käyttöoikeuksien määrittelyssä ei ole selkeitä tavoitetilan vaatimuksia ja ne ovat hoidettu hyvin eri tavalla sovelluskohtaisesti. Hoitosuhteeseen ja suostumuksiin liittyvät kehitysehdotukset liittyvät kiinteästi käyttöoikeuksiin (kappaleet 3.3.1.6 ja 3.3.1.7). 3.3.1.3 KÄYTTÄJÄPROFIILIT Kyselyssä tuli ilmi, että osassa sovelluksista on käytössä käyttäjäprofiilit ja niiden käyttö nähtiin tulevaisuudessakin järkeväksi. Sovelluksissa, joissa profiileja ei ollut käytössä, ei niitä mainittu kehitystarpeiksi. 3.3.1.4 KÄYTTÄJÄHALLINTA Yhteisenä tavoitteena oli, että käyttäjän tietoja hallinnoitaisiin yhdestä järjestelmästä ja käyttäjän tieto välittyisi erillisjärjestelmälle (keskitetty käyttäjänhallinta). Vastauksista oli myös havaittavissa että järjestelmätasolla keskitetty käyttäjän- ja käyttöoikeuksien hallinta (sekä mahdollisesti käyttäjäntunnistus) olisi toivottava. 3.3.1.5 HYÖDYNNETTÄVÄT KÄYTTÄJÄTIEDOT Minimissään erillissovelluksissa tarvitaan käyttäjän organisaatio, toimipiste/osasto ja nimitiedot. Yhteenvetona vastauksista löytyi seuraava joukko tietoja, jotka voisivat olla mahdollisesti jonkun sovelluksen tarvitsemia tietoja: Käyttäjän etunimi, sukunimi Käyttäjätunnus Käyttäjän syntymäaika Erikoisala Tehtävänimike Päättymispäivä Salasana Käyttäjän sähköpostiosoite Käyttäjän mahdollinen SV-numero 22 PLUGIT- HANKKEEN SELVITYKSIÄ JA RAPORTTEJA 9

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN, RANNANHEIMO Organisaatio Käyttäjäryhmä Toimipaikka / klinikka Osasto Rooli Rekisterinpitäjä Käyttäjäoikeustietoja (molemmat käyttöoikeus: sovelluksen tai osasovelluksen avausoikeus ja käyttötapaoikeus: lisäys, muokkaus, poisto) 3.3.1.6 HOITOSUHDE Hoitosuhdetta ei tarvitse huomioida kaikissa erillisjärjestelmissä ollenkaan. Hoitosuhteen määräytymisen tavoitetilan vaatimukset eivät olleet selkeitä ja vastauksista kävi ilmi että asia vaatisi tarkemman määrittelyn. Tavoitetilan vaatimuksena on kuitenkin että hoitosuhde saataisiin mistä tahansa perusjärjestelmästä (tai kertomusjärjestelmästä) yhdenmukaisella tavalla. 3.3.1.7 POTILAAN SUOSTUMUKSET JA KIELLOT Osassa erillisjärjestelmiä potilaan suostumuksia ja kieltoja ei ole tarvetta huomioida lainkaan. Niissä järjestelmissä, joissa suostumukset ja kiellot pitää huomioida, suostumusten hallinta on toteutettu jo jollakin tavalla (esim. suostumustieto tulee potilas- tai kertomusjärjestelmästä). Suostumukset ovat pääsääntöisesti hoitojakso tai lähetekohtaisia. Tulevaisuudessa on luultavasti tarvetta hallita yksittäisen tiedon tai tietojoukon rajaavia suostumuksia ja kieltoja. 3.3.2 Palveluja tarjoavan järjestelmän vaatimuksia 3.3.2.1 KÄYTTÄJÄNTUNNISTUS Single-sign-on piiri, jossa käyttäjä tunnistetaan käyttäjätunnuksella ja salasanalla. Mistä tahansa sovelluksesta voidaan kytkeytyä sso-piiriin, jos sovellus tuntee rajapinnat. Tulevaisuudessa on tavoitteena toteuttaa toimikortti-tunnistamisen ratkaisu. 3.3.2.2 KÄYTTÖOIKEUDET JA NIIDEN MÄÄRITTELY Käyttäjä liitetään johonkin tehtäväkohtaiseen käyttäjäryhmään, jonka mukaan käyttöoikeudet määräytyvät. Käyttäjä voidaan liittää useaan käyttäjäryhmään. Yksittäisen käyttäjän oikeuksia ei voi muokata. 3.3.2.3 KÄYTTÄJÄN PROFIILIT Keskitetty oikeuksienhallinta, jonka ydinjärjestelmä tarjoaa avoimen rajapinnan kautta erillisjärjestelmille. 3.3.2.4 KÄYTTÄJÄNHALLINTA Keskitetty käyttäjänhallinta, jonka ydinjärjestelmä tarjoaa avoimen rajapinnan kautta erillisjärjestelmille. 3.3.2.5 POTILAAN SUOSTUMUS Tavoitetilanteessa integroidaan ydintietojärjestelmään alueellinen suostumustenhallintajärjestelmä. TERVEYDENHUOLLON AVOIMET SOVELLUSRAJAPINNAT - KÄYTTÄJÄ - JA KÄYTTÖOIKEUSRAJAPINNAT 23

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN. RANNANHEIMO 4 TEKNIIKKARIIPPUMATTOMAT LIITTYMÄ- MÄÄRITTE LYT Tämä kappale kuvaa PlugIT-projektin kohteiden käyttäjä- ja käyttöoikeus tekniikkariippumatonta määrittelyä. Sen tavoitteena on jatkaa edellisen kappaleen integraatiovaatimuksien tarkentamista ja kuvata ne kohteet, yleiset palvelut, komponentit, jotka sisältyvät toimijan (esim. käyttäjä) tunnistamiseen ja sovelluskohtaisten valtuuksien myöntämiseen ja hallinnointiin. Tässä kappaleessa on myös kuvattuna toiminnallisesti ne konkreettiset metodit, joita osapuolet tämän toiminnallisuuden tavoittamiseksi tarvitsevat. * Toimija * 1 Toimijan tunnistaminen «extends» «uses» «uses» 1 Sovelluskohtainen tunnistamismenetelmien profiili * Ylläpitäjä * * 1 Tunnistamistietojen kerääminen 1 1 Toimijan valtuuttaminen «uses» Toimijan valtuudet Kuva 3. Toimijan tunnistaminen ja valtuuttaminen Käyttäjä-käyttöoikeus- rajapinnan on vastattava useaan yhtäaikaiseen haasteeseen. Ensisijainen tavoitteena pidetään toimijan (esim. käyttäjä) identiteetin luotettava tunnistaminen ja sovelluskohtaisten valtuuksien myöntämistä ja hallinnointia. 4.1 Rajaus 4.1.1 Kertakirjaus Single Sign-on toiminnallisuus (SSO) eli kertakirjautuminen on tärkeä osa käyttäjän tunnistamista: Jos käyttäjä voidaan todeta jo tunnistetuksi, sisäänkirjautumisvaihe voidaan ohittaa. Kertakirjautuminen on mahdollista vain, jos kaikki kertakirjautumiseen osallistuvat erillissovellukset ovat saman keskitetyn istunnon hallinnan piirissä. Vaikka istunnon hallinta komponentin/palvelun merkitys onkin tämän takia suuri, sen toiminnallisuus voidaan jättää käyttäjä-käyttöoikeus kokonaisuuden ulkopuolelle jolloin kertakirjautuminen tapahtuu ulkopuolisen kontekstinhallinta-palvelun avulla (Tuomainen 2004). Siinä istunnon hallinta on osa suurempaa kokonaisuutta jossa pääpaino on erillissovellusten keskitetyllä kontekstinhallinnalla. Vaihtoehtoisesti istunnon hallinta voidaan rakentaa sisäänkirjautumispalvelun yhteyteen tai sisäänkirjautumispalvelu käyttää itse sisäisesti ulkopuolista 24 PLUGIT- HANKKEEN SELVITYKSIÄ JA RAPORTTEJA 9

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN, RANNANHEIMO kontekstinhallinta-palvleua. Käyttäjä-käyttöoikeus rajapintojen kannalta istunnon hallinta tarjoaa palvelua, josta voidaan tarkistaa toimijan olemassaolevat varmennustiedot ennen sisäänkirjautumista ja jonne voidaan viedä tieto toimijan sisäänkirjautumisesta tai uloskirjautumisesta. 4.1.2 Käyttäjän tietojen hakeminen Toimijan tunnistamisen jälkeen tämän tietoja voidaan hakea PlugIT-projektissa määritellyn ProficeAccess-rajapinnan avulla (Rannanheimo 2004). Rajapinnan avulla voidaan hakea toimijan profiiliin liittyviä ominaisuuksia (esim. henkilötunnus, SV-numero, osoitetiedot), kun toimijan tunnistetiedot on ensin saatu selville sisäänkirjautumalla tai muuten tunnistamalla toimija. Tämän takia toimijan tietojen hakeminen ei kuulu osana tämän dokumentin määrittelemiä rajapintoja. 4.1.3 Valtuuksien hallinnointi Rajapinnoissa ei tässä vaiheessa oteta kantaa, miten käyttäjien tunnistamismenetelmiä tai valtuuksia pitäisi hallinnoida. Rajapintojen kautta on mahdollista siis vain selvittää toimijan identiteetti ja valtuudet. 4.2 Käyttäjä-käyttöoikeus-palveluiden yhteistoiminnallisten osien kuvaus TERVEYDENHUOLLON AVOIMET SOVELLUSRAJAPINNAT - KÄYTTÄJÄ - JA KÄYTTÖOIKEUSRAJAPINNAT 25

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN. RANNANHEIMO Asiakassovellus Turvallisuuspalvelu Turvallisuusprofiilivarasto Istunnon hallinta toimijan sisäänkirjautuminen Varmentaja hae_profiili [ok] riittävä_tunnistus ok := onko_jo_riittävä_tunnistus Voidaan palauttaa myös valtuudet kerää_tunnistautumisparametrit tavat := lista_parametreistä [!ok] ei_riittävää_tunnistusta [tavat] ok := tarkista_tunnistautumisparametrit [ok] talletetaan_riittävä_tunnistus [ok] riittävä_tunnistus Voidaan palautettaa myös valtuudet * valtuuskysely * valtuuskysely tieto valtuudesta uloskirjautuminen poista_tunnisteet Kuva 4. Käyttäjä-käyttöoikeus rajapintoja käyttävät osat ja niiden suhteet toisiinsa 26 PLUGIT- HANKKEEN SELVITYKSIÄ JA RAPORTTEJA 9

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN, RANNANHEIMO 4.2.1 Asiakassovellus Asiakassovellus tarkoittaa terveydenhuollon tietojärjestelmän sovellusta, eli sitä osiota järjestelmästä, joka käyttää terveydenhuolto-organisaation ydin-järjestelmän tieto-palveluita ja joka on integroitavissa käyttämään itsenäistä turvallisuuspalvelua sen sijaan että itse hoitaisi turvallisuuden kommunikoimalla suoraan ydin-järjestelmän kanssa. Asiakassovelluksen pitää pystyä vastaamaan turvallisuuspalvelun kyselyihin käyttäjän tunnistetiedoista, toisin sanoen asiakassovelluksen tehtävä on kerätä lista tunnistimista, joita turvallisuuspalvelu kysyy ja joilla käyttäjä voidaan identifioida luotettavasti. 4.2.2 Turvallisuuspalvelu Turvallisuuspalvelun tehtäviä ovat: Asiakassovelluksen kautta sisäänkirjautuminen ja uloskirjautuminen Varmennuksessa käytettävien tunnistimien kysely asiakassovelluksilta Varmennustapojen koordinointi sisäänkirjoittauduttaessa Valtuutustietojen palauttaminen asiakassovelluksille Turvallisuuspalvelu on määritetty kahdeksi palveluksi AuthenticateUser ja AuthorizationAccess. Käytännössä kappaleen 5 teknisissä rajapintamäärityksissä on kuvattu ainoastaan asiakassovelluksen ja turvallisuuspalvelun. Muut rajapinnat ovat osana turvallisuuspalvelun sisäistä toteutusta ja ne eivät näy sovellusohjelmoijalle. 4.2.3 Turvallisuusprofiilivarasto Toimija- ja sovelluskohtaiset tarvittavat tunnistamistiedot ja valtuudet. Lisäksi palvelu voi tarjota tietoa esimerkiksi siitä, mitä erilaisia tunnistautumismenetelmiä eri sovelluksiin sisäänkirjauduttaessa koetetaan. Käytännössä tämä palvelu voi olla esimerkiksi tietokanta, jossa pidetään yllä käyttäjän tunnistamisessa käytettäviä salasana/tunnus pareja ja käyttäjä-kohtaisia valtuuksia. 4.2.4 Istunnon hallinto Istunnon hallinta on osa isompaa kokonaisuutta ydinjärjestelmässä, esimerkiksi kokonaisvaltaista kontekstinhallinta-palvelua asiakassovellusten välillä (Toivanen 2004), mutta käyttäjän tunnistautumisen kannalta olennaisinta on istunnon hallintaan talletetettava tieto käyttäjän tunnistautumisesta. Tätä tietoa voidaan käyttää hyödyksi ja ohittaa sisäänkirjautumis-vaihe jos samalta työasemalta käynnistetään useampi sovellus. 4.2.5 Varmentaja Mekanismi tai palvelu joka suorittaa käyttäjän toimittamisen tunnistautumistietojen oikeellisuuden tarkistamisen. Varmentajana voi toimia esimerkiksi kortinlukija-ohjelmisto tai salasana/tunnus parin tarkistava palvelu. 4.2.6 Tarvittavat rajapinnat Tässä kappaleessa on kuvattu ne rajapinnat, jotta käyttäjä-käyttöoikeus kokonaisuus tarvitsee yhteistoiminnallisuuden saavuttamiseksi (kts. kuva 4). Rajapinnat on tässä kuvattu ilman teknisiä to- TERVEYDENHUOLLON AVOIMET SOVELLUSRAJAPINNAT - KÄYTTÄJÄ - JA KÄYTTÖOIKEUSRAJAPINNAT 27

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN. RANNANHEIMO teutusvaihtoehtoja tai riippuvuuksia eli pseudo-liittyminä. Rajapinnat on lisäksi kuvattu niiden kutsujen pääasiallisten hyödyntäjien näkökulmasta, esimerkiksi mitä toimintoja turvallisuuspalvelun täytyy julkaista asiakassovellukselle. 4.2.6.1 ASIAKASSOVELLUS TURVALLISUUSPALVELU Ainoastaan tämä rajapinta näkyy rajapintatoteutusta käyttävälle sovellusohjelmoijalle. Sen takia vain siinä on kuvattu myös toimintojen parametrit ja paluuarvot. Kappaleessa 5 tämä toiminnallisuus on esitetty kahtena rajapintana: AuthenticateUser ja AuthorizationAccess. Toiminta Kutsuja Kuvaus Parametri Paluuarvo Toiminta Kutsuja Kuvaus Parametri Paluuarvo Toiminta Kutsuja Kuvaus Parametri Paluuarvo Toiminta Kutsuja Kuvaus Parametri Paluuarvo Toimijan sisäänkirjautuminen Asiakassovellus Toimijan sisäänkirjautuu. Tähän toimintoon voi liittyä useampi konkreettinen palvelukutsu, esimerkiksi voidaan selvittää onko sisäänkirjautuminen jo tapahtunut kyseiseltä työasemalta. Asiakassovellus voi myös toimia työasemalla mastersovelluksena, jolla ainoastaan on lupa kutsua sisäänkirjautumis-käytäntöä. Muut sovellukset voivat ainoastaan kysyä, onko sisäänkirjautuminen jo tapahtunut. Käyttäjän työaseman tunnistava ja yksilöivä tieto. Istunnon tunnistava tieto. Tieto sisäänkirjautumisen onnistumisesta tai epäonnistumisesta. Tunnistetun henkilön yksilöivä tieto (esimerkiksi hetu). Tunnistautumisparametrien kerääminen Turvallisuuspalvelu Asiakassovellus toimittaa turvallisuuspalvelun tarvitsemat tunnisteet joilla sisäänkirjautumista yrittävä toimija tunnistetaan. Tämän toiminnallisuuden toteuttaminen tässä muodossa vaatisi callback tyyppistä teknistä ratkaisua, joka ei sovellus hyvin esimerkiksi web-sovelluksiin. Tämän takia tunnistautumisparametrit voi olla käytännössä parempi lähettää jo asiakassovelluksen sisäänkirjautumisen yhteydessä. Tieto, mitä tunnistautumisparametrejä palvelu tukee. Esimerkkejä: Salasana/tunnus-pari, sertifikaatti, Valtuuskysely Asiakassovellus Asiakassovellus kysyy tarvittaessa toimijan valtuuksia, esimerkiksi tiettyihin asiakassovelluksen osa-alueisiin tai potilastietoihin liittyen. Istunnon tunnistava tieto Lupakyselyn määrittävä tieto Onko käyttäjällä lupa vai ei. Toimijan uloskirjautuminen Asiakassovellus Asiakassovellus ilmoittaa turvallisuuspalvelulle toimijan uloskirjautumisesta. Istunnon tunnistava tieto. Paluuarvoa ei tarvita. 4.2.6.2 TURVALLISUUSPALVELU TURVALLISUUSPROLIILIVARASTO Toiminta Toimijan profiilin hakeminen Kutsuja Turvallisuuspalvelu 28 PLUGIT- HANKKEEN SELVITYKSIÄ JA RAPORTTEJA 9

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN, RANNANHEIMO Kuvaus Toiminta Kutsuja Kuvaus Turvallisuusprofiili tarkistaa turvallisuusprofiilivarastosta toimijan tunnistamiseen tarvittavat varmentamismenetelmät. Valtuuskysely Turvallisuuspalvelu Turvallisuuspalvelu kysyy toimijan profiilitietoja valtuuksien suhteen. Valtuusprofiili voi sisältää esimerkiksi tiedon, mitä sovelluksia toimijalla on lupa käyttää. 4.2.6.3 TURVALLISUUSPALVELU VARMENTAJA Toiminta Kutsuja Kuvaus Tunnistautumisparametrien tarkistaminen Turvallisuuspalvelu Toimijan antamat tunnistautumisparametrit tarkistetaan varmentajan toimesta. 4.2.6.4 TURVALLISUUSPALVELU ISTUNNON HALLINTA Toiminta Kutsuja Kuvaus Riittävän tunnistautumisen tarkistaminen Turvallisuuspalvelu Turvallisuuspalvelu tarkistaa sisäänkirjautumis-menettelyn yhteydessä, onko toimija on tunnistettu aikaisemmin. Toiminta Kutsuja Kuvaus Toiminta Kutsuja Kuvaus Toimijan tunnisteiden tallentaminen Turvallisuuspalvelu Sisäänkirjautumisen onnistuessa toimijan tunnisteet tallennetaan istunnon hallintaan. Toimijan tunnisteiden poisto Turvallisuuspalvelu Toimijan tunnisteet poistetaan istunnon hallinnasta TERVEYDENHUOLLON AVOIMET SOVELLUSRAJAPINNAT - KÄYTTÄJÄ - JA KÄYTTÖOIKEUSRAJAPINNAT 29

SORMUNEN, PORRASMAA, SILVENNOINEN, MYKKÄNEN, SAVOLAINEN. RANNANHEIMO 5 TEKNISET XML- KIELISET LIITTYMÄ- MÄÄRITTELYT 5.1 AuthenticateUser-palvelu Tässä kappaleessa kuvataan teknisellä tasolla kappeleessa 4 määritellyn turvallisuuspalvelun toimintaa käyttäjän tunnistamisen ja sisäänkirjautumisen osalta. 5.1.1 GetCoupon Esimerkki: HTTP-sanoman XML-sisältö <?xml version= 1.0 encoding= UTF-8?> <request xmlns= urn:plugit:commonservices > <interface> AuthenticateUser</interface> <method>getcoupon</method> <param> <manifest>193.167.225.27</manifest> <applicationname>plugit_demosovellus </applicationname> </param> </request> Esimerkki: HTTP-vastauksen XML-sisältö <?xml version= 1.0 encoding= UTF-8?> <response xmlns= urn:plugit:commonservices > <coupon>fj2uc8a9</coupon> <authenticated>false</authenticated> </response> XML-elementti tai attribuutti manifest coupon Selitys Käyttäjän koneen IP-osoite (ja/tai nimi eroteltuna / merkillä). Manifest on merkkimuotoista tietoa, jolla ei maksimi-pituutta. Manifest voi myös koostua lisä-tiedoista, kuten tarvittaessa käyttäjän nimestä ja organisaatiotiedosta. Esimerkiksi manifest-tiedon ja kasvatettavan laskuriarvon pohjalta laadittu tiiviste ( hash-tiiviste ), joka on salattu (allekirjoitettu) turvallisuusavaimella esimerkiksi käyttäen HMAC-MD5 algoritmiä ja base64-koodausta. Hashtiivisteellä ei ole maksimipituutta, mutta sen pituus riippuu käytetystä HMAC-MD5 algoritmistä. Kupongin pitää aina olla ainutlaatuinen, vaikka GetCoupon kutsua kutsuttaisiin samalta työasemalta useaan kertaan. Palvelun tehtävä on muistaa, mitkä kupongit liittyvät mihinkin manifest-tunnukseen. HUOM! Kuponki voitaisiin hakea myös kontekstinhallinta-palvelusta eli olla suoraan participantcoupon. Tällöin GetCoupon-kutsun pitäisi myös liittyä kontekstinhallinta-palvelun yhteiseen kontekstiin eli kutsua palvelun Join- CommonContext-kutsua. Kuponki yksilöi käyttäjän istunnon. PlugIT-palveluja käyttävien sovellusten vastuulla on lisätä kuponki tunnisteeksi niihin palvelukutsuihin, joissa sitä tarvitaan. Kuponki talletaan autentikaatio-palvelun muistiin, jotta se tunniste- 30 PLUGIT- HANKKEEN SELVITYKSIÄ JA RAPORTTEJA 9