Skip to content

Varda integraatio

Kustaa Huhtala edited this page Nov 19, 2020 · 10 revisions

Varda-integraatio eVakassa

Yleistä

Opetushallituksen hallinnoimaan Varda-tietovarantoon kerätään tiedot varhaiskasvatuksessa olevista lapsista, toimipaikoista sekä henkilöstöstä. Tietoa voidaan hyödyntää niin kunnallisessa kuin valtakunnallisessa kehittämisessä ja päätöksenteossa. Lisätietoja OPH:n Varda-sivuilta.

eVakan Varda-integraatio päivittää kerran vuorokaudessa varhaiskasvatuksen piirissä olevien lasten, huoltajien ja toimipisteiden tieot Varda-tietovarantoon.

Integraation tekninen kuvaus

Varda-integraation kuvaus

Varda-integraatio eVakassa on osa evaka-service:ä, johon on toteutettu eVakan liiketoimintalogiikka. Tiedot päivitetään eVakasta Vardaan kerran vuorokaudessa ajastetusti.

Ajastus on toteutettu AWS CloudWatch EventBridge Rulella, joka kutsuu Lambda-funktiota evaka-scheduled-api-calls. Tämä käynnistää asynkronisen tietojen päivitysoperaation evaka-service:ssä.

evaka-service tarjoaa REST-rajapinnan tietojen päivittämisen aloittamiseen. Rajapintaa kutsumalla evaka-service hakee viimeisimmät Vardaan lähetettävät tiedot evaka-db-tietokannasta. Tiedot muutetaan Vardan haluamaan muotoon (ks. tietomallien kuvaukset), jonka jälkeen ne lähetetään Vardan tarjoamaan REST-rajapintaan.

Tunnistautuminen ja palomuuri

Tietojen lähettämistä varten eVakan täytyy tunnistautua Varda-järjestelmään. evaka-service tunnistautuu Basic Authentication -menetelmällä Vardan tarjoamaa rajapintaa vasten. Tunnistautumisen yhteydessä Varda palauttaa API-avaimen (API key), jota hyödynnetään varsinaisessa tietojen lähettämisessä. API key on voimassa rajatun ajan ja eVaka hakee uuden avaimen päivittäin. API key säilytetään sovelluksen muistissa ajonaikaisesti, eikä sitä talleteta pysyvästi mihinkään.

eVakan ja Vardan välinen kommunikointi tapahtuu suojatun HTTPS/TLS-yhteyden yli. Varda ei pakota käyttämään tiettyä TLS-versiota, mutta eVaka käyttää yhteydenottoihin vain TLSv1.2 tai uudempaa versiota. Yhteydenotto epäonnistuu, mikäli vastaanottava pää yrittää tarjota vanhempaa versiota protokollasta.

eVakan ja Vardan välisessä kommunikaatiossa käytetään nimettyä sertifikaattia. eVaka ottaa tietoturvasyistä yhteyttä Vardaan käyttäen eVakan luotettujen sertifikaattien säilöön (trust store) erikseen tallennettua Vardan sertifikaattia.

Yhteydenotot Varda-järjestelmään on rajattu palomuurilla. Lähettävän järjestelmän (eVaka) IP-osoite tulee avata Vardan palomuuriin.

Tunnusten rotatointi

Tuotannon basic authentication -tunnukset voidaan rotatoida vaihtamalla Varda-palvelukäyttäjän salasana. Salasanan voi vaihtaa kaupungin Opintopolun pääkäyttäjä. Katso tarkemmat ohjeet CSC:n dokumentaatiosta. Käyttäjätunnus ja salasana -yhdistelmä enkoodataan Base64-menetelmällä ja päivitetään AWS Parameter Storen /prod/evaka/varda/basic_auth -avaimeen.