9:30 - 12:00 kontekstinhallinta

Post on 18-Mar-2016

37 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

9:30 - 12:00 Kontekstinhallinta. Minimikontekstinhallinnan määrittely, versio 3 (alustus Mika Tuomainen, KuY) Alueellisen kontekstinhallinnan käyttö (alustus Tommi Rissanen, Mediconsult) Keskustelu Jatkotoimenpiteet: kontekstinhallinta versio 3 lausuntokierroksen käynnistys - PowerPoint PPT Presentation

TRANSCRIPT

SerAPI

9:30 - 12:00 Kontekstinhallinta

• Minimikontekstinhallinnan määrittely, versio 3 (alustus Mika Tuomainen, KuY)

• Alueellisen kontekstinhallinnan käyttö (alustus Tommi Rissanen, Mediconsult)

• Keskustelu • Jatkotoimenpiteet: kontekstinhallinta versio 3

lausuntokierroksen käynnistys• Taustamateriaali osoitteessa: www.centek.fi/

serapi/mater/HL7cssig/

Minimikontekstinhallinnan määrittely, versio 3

Common Services SIG12.12.2005

Mika Tuomainen, Kuopion yliopisto

SerAPI

Sisältö

• Pohjadokumentit• Minimikontekstinhallinnan määrittely, versio 3 -

lisäykset ja täydennykset– Yleisesti– CreateSession-metodi– Sessioavain– Tietoturva– Muita tarkennuksia– Alueellinen kontekstinhallinta

• Avoimet kysymykset

SerAPI

Minimikontekstinhallinnan määrittely, versio 3

• olemassa olevien väliversio 2.1.1 ja tietoturvallisen soveltamisohjeen yhdistäminen

Tietoturvallinen kontekstinhallinta -soveltamisohje, v1

Minimikontekstinhallinnan määrittely, v3

Minimikontekstinhallinnan määrittely - organisaation sisäiseen käyttöön, väliversio 2.1.1

SerAPI

Väliversion 2.1.1 jatkokehitysehdotukset

– Tietoturva -> esitetty tietoturvaratkaisu, jonka pohjana Tietoturvallinen kontekstinhallinta - soveltamisohje

– Työaseman identifioiminen myös sessioavaimen avulla -> lisätty uusi CreateSession -metodi, jolla voi pyytää koordinaattoria luomaan session ja palauttamaan sessioavaimen

SerAPI

Väliversion 2.1.1 jatkokehitysehdotukset

– Alueellisen käytön tarpeiden huomioiminen -> alueellisesta käytöstä oma luku, joka pohjautuu Tietoturvallinen kontekstinhallinta - soveltamisohjeeseen

– Pollaukset ja aikakatkaisu -> ehdotettu esimerkki, kuinka voidaan toteuttaa nykyisten rajapintojen avulla

SerAPI

Tietoturvallinen kontekstinhallinta -soveltamisohjeen jatkokehitysehdotukset

– Sessioavaimen luominen koordinaattorissa -> CreateSession-metodi

– Käyttäjätunnuksen yksilöllisyys alueellisessa käytössä -> huomioitu alueellinen kontekstinhallinta luvussa

SerAPI

Sisältö

• Pohjadokumentit• Minimikontekstinhallinnan määrittely, versio 3 -

lisäykset ja täydennykset– Yleisesti– CreateSession-metodi– Sessioavain– Tietoturva– Muita tarkennuksia– Alueellinen kontekstinhallinta

• Avoimet kysymykset

SerAPI

Minimikontekstinhallinnan määrittely, versio 3 - lisäykset

• Lisätty luku työpöytäintegraatiosta johdannoksi.• Lisätty CreateSession-metodi ContextManager-

rajapintaan ja päivitetty sen seurauksena vaikutukset dokumentin muihin kohtiin.

• Lisätty erillinen tietoturvaluku.• Lisätty erillinen luku alueellisesta kontekstinhallinnasta.

SerAPI

• Aiemmin ollut yleisluku kontekstinhallinnan toiminnoista rajapintojen tekniikkariippumattoman kuvauksen yhteyteen.

• Käyttäjäsubjekti– suositus, ettei subjektin arvoissa käytetä erikoismerkkejä– lisätty tarkennusta, ettei koordinaattori vastaa

käyttäjätunnusten vastaavuustaulukoinnista

• Potilassubjekti– suositus, ettei subjektin arvoissa käytetä erikoismerkkejä

• Termi Context manager on korvattu läpi dokumentin termillä koordinaattori.

Minimikontekstinhallinnan määrittely, versio 3 - täydennykset

SerAPI

Minimikontekstinhallinnan määrittely, versio 3 - täydennykset

• SetItemValues-metodi – kontekstitiedoille voidaan määritellä erilaisia sovelluskohtaisia

asetusoikeuksia toteutuskohtaisesti.

• GetItemValues-metodi– kontekstitiedoille voidaan määritellä erilaisia sovelluskohtaisia

hakuoikeuksia toteutuskohtaisesti.

• Rajapintojen eri virhetilanteita kuvattu metodien tarkemmin GeneralFailure kohtiin.

• Poistettu sessionhallinta-luku http-teknisistä määrityksistä ja liitetty se omaan sessionhallintalukuun.

• Kuvattu ratkaisua pollaukseen yleisellä tasolla.

SerAPI

CreateSession-metodi: session ja sessioavaimen luominen

• inputs– optional string applicationName, – optional string hostAddress

• outputs– string sessionKey

• raises– GeneralFailure,– NotImplemented

SerAPI

CreateSession-metodi: session ja sessioavaimen luominen

• CreateSession-metodin avulla sovellus voi pyytää kontekstinhallintapalvelulta sessioavaimen.

• Kontekstin luominen ja yksilöinti perustuu tällöin tähän sessioavaimeen.

• Koordinaattori luo kontekstin tällöin jo kun sovellus kutsuu metodia, ei vasta kun ensimmäinen sovellus liittyy kontekstinhallintaan.

• Metodin käyttö ei ole pakollista– sessioavaimen voi luoda myös ensimmäinen kontekstiin liittyvä

sovellus (esimerkiksi perusjärjestelmä) tai se voidaan luoda jossain muualla kuin koordinaattorissa.

• Jos sessioavain luodaan muualla kuin koordinaattorissa, on varmistuttava avaimen yksilöllisyydestä

SerAPI

Sessioavain

• Sessioavainta tarvitaan työasemakohtaisen kontekstisession tunnistamiseen, jos työaseman ip-osoitetta ei voida käyttää työasemaa yksilöivänä tunnisteena.

• Sessioavaimen avulla voidaan toteuttaa tarvittaessa myös useita kontekstisessioita samalta työasemalta.

• Sessioavain välitetään kontekstipalvelimelle JoinCommonContext-metodissa sovelluksen liittyessä kontekstiin.

• Sessioavaimen on oltava vaikeasti arvattava ja yksilöitävä tiettyä kontekstia.

SerAPI

Sessioavaimen välittäminen

• Minimikontekstinhallinnan määrittelyssä ei oteta kantaa, kuinka sessioavain saadaan välitettyä eri sovelluksille, jotka haluavat liittyä tiettyyn tietyllä sessioavaimella yksilöityyn kontekstisessioon

• (Alueellisen kontekstinhallinnan yhteydessä sessioavaimen välittäminen web-sovellukselle)

• Sessioavaimen välittäminen on ratkaistava toteutuskohtaisesti.

• Sessioavaimen välittäminen sitä tarvitseville muille sovelluksille voi olla esim. perusjärjestelmän vastuulla

SerAPI

Tarkennukset kontekstiin liittymiseen

• JoinCommonContext-metodilla voi liittyä kontekstiin nyt seuraavilla parametreilla (applicationName aina pakollinen):

– hostAddress: kontekstisession yksilöinti perustuu työaseman ip-osoitteeseen.

– sessionKey: kontekstisession yksilöinti perustuu sessioavaimeen. – molemmat parametrit: sovellusten liittyminen kontekstiin voidaan

sallia molempien parametrien avulla. On huomioitava, että tämä lähestymistapa ei käy, jos samalta työasemalta on tarve käynnistää useita sessioita *

– ilman parametreja, jolloin kontekstisessio yksilöidään sovelluksen palvelukutsusta saatavan työaseman ip-osoitteen perusteella.

SerAPI

* Molempien parametrien käyttäminen

– Ei käy, jos samalta työasemalta on tarve käynnistää useita sessioita.

– Tällöin on riski, että koordinaattori menee sekaisin, mihin sessioavaimella yksilöitävään kontekstisessioon sovellus pitäisi liittää-> hyödynnettäessä mahdollisuutta luoda useita sessioita samalta työasemalta, on aina käytettävä sessioavainta.

ip-osoite

sessioavain

ip-osoite

sessioavain1

sessioavain2

sessioavain3

SerAPI

Tietoturvaratkaisu

• Ratkaistaan kontekstipalvelun ja siihen liittyvien sovellusten välistä tietoturvaa.

• Tietoturvaratkaisua voidaan käyttää niin organisaation sisäiseen kontekstinhallintaan kuin tilanteeseen, jossa kontekstinhallintaan on tarve liittyä organisaation ulkopuolelta.

• Myös mahdollisen alueellisti keskitetyn kontekstipalvelun ja siihen liittyvien järjestelmien välinen tietoturva voidaan toteuttaa tällä ratkaisulla.

SerAPI

Tietoturva - kaksisuuntainen SSL

• Kontekstinhallinnan minimitoteutuksessa toteutettava tietoturva varmistetaan käyttämällä kaksisuuntaista SSL-protokollaa http-protokollan alla.

• SSL-tekniikalla kontekstipalvelun ja siihen liittyvät järjestelmät voivat varmistaa ja toteuttaa

– osapuolten identiteetit– tiedon eheyden– liikenteen salauksen

• Kontekstipalvelimen ja siihen liittyvien järjestelmien välinen http-liikenne on näin suojattua.

SerAPI

Organisaationsisäinen kontekstipalvelin

Kontekstipalvelu

Web-selain(web-sovellus)

Työasemasovellus

SSL

SSL

Organisaationulkopuolinen järjestelmä

SSL

Web-palvelin

SerAPI

Tietoturva - kaksisuuntainen SSL

• SSL:ssä käytettävät varmenteet ovat tässä ratkaisussa sovelluskohtaisia varmenteita.

• Ne siis yksilöivät tietyn sovelluksen. • Ne eivät yksilöi käyttäjää eivätkä työasemaa.• Organisaation sisäisen kontekstinhallinnan tietoturvan

yhdenmukaisessa ratkaisemisessa on ongelmana kahdenlaisten sovelluksien olemassaolo

– työasemasovelluksia – web-sovelluksia.

SerAPI

Tietoturva - kaksisuuntainen SSL

• Web-sovellusten osalta – Varmennepohjainen ratkaisu OK palvelimien väliseen

liikenteeseen– Varmenteet tarvitsee jaella ainoastaan sovellusten web-

palvelimille.

• Työasemasovellusten osalta – Varmennepohjainen ratkaisu tarkoittaa varmenteiden jakelua

kaikille työasemalla oleville sovelluksille. – Tällöin ongelmaksi nousee varmenteiden ylläpito ja hallinnointi.

• Asia voidaan kiertää esimerkiksi toteuttamalla työasemasovelluksen ja kontekstipalvelimen välille välitysohjelma

SerAPI

• Välitysohjelma toimii työasemasovelluksen ja kontekstipalvelun välissä.

• Välitysohjelman toteuttaminen sovelluskohtaista ja tämän määrityksen ulkopuolella, tämä mukana määrityksessä esimerkkinä.

Työpöytä

Web-palvelin

Kontekstipalvelu

Web-selain(web-sovellus)

21

Työasemasovellus

Server

AdapteriVälitys-ohjelma

SerAPI

Tietoturva - muita huomioitavia kohtia

• Kontekstin luominen CreateSession-metodilla,– määriteltävä koordinaattorille, mikä sovellus saa luoda

• Kontekstin luominen liityttäessä kontekstiin JoinCommonContext-metodilla

– määriteltävä koordinaattorille, mikä sovellus saa luoda

• Kontekstiin liittyminen– määriteltävä koordinaattorille, mikä sovellus saa liittyä

• Käyttäjätunnuksen asettaminen kontekstiin & luotettu sovellus

– määriteltävä koordinaattorille, mikä sovellus saa asettaa käyttäjätunnuksen kontekstiin

• Em. kohtien määrittely ratkaistava toteutuskohtaisesti

SerAPI

Tietoturva - muita huomioitavia kohtia

• Sessioavain välitettävä turvallisesti• Sessioavaimen yksilöllisyys, varsinkin tilanteessa, jossa

sessioavaimen on voinut luoda muualla kuin kontekstipalvelusta pyytämällä

• Kontekstin tuhoaminen– kun viimeinenkin sovellus eroaa kontekstista– käyttäjäkontekstin poisto suositeltavaa, kun luotettu sovellus

eroaa kontekstista

• Subjektikohtaiset oikeudet hakea ja asettaa kontekstietoja voidaan määritellä toteutuskohtaisesti, jos katsotaan tarpeelliseksi

– huom. käyttäjäsubjekti

SerAPI

Käyttäjä- ja potilassubjekti -erotinmerkit

• Erotinmerkkien osalta on huomioitava yhteensopivuus minimikontekstihallinnan määrittelyn eri versioiden kohdalla.

• Minimikontekstinhallinnan versioissa 1, 2 ja 2.1 on Id-tietojen tietotyypiksi kuvattu ainoastaan string, jota ei ole tarkemmin kuvattu.

• Ei aiheudu ongelmaa (?), sillä on epätodennäköistä, että käyttäjätunnus tai potilastunnus (User.Id.Logon, Patient.Id.NationalIdNumber) pitäisi sisällään erotinmerkkejä (|, ^, &, ~, \ )

• Suositus, että User.Id.Logon ja Patient.Id.NationalIdNumber ei saa sisältää erotinmerkkejä

SerAPI

Käyttäjäsubjekti -käyttäjätunnukset• Liittyvien ohjelmien on huolehdittava itse

kontekstinhallintaan asettamiensa käyttäjätunnusten yksilöllisyydestä ja muiden järjestelmien kontekstinhallintaan asettamien käyttäjätunnusten tunnistamisesta.

• Minimitason kontekstinhallintaratkaisussa koordinaattori ei huolehdi käyttäjän eri käyttäjätunnusten vastaavuustaulukoinnista (mappaus).

• Etuna käyttäjätunnusten mappauksen tarpeettomuus kontekstinhallinnassa.

• Tosin mappaus jää järjestelmien omalle vastuulle.

SerAPI

SetItemValues ja GetItemValues

• SetItemValues-metodi – maininta, että kontekstitiedoille voidaan määritellä

koordinaattorissa erilaisia sovelluskohtaisia asetusoikeuksia toteutuskohtaisesti (huom. käyttäjätunnuksen asetukseen oltava tietty ennalta määrätty sovellus).

• GetItemValues-metodi– maininta, että kontekstitiedoille voidaan määritellä

koordinaattorissa erilaisia sovelluskohtaisia hakuoikeuksia toteutuskohtaisesti.

SerAPI

Pollaus - ongelmat

• Palvelinpohjaisessa ratkaisussa on otettava huomioon seuraavat kaksi web-tekniikasta seuraavaa ongelmaa:1. Mikäli kontekstinhallintapalvelussa on ongelmia, esim. palvelu

itse kaatunut, palvelin on kaatunut, on sovelluksen osattava toimia ilman kontekstinhallintaa.

2. Mikäli kontekstinhallintaan liittyneessä sovelluksessa on ongelmia, esim. web-palvelimella oleva sovellus on kaatunut tai palvelin on kaatunut, muodostuu ongelmaksi kontekstinhallintapalveluun roikkumaan jäävät turhat sovellukset. Kontekstinhallintapalvelu mahdollisesti olettaa, että kontekstia pitää vielä pitää yllä, koska kaikki sovellukset eivät ole eronneet kontekstinhallinnasta.

SerAPI

Pollaus - yksi ratkaisuesimerkki

• Yksi keino ensimmäisen ongelman ratkaisuun on toteutettavissa nykyisillä metodeilla:

– Sovellus kutsuu esim. GetItemValues-metodia ja jos kontekstipalvelin vastaa kutsuun, voi sovellus varmistua sen toiminnasta.

• Toinen ongelma on ratkaistavissa aikakatkaisulla:– Kontekstinhallintaan määritellään sovellukselle aikaleima,

jonka voimassaoloa kontekstipalvelin tarkistaa. – Jos sovelluksen palvelulle lähettämien kyselyjen välillä kuluu

enemmän aikaa kuin sille on määritelty aikakatkaisuksi, voidaan sovellus katsoa suljetuksi ja poistaa kontekstinhallinnasta.

SerAPI

Alueellinen kontekstinhallinta

• oma luku dokumentin viimeisenä kappaleena• käydään läpi, mitä erityisesti huomioitava

alueellisessa käytössä• jätetäänkö luku tähän dokumenttiin vai omaksi

erilliseksi dokumentiksi?• Tommi Rissanen käy tarkemmin läpi

SerAPI

Sisältö

• Pohjadokumentit• Minimikontekstinhallinnan määrittely, versio 3 -

lisäykset ja täydennykset– Yleisesti– CreateSession-metodi– Sessioavain– Tietoturva– Muita tarkennuksia– Alueellinen kontekstinhallinta

• Avoimet kysymykset

SerAPI

Avoimet kysymykset

• CreateSession -metodin käytön vapaaehtoisuus / pakollisuus

• Sessioavaimen välitys– voidaanko ratkaista yhdenmukaisella tavalla– web-sov ok, esim. alueellisessa kontekstinhallintaratkaisussa

kuvatulla tavalla– työasemasovelluksille?

• Alueellinen kontekstinhallinta mukaan tähän dokumenttiin?

– nyt on mukana– jatkossa erilliseen soveltamisohjeeseen

• Muuta

top related