Riigikontroll kinnitas täna avalikustatud X-tee auditiaruandes, et RIA on küll taganud X-tee töökindluse, kuid ootab asutuselt suuremat kontrolli kasutajate turvameetmete rakendamise üle.
Audit toob välja, et X-tee teenustes on viimase kolme aasta jooksul olnud üks olulise mõjuga katkestus, mis on tingitud kesksete komponentide veast. RIA on selgitanud välja ja hinnanud X-tee töökindlust ohustavad olulisemad riskid ning töötanud riskide maandamiseks välja meetmed, millest mitmeid ka rakendatakse.
Kriitilisemad ollakse lepingute sõlmimise ning väljatöötamata kontrollimehanismi suhtes. Näiteks mitmetel juhtudel ei ole X-teel andmeteenust pakkuvad asutused sõlminud teenuse kasutamise kokkuleppeid, või kui need siiski sõlmiti, ei teinud ükski auditeeritud riigiasutustest kokkuleppe eel kindlaks, kas eraettevõtjad rakendavad piisavaid meetmeid turvariskide maandamiseks, et tagada andmete terviklus, konfidentsiaalsus ja käideldavus. Puudub ka kontroll eraõiguslike liikmete üle.
Üldsõnaline määrus jätab tõlgendamisruumi
Kuigi X-teed kasutusele võtvad asutused peavad rakendama infoturbega seotud riskide maandamiseks vajalikke meetmeid, on selgitamata jäetud, milliseid turvameetmeid ja millisel tasemel tuleks rakendada. Valitsuse määrusega „Infosüsteemide andmevahetuskiht“ on X-teele kehtestatud nõuded kohati üldsõnalised ning võimaldavad mitmeti tõlgendamist.
Ehkki RIA ei ole X-tee kohta eraldi talitluspidevuse plaani koostanud, on turvalise andmevahetuse püsivaks toimimiseks võetud kasutusele meetmeid ning muudes dokumentides sätestatud nõudeid talitluspidevuse tagamiseks. Auditis nimetatakse puudusteks ebaregulaarset testimist ja nende dokumenteerimata jätmist.
Tuginedes eeltoodule on riigikontroll teinud RIA-le järgmised ettepanekud:
Muuta vabariigi valitsuse määrust selliselt, et kehtestatud nõuded on täpsemad ja arusaadavad nii, et andmeteenuse osutajatel oleks võimalik neid nõudeid rakendada ja RIA-l nende rakendamist kontrollida.
Töötada välja vajalikud juhendid määrusest tulenevate nõuete rakendamiseks ja korraldada X-teed kasutavatele asutustele vajalikud koolitused.
Hinnata andmeteenuse kasutamise lepingute sõlmimata jätmisest tulenevaid riske andmekogude turvalisusele ja võtta kasutusele neid riske maandavad tegevused.
Kaaluda andmeteenuse kasutamise kokkulepete sõlmimise ja taotluste halduse funktsionaalsuse lisamist, et muuta X-tee portaali andmeteenuste avamine ja kasutamine senisest vähem bürokraatlikuks.
Töötada välja X-tee teenuseid kasutavate eraõiguslike juriidiliste isikute kontrollimise süsteem, et tagada andmete terviklus, konfidentsiaalsus ja käideldavus.
Korraldada regulaarselt X-tee kesksete komponentide taastetestimisi ning neid dokumenteerida.
Andmevahetusosakonna juhataja Joonas Heiter:
Võtame Riigikontrolli auditi järeldusi ja ettepanekuid tõsiselt selleks, et X-teega seotud protsesse paremaks muuta ning tõsta veelgi X-tee usaldusväärsust. Kuivõrd Riigikontrolli audit algas eelmise aasta kevadel, siis mitmed ettepanekud oleme juba töösse võtnud ning algatanud arutelusid ka teiste ettepanekute osas lahenduse leidmiseks. Näiteks on X-tee iseteeninduskeskonda plaanis luua andmevahetusteenuse kokkuleppe üldine põhi. Samas ei tohi ära unustada, et igale X-tee liikmele peab jääma õigus otsustada, kellele, kas ja millistel tingimustel ta oma andmeid jagab ning andmeteenust pakub. Seega jääb ka edaspidi X-teel andmevahetuse üheks eelduseks pooltevahelise andmevahetuskokkuleppe olemasolu ning selle peavad omavahel sõlmima andmeid vahetada soovivad X-tee liikmed. Kõigil X-tee liimetel on kohustus võtta kasutusele vajalikud turvameetmed ning hoolitseda andmete käideldavuse ja konfidentsiaalsuse eest. Samuti kinnitasime audiitorile, et dokumenteerime edaspidi korrektsemalt taasteteste. Tutvu riigikontrolli auditiga Riigikontrolli kodulehel.
Riigi infosüsteemi ameti andmevahetuse osakond (AVO) – äratuntavalt eriilmelistest, aga lähemal vaatlusel teineteisega
tihedas sümbioosis toimivatest rakukestest moodustunud elav masinavärk.
Nii nagu riigi valitsemine jaguneb
erinevate ministeeriumide ja neid juhtivate ministrite haldusaladeks, jagunevad
ka vastutusvaldkonnad meie digiriigis erinevate osaliste vahel. Neil kõigil on
vaja oma funktsioonide efektiivseks täitmiseks koguda ja töödelda hulgaliselt andmeid
nii oma infosüsteemides kui neid andmeid omavahel turvaliselt ka vahetada.
Siinkohal tulebki mängu AVO, mis sündis 2018. aastal, kui osakonna ülesanded ja
eesmärk said selgemaks. Toona oli mõistlik muuta ka nimi andmevahetusosakonnaks.
Seni andmehalduse osakonna nime kandnud üksusega liideti mitu seni teistes osakondades
paiknenud ülesannet. Meeskonnaga liitus erasektorist tulnud töötajaid ning andmevahetuse
osakonna töö klientide äri õnnestumise nimel sai hoogsalt jätkuda.
RIA pakub ja vastutab paljude
teenuste eest ning portfell on suur. AVO alustekstiks ja eeposeks, millest kõik
alguse sai, on kahtlemata andmevahetuskiht X-tee,
millega AVO pakub oma klientidele võimalust andmeid turvaliselt ühest
infosüsteemist teise liigutada. Näiteks saavad liikluspolitseinikud tänu
X-teele turvaliselt ja liigse bürokraatiata sinu juhtimisõigust kontrollida,
aga ka sa ise perearsti antud retsepti apteegist välja osta või e-töötukassast kiirelt
ja mugavalt toetust taotleda.
Samuti kuulub andmevahetuse
osakonda turvalist, hajusat ja läbipaistvat e-riiki efektselt illustreeriv Andmejälgija, mis võimaldab inimesel näha,
kes ja millistest infosüsteemidest on tema andmeid vaadanud. See käik annab
inimestele suurema kontrolli oma andmete üle.
Kõikidest „riigi infosüsteemi“
mõiste alla koondunud ja praegu juriidilise konstruktsiooni „andmekogu“ alla
paigutuvate infosüsteemide metaandmetest (andmetest andmete kohta) annab
võimalikult ajakohase ja usaldusväärse ülevaate riigi infosüsteemi haldussüsteem
(RIHA).
Mõistagi ei soovi võimalikult
efektiivset digiriiki üles ehitades keegi jalgratast leiutada, kui see
naaberkülas juba kasutuses on. Topelttöö on kallis ja ebaefektiivne. Seepärast lisandus
osakonna teenuste paletti hiljuti koodivaramu.eesti.ee
keskkond, kus avalik sektor saab avaldada oma e-teenuste arendusprojektide
lähtekoodid. Nii kasvab e-riigi läbipaistvus ning soodustame avaliku ja
erasektori koostööd. Kui eriolukorras tekkinud vajadus sünnitas uue võimaluse
RIA-l oma partneritega turvaliselt suhelda, siis üsna pea sai igaühele võimalikuks
sellesama AVO hallatava vestlus.eesti.ee
keskkonna kaudu turvaliselt saata sõnumeid ning pildi- ja tekstifaile. Suure mahuga
failide turvaliseks vahetamiseks tasub aga kindlasti kasutada
failivahetuskeskkonda sahver.eesti.ee.
Andmevahetuse osakonna vägesid
juhib Joonas Heiter, kelle sõnul lisandub lähiajal osakonna pakutavate teenuste
hulka ka nõusolekuteenus. See annab inimesele võimaluse anda mõne ägeda
e-teenuse tarbimisel nõusolek kasutada neid andmeid, mis riigil inimese kohta
juba olemas on. Näiteks immuniseerimispassi kasutamiseks või personaalse
elukindlustuspoliisi pakkumise saamiseks.
AVO panustab tänavu värske
projekti, sündmusteenuste õnnestumisse. Sündmusteenus aitab näiteks lapse sünni
või abiellumisega kaasnevad mitme haldusala teenused kasutaja jaoks tervikuks
liita. Inimene ei pea tegema kümneid klikke, taotlusi ja allkirjastamisi, vaid
kõik see tehakse taustal inimese eest ära. Nii on kodaniku ja riigi infovahetus
selgem ja efektiivsem. Praegu käib töö, et eesti.ee riiklik postkast saaks uue
välimuse ja koodi ning nüüdisaegsema arhitektuuri.
Töö ei saa kunagi tehtud ega otsa
Meeskonna juhi Joonas Heiteri
sõnul on andmevahetuse osakond tulemustele orienteeritud ja niisama istumise
eest keegi auhindu ei jaga – töö peab tehtud olema. „Aina kiiremini arenevas
e-riigis on ikka hetki, kus mõni projekt saab punkti. Need hetked on väga
vajalikud, sest siis on meeskonnal aega, et areneda. Eneseareng on see, mis
viib edasi nii inimesi kui ka uusi projekte,“ sõnas Heiter. Ta lisas, et
meeskond suhtleb nii suurte huvigruppide kui ka konkreetsete projektide
arendajatega. „Klientidega suhtlemist on palju ning tuleb pilk peal hoida, mis
toimub e-teenustes laiemalt. Näiteks kiirelt arenevate e-teenuste tuules jälgime,
et kõige aluseks olev X-tee oleks jätkuvalt töökindel ja ajakohane.“
Ta tõdeb, et nad üritavad koosolekuid
võimalikult vähe pidada, kuid eriolukord ja pidev kaugtöö aitasid kolleegidel
jõuda arusaamisele, et kord nädalas on siiski hea üksteisega töövõite ja rõõme
jagada. „Nii ei jää me võõraks.“
„Kui rääkidagi töövõitudest, siis
AVO viimase aja suuremad saavutused on elukaare lõppfaasi jõudnud teenuste
edukad sulgemised. Nii sai lõpuks otsustavalt ajalooõpikute kaante vahele
suletud X-tee versioon 5 ning eelmise
aasta viimasel päeval suleti ka aastate jooksul juba (kuri)kuulsaks saanud
taakvara vana.riha.ee keskkond,“
meenutab Heiter.
Rakukestest elujõuliseks organismiks
Osakonnast rääkides toob Joonas
võrdlusi elusloodusega. „Andmevahetuse osakond koosneb 15st mõnevõrra erineva
talitlusega rakust, mis loovad töötava masinavärgi, organismi. Kolleegidest igaüks
on silmapaistev oma valdkonnas. Meeskonnas on nii valjuhäälsemaid rügajaid kui
ka varjuhoidvaid halle kardinale,“ ütles Heiter. Tema sõnul on tagab selline
eriilmeliste rakukeste kooslus osakonna elujõulisuse ja võimaldab hea
enesetundega järjest suuremaid eesmärke saavutada. „Ma arvan, et igas
meeskonnas on suurelt mõtlevaid filosoofe ja kärsituid hingi, kes otsivad
lahendusi Eesti elanike muredele. Vahel tuleb osa kõrgelennulisi mõtteid
ajutiselt jõuga reaalsusesse ankurdada, nii need laagerduvad ja ootavad õiget
hetke. Samas ei mõtle keegi nii, et „aga alati on nii olnud…“.
Heiteri sõnul tagavad osakonna hea
ja rõõmsa sisekliima mitmed ühised rutiinid. „Üks on kindel – igat suuremat ja vahel
ka tillukest sündmust tähistame kringliga. See rada on sisse tallatud ning see
komme ei unune. Kringli söömiseks kogunetakse aeg-ajalt täiesti vabatahtlikult ka
väljaspool tööaega,“ meenutab Heiter.
Heiter näeb iga päev, et osakonnas
ei ole igavusel kohta – tiimi kollektiivne kogemustepagas on piisavalt suur ja
värvikas, et sealt saab võtta erinevaid lugusid nii meeleolu tõstmiseks kui ka
õpetussõnade jagamiseks. „Vähemalt sama rikkalik on osakonnas töötavate inimeste
hobide ring, alustades arvutimängudest ja lõpetades vehklemisega. Sinna vahele
mahuvad mitmed maailmapilti avardavad tegevused. Lõunalauas kuuleb jutte jalgpallist,
jalgrattaspordist, värsketest raamatutest, linateostest, investeerimisest,
invaspordist, õpetamisest ja tervislikust toitumisest,“ loetleb ta.
Juba kolmandat aastat järjest selgitab
osakond välja ka kõige kiirema töötaja kardisõidus. „Naljaga pooleks on
lühendil AVO ka teine, mitteametlik tähendus, omakeskis nimetame endid
autovahetuse osakonnaks – juhul kui keegi soetab uue neljarattalise, annab see
nädalateks jutuainet puhkepausidel ja viib teistelgi mõtted uuele autole. Ja head
mõtted viivad ka tegudeni,“ ütleb Heiter.
„Andmevahetuse osakonnas ongi hea
töötada just tiimi pärast. Nad on jõudnud punkti, kus tööl käimine ei ole tüütu
rutiin, vaid võimalus suhelda tuttavate ja asjalike inimestega, kellega leiab
teemasid, mida arutada, ja kellega saab muresid jagada või võimatuna näivaid
tegusid korda saata. Osakonda on koondunud inimesed, kelle silmad löövad
värskeid ideid kuuldes särama ja kes selle motiveeritult ka reaalsuseks
muudavad,“ iseloomustab Joonas Heiter oma meeskonda heade sõnadega.
X-Roadi REST toe kohta on ilmunud üksjagu
ingliskeelseid artikleid, peamiselt NIISi (Nordic Institute for
Interoperability Solutions) tehnoloogiajuhi Petteri Kivimäki sulest. Soovitan
huvilistel kindlasti nendega tutvuda siin: https://www.niis.org/blog-summary. Sellegipoolest
pidasin vajalikuks kirjutada ka lühikese emakeelse ülevaate, mida tähendab REST tugi X-Roadil
ning mida tähendab see Eesti X-tee ökosüsteemi jaoks.
Natuke ajalugu ja ülevaadet
X-Roadi REST toe
analüüsi ja disainiga hakati pihta 2018. aasta kevadel, kui toimusid küsitlused
ning töötoad. Esimene REST toega X-Road versioon oli 6.21.0, mis tuli välja
2019. aasta mais. Esimesel versioonil olid mõned puudused, näiteks ei toetanud
see turvaserveri OpenAPI abil teenuste kirjeldamist. Täielikum REST tugi tuli
2019. aasta oktoobris versioonis 6.22.0. Selles on juba võimalik teenuseid
OpenAPI 3.0 abil kirjeldada, nende pääsuõiguseid teenusekaupa hallata. Lisaks
tekkis ka REST metateenuste tugi (listMethods – näita kõiki teenuseid;
allowedMethods – näita lubatud teenuseid; getOpenAPI – näita teenuse OpenAPI
kirjeldust).
Olulised märkused X-Roadi REST toe kohta
X-Roadi REST ja SOAP protokollid on paralleelsed ning tõlkimist ei toimu. See tähendab, et kui teenusepakkuja soovib nii REST kui SOAP teenuseid pakkuda, tuleb rakendada mõlemat.
REST teenuseid saab turvaserveri kaudu publitseerida, kasutades OpenAPI 3.0 kirjeldust või URLi kaupa.
Teenusepakkuja poolel ei vaja REST teenused täiendusi, et neid X-Roadiga liidestada.
Kliendi poolel üle X-Roadi REST teenuseid tarbides tuleb URLiks kasutada teenuse X-Road identifikaatorit ning lisada X-Road-Client päis.
Võib kasutada mis iganes tüüpi päringu keha (XML, JSON jne).
Käed külge ehk vaatame lähemalt, kuidas X-Roadi REST tugi praktikas välja näeb
X-Road Playground
X-Road Playground (https://x-road.global/xroad-playground) on avalik, eelkonfigureeritud X-Roadi instants, kus igaüks saab serveritesse sisse logida, vaadata kasutajaliideseid ning proovida teenuste kasutamist. Seal on kaks turvaserverit, üks kliendi ja teine teenusepakkuja jaoks.
PLAYGROUND/GOV/8765432-1/TestService/XRoadStatistics/instances/EE on tarbitava
teenuse identifikaator, kus PLAYGROUND on X-Road instants (X-tee
toodangukeskkond on näiteks “EE”)
GOV on memberClass
8765432-1 on memberCode (X-tee puhul tavaliselt registrikood)
TestService on alamsüsteemi kood
XRoadStatistics on teenuse kood
instances/EE on REST API liides,
kus on öeldud, et “EE” on instants, mille kohta statistikat tahame
‘X-Road-Client:
PLAYGROUND/COM/1234567-8/TestClient’ on päringu päis, mis sarnaselt URLi
loogikaga defineerib kliendi alamsüsteemi, mille kaudu päringu sooritame.
Muud X-Road päised tagastab teenusepakkuja turvaserver omast tarkusest, teenusepakkuja infosüsteemil pole vaja nende pärast muretseda.
Standalone Security Server Docker image
Järgmine samm oleks proovida ise mõnd REST teenust X-Roadiga liidestada. Standalone Security Server Docker image[KR1][JŠ2] (https://hub.docker.com/r/niis/xroad-security-server-standalone) on spetsiaalne turvaserveri image, mis ongi katsetamiseks mõeldud. See on eelkonfigureeritud ning pakub lihtsat viisi proovida mõnd teenust turvaserveriga liidestada. Selle kasutamiseks on vajalik, et arvutisse oleks paigaldatud Docker. Juhendi Dockeri paigaldamiseks leiab siit: https://www.docker.com/products/docker-desktop.
Laeme alla image’i ning käivitame selle.
docker pull niis/xroad-security-server-standalone
docker run -p 4000:4000 -p 80:80 --name ss niis/xroad-security-server-standalone:latest
2020-03-16 19:38:52,426 INFO exited: xroad-autologin (exit status 0; expected)
Kui see jõuab järgmise reani, saab turvaserveri kasutajaliidesesse sisse logida aadressil https://localhost:4000. Kasutajanimi on “xrd” ja parool on “secret”.
Turvaserverisse on registreeritud kaks alamsüsteemi:
CS/ORG/1111/TestClient
CS/ORG/1111/TestService
Proovime nüüd selle
turvaserveriga liidestada avaliku Petstore REST API: http://petstore.swagger.io:8080/ ning seejärel teha
X-Roadi kaudu päringut selle pihta.
Seejärel anname CS/ORG/1111/TestClient alamsüsteemile õiguse teenuseid kasutada. Siin saaks liideste ja meetodite kaupa õiguseid anda, aga lihtsuse huvides anname kõigele.
Nüüd on alamsüsteemil CS/ORG/1111/TestClient õigus seda teenust kasutada. Proovime ühe lemmiklooma tellimuse esitada, kasutades POST store/order teenust.
Swaggeri kaudu saame info, kuidas teenust otse välja kutsuda
Turvaserveri kaudu päringu tegemiseks peame muutma URLi, et pöörduda turvaserveri REST liidese pihta ning defineerima seal teenuse, mille poole pöörduda. Ehk URLiks saab:
Nagu näha, ei ole REST
teenuste X-Roadiga liidestamiseks lisaarendusi vaja teha. Ka kliendi poolel on
vajalikud täiendused minimaalsed.
Praegu paistab X-teel
toodangukeskkonnas 4078 SOAP teenust ning 0 REST teenust (andmed siit: https://x-tee.ee/catalogue/EE) . Kas see
tähendab, nüüd peaks hakkama vanu teenuseid RESTful teenusteks ümber arendama?
Ei. SOAP tugi ei ole kuhugi kadumas. Siin on mõned ideed REST teenuste
arendamiseks:
Kui planeerite uue infosüsteemi või uute teenuste arendust, siis kaaluge
RESTful teenuste arendamist – need saab X-teele publitseerida lisaarendusteta
ning nii teie kui ka teie klientide arendajad tänavad teid.
Kui teil on juba RESTful teenuseid, mis on X-teega liidestatud adapteri
abil, siis kaaluge nende X-teele publitseerimist paralleelselt SOAP teenustega.
Suhelge oma klientidega ning uurige nende soove ja vajadusi.