Nõuetekogum on mõeldud kasutamiseks: 1) RIA arhitektidele, toote- ja projektijuhtidele tarkvara kavandamisel ja arendustööde tellimisel ning kontrollimisel; 2) arendajatele arenduslepingute täitmisel.
Nõuded on sõnastatud RIA arendusprojektide pikaajalise kogemuse põhjal ja markeerivad valdkondi ning küsimusi, mis vajavad erilist tähelepanu. Praktiliselt iga nõude taga on kellelgi ettetulnud probleem. Kogemusest lähtudes on üritatud sõnastada abstraktne reegel. Nõuete eesmärk on probleemide taasesinemist vältida.
Kui käesolev nõuetekogum on lisatud arendustööde hankedokumenti või arenduslepingusse, siis on kogumi kõigi nõuete täitmine kohustuslik (kui hankedokumendis või arenduslepingus ei määrata teisiti).
Siinsete nõuete rakendamisel peab olema paindlik ja arvestama konkreetse tarkvarasüsteemi eripära. Nõuded, mida tarkvarasüsteemi eripära tõttu ei saa täita või ei ole mõistlik täita või on mõistlik täita osaliselt või oluliselt erineval viisil, tuleb välja selgitada ja määrata nende erikäsitlus. Erisused (mitte- või osaline rakendamine, kui nii on otstarbekas) on lubatud tellija nõusolekul. Vt ka nõue 1.1.
Arvestama peab ka, et nõuetekogum ei ole kattev ega täielik. Konkreetse toote jaoks tuleb tavaliselt nõudeid täiendada ja konkretiseerida.
Nõuded on kooskõlas digiriigi ristfunktsionaalsete nõuetega (vt https://koodivaramu.eesti.ee/e-gov/cfr).
Üksikule nõudele saab viidata kohaleviiva URL-ga: https://e-gov.github.io/MFN/#6.1. Lühiviitena on soovitatav kuju MFN 6.1.
Tundlikku teavet sisaldavad nõuded tehakse lepingulistele arendajatele kättesaadavaks eraldi.
Keskkonnanõuded (op-süsteem, süsteemitarkvara) antakse RIA IT profiilis.
kategooria | nr | nõude sõnastus | nõude selgitus |
meta | 1.1 |
Nõuete rakendamisel arvestada konkreetse tarkvara eripära. |
Rakenduvad ainult need nõuded, mida konkreetse tarkvara iseloomu, ülesehituse ja kasutatavate komponentide kontekstis on mõistlik rakendada. |
meta | 1.2 |
Nõudeid rakendada hierarhia põhimõttel. |
RIA MFN-i nõudeid tuleb rakendada kõigis RIA infosüsteemides. Valdkonna MFN määratleb valdkonna tarkvara spetsiifilised nõuded. Hanke MFN-i nõuded täpsustavad ja täiendavad asutuse või valdkonna nõudeid. X-tee tuumtarkvara arendatakse ühiselt Soome riigiga. Vastavalt on ka MFN inglise keeles ja avaldatud Soome partnerasutuse GitHub-repos: X-Road Non-Functional Requirements. RIHA nõuded asuvad arhitektuuriteatmikus. |
vorming | 2.1 |
Andmebaasides ja rakendustes kasutada UTF-8 kodeeringut. |
|
vorming | 2.2 |
Ühe faili piires kasutada alati sama reavahetuse kodeeringut - kas Windowsi ( |
|
vorming | 2.3 |
Aja esitamisel andmevahetusprotokollides kasutada Internet Date/Time vorminguid (RFC 3339 Date and Time on the Internet: Timestamps). Aja esitamisel inimkasutajale lähtuda vastava keele reeglitest (eesti keele puhul Eesti õigekeelsuskäsiraamat 2019, ptk “Arvukirjutus”). |
Nt: “1961-07-12T10:05:00Z”, “2020-02-18T09:31:20.463+02:00”. Märkus. Mõned standardid nõuavad aja esitamist Unix epoch vormingus, nt: 1) nt OpenID Connect ja 2) W3C veebiliidesed. |
litsents | 3.1 |
Tarkvara markeerida litsentsiga. |
Teose autoriõigused tuleb selgelt välja tuua. Standardseks vahendiks selleks on litsents. Litsents esitatakse ühel või mõlemal alljärgnevatest viisidest: 1) LICENCE-fail repos; 2) litsentsi tekst iga faili päises. RIA põhimõte on arendada tarkvara avatult ja avaldada tarkvara vaba litsentsiga. Erandid turva- jm õigusega pandud piirangute korral. Soovitatav on kasutada MIT litsentsi - nii tagatakse paremini tarkvarade litsentsiline ühtesobivus. Alternatiiv on EUPL. |
litsents | 3.2 |
Tarkvara arendamisel lähtutakse avatuse ja vaba lähtekoodi põhimõttest. |
Välja arvatud õigusest tulenevad piirangud (turvameetmed, andmekaitse, ärisaladuses). |
moodulstruktuur | 4.1 |
Rakenduse välissõltuvused peavad olema ilmutatult, selgelt välja toodud. |
|
moodulstruktuur | 4.2 |
Rakendus peab olema väliste süsteemide tõrgete suhtes vastupanuvõimeline (resilient). |
Välise süsteemi tõrge tohib mõjutada ainult sellest otseselt sõltuvate kasutuslugude toimimist. |
moodulstruktuur | 4.3 |
Rakendus peab olema tehniliselt tükeldatud vastavalt loogilisele jaotusele. Saadud osised peavad olema eraldi versioneeritavad ja paigaldatavad. Muuhulgas peab andmebaas olema rakendusest eraldi paigaldatav. |
Näiteks, kui rakendusel on eraldi turvakontekstidega liidesed ametnikule ja kodanikule, peab rakendus olema jaotatud kaheks eraldi liidesekomponendiks ning nende mõlema poolt kasutatavaks andmebaasiks. |
moodulstruktuur | 4.4 |
Rakenduse funktsionaalsuses tuleb selgelt eraldada avaliku teenuse liides muudest mitteavalikest, sisemistest, konfigureerimis jms. liidestest. |
|
moodulstruktuur | 4.5 |
Kõik liidesed rakenduse eri osade vahel peavad olema vajadusel kaitstavad kahepoolset tuvastamist ja krüpteerimist võimaldava protokolliga. |
|
moodulstruktuur | 4.6 |
Rakenduse pakutav(ad) HTTP REST masinliidesed (API-d) kirjeldatakse masinloetavas OpenAPI vormingus. |
Masinloetav kirjeldus ei välista täiendavat, paremini inimloetavat vabavormilist kirjeldust. |
keel | 5.1 |
Lähtekoodi dokumentatsioon, lähtekood ise ning logiteated peavad olema inglisekeelsed. |
|
keel | 5.2 |
Rakendustes kasutatud eestikeelsetele tekstidele kehtivad infotehnoloogia reeglid Eesti keele ja kultuuri keskkonnas EVS 8:2008. |
|
testimine | 6.1 |
Lähtekood peab olema varustatud ühiktestidega. |
|
testimine | 6.2 |
Tarkvara peab olema enne toodangusse paigaldamist läbinud turvatestimise. |
|
testimine | 6.3 |
Alates integratsioonitasemest peavad automaattestid olema parameteriseeritud. |
Millist probleemi see lahendab? Testides on vahel koodikordusi; samuti testandmed ja testiloogika on läbisegi |
testimine | 6.4 |
Automaattestid peavad raporteerima tulemusi inim- ja masinloetaval kujul (näiteks JUnit XML ja HTML). |
|
testimine | 6.5 |
Automaatteste käivitatakse RIA CI vahendi Jenkins vahendusel. |
|
koodi kvaliteet | 7.1 |
Lõplik kood peab olema läbinud staatilise koodianalüüsi. |
Kasutada otstarbekat tööriista: Java puhul Checkstyle, PMD, SonarQube vms; Javascripti puhul ESLint. Samuti kasutada arendusredaktoritesse sisseehitatud kontrollijaid. |
frontend | 8.1 |
Stiiliteave asetada CSS-failidesse. |
Stiile ei tohiks sisse kirjutada HTML-teksti, ei |
frontend | 8.2 |
Mahukate laadilehtede puhul kaaluda Sass-i kasutamist. |
Sass võib suurendada laadilehtede loetavust ja hallatavust. |
frontend | 8.3 |
Järgida ajakohaseid veebistandardeid. |
HTML5, CSS3 jms. |
frontend | 8.4 |
Rakendus peab töötama veebisirvijates, mis toetavad eID baastarkvara kaht viimast versiooni. |
Vt sirvikute loetelu ID-tarkvara abikeskuse lehel ID-tarkvara paigaldamine. |
frontend | 8.5 |
Veebisirvija toe puudumisel andku rakendus veateate. |
Kui kasutajaliides, mille poole kasutaja pöördub, ei ole ühilduv kasutatava veebisirvijaga, peab rakendus arusaadaval ja juhendaval viisil sellest kasutajat teavitama. |
kasutatavus | 9.1 |
Veebirakenduse kasutajaliides peab olema juurdepääsetav. Tuleb täita WCAG 2.2 taseme AA nõuded. |
Vt: Web Content Accessibility Guidelines (WCAG) 2.2. (Eestikeelne tõlge on olemas v2.0 kohta: Veebi sisu juurdepääsetavussuunised (WCAG) 2.0). Vt ka: 1) EL standard EN 301 549 Accessibility requirements for ICT products and services; 2) ettevõtlus- ja infotehnoloogiaministri määrus Veebilehe ja mobiilirakenduse ligipääsetavuse nõuded ning ligipääsetavust kirjeldava teabe avaldamise kord. |
URL-id | 10.1 |
Kasutada selge, ühtse mustriga, inimloetavaid veebiaadresse (URL-e). |
|
URL-id | 10.2 |
Igal lehel peab olema unikaalne veebiaadress. |
|
URL-id | 10.3 |
URL ei tohi sisaldada isikuandmeid. |
Võimalikud on erandid, kui isikuandmete kaitseks on rakendatud asjakohaseid tehnilisi ja organisatsioonilisi meetmeid. Meetmetega peab tagama kaitse vähemalt järgmiste riskide vastu: isikuandmete lekkimine sirviku ajaloost, HTTP seansi pealtkuulamine, isikuandmete lekkimine vahendusserveri (proxy) logist, isikuandmete lekkimine serveri logist. |
URL-id | 10.4 |
URL ei tohi sisaldada sessioonivõtit. |
|
teated | 11.1 |
Vea- jm teated peavad oleva arusaadavad. |
Muuhulgas peab rakendus asendama vaikimisi veateate ( |
teated | 11.2 |
Veasituatsioonid tuleb varustada veakoodidega. Kasutajale tuleb esitada koos veateatega ka veakood. |
|
teated | 11.3 |
Veateated tuleb logida. |
|
koodisüsteemid | 12.1 |
Objektid identifitseerida registrikoodide abil. |
Riiklikesse registritesse kantavad objektid (isikud, katastriüksused jne) kantakse andmebaasi nende registrikoodiga, mida täiendab riigiprefiks vastavalt ISO3166-1 Alpha 2 standardile. Näiteks isikute sidumiseks süsteemi kasutajakontoga peab kasutama isikukoodi rahvastikuregistrist. |
koodisüsteemid | 12.2 |
Rakendus ei tohi luua uut identiteedisüsteemi. Tuleb tugineda olemasolevatele riiklikele (ID-kaart) või põhiliste op-süsteemide süsteemidele (Kerberos jms). |
|
koodisüsteemid | 12.3 |
Rakendada aadressiandmete süsteemi nõudeid. |
Eesti aadressiandmete sisestamisel, kuvamisel ja hoidmisel lähtuda Vabariigi Valitsuse 8. oktoobri 2015. a määrusest nr 103 „Aadressiandmete süsteem“. |
koodisüsteemid | 12.4 |
Rakendada klassifikaatorite süsteemi nõudeid. |
Eesti tegevusalade andmete sisestamisel, kuvamisel ja hoidmisel lähtuda Vabariigi Valitsuse 10. jaanuari 2008. a määrusest nr 11 „Klassifikaatorite süsteem“ ja kasutada EMTAK infosüsteemis kehtivat klassifikaatorit. |
koodisüsteemid | 12.5 |
Telefoninumbrite käsitlemisel taodelda koosvõimelisust. |
Kui telefoninumbrite kasutamise ja talletamise meetodid ei ole infosüsteemides standardiseeritud, siis see võib põhjustada probleeme süsteemide koostalitluses ja ka telefoninumbrite kasutamises kasutajaliidestes. Edaspidistes arendustes lähtuda infosüsteemides telefoninumbrite esitlusse, salvestusse ja API kaudu pakkumisse ühetaoliselt: 1) API otspunktist peab telefoninumber olema tarbitav nii, et rahvusvaheline suunakood (ilma plussita) ja number ise on eri väljadel; 2) kasutajaliideses on suunakood dropdown valikuga; telefoninumber on eraldi väljal; 3) andmebaasis hoitakse suunakoodi ja telefoninumbrit eraldi väljadel, numbriliste väärtustena. |
autentimine | 13.1 |
Väliste kasutajate, so. Eesti Vabariigi residentide ja EL teiste liikmesriikide residentide autentimislahenduse loomisel lähtuda dokumendist Autentimislahendustele kehtivad nõuded. |
|
autentimine | 13.2 |
ID-kaardiga autentimisel ei kasutata serdi edastamise päises side- ( |
Millist probleemi see lahendab? Erinevad rakendusserverid võivad tõlgendada neid sümboleid erinevalt. |
rollihaldus | 14.1 |
Rakenduse mitteavalike osade kasutajate rollid asuvad rakendusevälises LDAP serveris või muus autentimislahenduses. |
|
väljumine | 15.1 |
Süsteemist väljumine peab toimuma sõnaselgelt, kasutajale arusaadaval ja turvalisel viisil. |
Kasutaja saab süsteemist väljuda kahel viisil: tema sessioon on pikem, kui sessiooni pikkuse seadistatav piirväärtus (eraldi määratletavad piirangud kogu sessioonile ning tegevuseta perioodile sessioonis) või kasutaja lõpetab sessiooni enda algatusel. |
väljumine | 15.2 |
Juhul kui rakenduse turvanõuded näevad seda ette, peab olema võimalus koheselt lõpetada kasutaja sessiooni nii, et kasutaja saaks arusaadava ja põhjendatud teate sessiooni lõpetamise kohta. |
|
andmebaas | 16.1 |
Andmebaasi kasutaval rakendusel on vähemalt kaks andmebaasikasutajat: |
Nõue tuleneb eelkõige sellest, et vahel kasutame andmebaaside ““koosmajutamist” s.t erinevate süsteemide või ka ühe süsteemi erinevate komponentide (mikroteenuste) andmebaase hoiame ühes PostgreSQL instantsis. Sellisel juhul on vaja tagada eristatus: iga andmebaas peab olema eraldi skeemis; rakendus ei tohi teise rakenduse skeemile ligi pääseda (suheldakse API-de kaudu); rakendus ei tohi ise skeeme moodustada s.t skeemi tohib moodustada ainult paigaldusprotsess. Ka siis, kui koosmajutust hetkel ei kasutata, on eristamine hea praktika. |
andmebaas | 16.2 |
Ühest andmetabelist teise viitamisel tuleb kasutada välisvõtmeid (foreign key). Kõik välisvõtmed peavad olema indekseeritud mitteunikaalse indeksiga ja välisvõtmetena kirjeldatud. |
|
andmebaas | 16.3 |
Kõigis andmebaasi tabelites peab olema defineeritud |
|
andmebaas | 16.4 |
Kõik primaarvõtmed (primary key) peavad olema indekseeritud unikaalse indeksiga. |
|
andmebaas | 16.5 |
Kui andmebaasis olevate andmete ISKE tervikluse klass on 2 (E-ITS rakendamisel IS) või kõrgem, siis tuleb kõik klass 2 infot sisaldavad andmebaasi kirjed versioneerida. |
|
andmebaas | 16.6 |
Andmebaasi väljade pikkused tuleb andmekirjelduskeeles (DDL-is) kirjeldada sümbolites, mitte baitides. |
|
andmebaas | 16.7 |
Päringulaused ei tohi sisaldada konstantidena sisse kirjutatud päringutingimuse võrdlusväärtusi. |
Kasutada päringumuutujaid (variable binding). |
andmebaas | 16.8 |
Andmebaasi objektide nimetused peavad olema inglisekeelsed. Nimetused tohivad sisaldada ainult Latin1 (ISO8859-1) kodeeringu tähti |
|
andmebaas | 16.9 |
Rakendus peab olema tabelite partitsioneerimise suhtes agnostiline st. tabelite partitsioneerimisstruktuuride muutmine ei tohi mõjutada rakenduse tööd. |
|
andmebaas | 16.10 |
Rakendusserveri, nt Tomcat kasutamisel, tuleks võimalusel kasutada rakendusserverit ka andmebaasiühenduste (JDBC) halduseks. |
Rakendus ei puuli ise, vaid küsib JNDI abil rakendusserveri puuli aadressi. Nõude eesmärk on jõudluse parem hallatavus. |
logimine | 17.1 |
Rakenduse logimine peab olema organiseeritud kasutades selleks ettenähtud standardseid vahendeid viisil, mis võimaldab rakenduse administraatoril määratleda ja muuta logide väljundit (vähemalt fail, andmebaas, |
|
logimine | 17.2 |
Java rakenduste korral logitakse SLF4J raamistiku abil. |
Ühtlustatud selleks, et rakendusi saaks seadistada ühtemoodi. |
logimine | 17.3 |
Logid kirjutatakse inglise keeles (välja arvatud kasutajale näidatud teated). |
|
logimine | 17.4 |
Turvalisuse seisukohalt kriitilised sündmused (sisenemine, väljumine, rolli muut(u)mine) ning tegevused, mis toovad kaasa rahalisi või juriidilisi tagajärgi, logitakse eraldi konfigureeritavasse turvalogisse. |
|
logimine | 17.5 |
Telemeetria. |
Infosüsteemi arendustes tuleb juhul, kui otsustatakse rakendada kasutaja teekonna (ja muu telemeetria) kogumist, juhinduda CNCF OpenTelemetry spetsifikatsioonidest. Vt: https://opentelemetry.io ja https://github.com/open-telemetry/opentelemetry-specification. |
ehitamine | 18.1 |
Rakenduse (RIA poolt hallatavasse serverisse) pakendamine, paigaldamine, uuendamine, muudatuse taastamine ja testide käivitamine peavad olema automatiseeritud standardse üldkasutatava vahendi abil. |
Kasutusel on Maven ja Jenkins. |
ehitamine | 18.2 |
Ehitatud paki nimi peab sisaldama projekti nime ja paki versiooni ning tohib sisaldada ainult tähemärke |
Pakk peab olema keskkonnaagnostiline s.t arendus-, toodangu- jm keskkondade jaoks normaalselt ei tehta eraldi pakke. Tarkvara muutub konkreetse keskkonna osaks pärast keskkonda paigaldamist ja keskkonnas seadistamist. |
ehitamine | 18.3 |
Rakendused ehitatakse ja paigaldatakse ainult lähtekoodihoidlast, selle üheselt viidatud harust. |
|
ehitamine | 18.4 |
Kood tarnitakse RIA taristus olevasse reposse. Koodi võib tarnida GitHubi, juhul kui on seadistatud GitHubi repo peegeldamine RIA sisereposse. Kumba meetodit kasutatakse, määrab RIA. |
|
ehitamine | 18.5 |
Lähtekoodi kompileerimine peab olema teostatav ka välisvõrguühenduse puudumise korral. Selle nõude täitmise võimaldamiseks on RIAs kasutusel sisemised tarkvarakomponentide repod. |
Vt täpsemalt sisenõuete dokumendist. |
ehitamine | 18.6 |
(kehtetu) |
|
ehitamine | 18.7 |
Java rakenduse tööks vajalikud teegid peavad olema rakenduse osa. Kui Java rakenduse käitamiseks on kasutatud mõnd rakendusserverit (näiteks Tomcat), siis võivad selle tööks vajalikud üldteegid olla rakendusserveri lib kaustas. |
Näide: JNDI konfiguratsioon eeldab, et andmebaasiohjur oleks rakendusserveri sees (nt. Tomcat), mitte rakenduse WAR failis. Juhul kui andmebaasiohjur on osa WAR failist, võib andmebaasiühenduste probleemide tekkimisel kohe tekkida ka probleem rakendusserveri (taas)käivitamisega. |
ehitamine | 18.8 |
Fondid, laadilehed ja Javascripti failid serveerida rakendusest endast. |
|
ehitamine | 18.9 |
Pakendatavas tarkvaras peavad sõltuvuste versioonid olema fikseeritud |
Nõude eesmärgiks on tagada tarkvara ehitamise korratavus (ingl repeatable build) ja tagada võimalikult hea ülevaade kasutatavatest tarkvarakomponentidest (tarkvara koostenimekiri, ingl software bill of materials, SBOM). Nõue on täidetud, kui on tagatud võimekus korrata tarkvara ehitusprotsessi lähtekoodist, saavutades igakordselt sama lõpptulemuse. |
paigaldamine | 19.1 |
Rakendus saadab e-kirju RIA SMTP edastusteenuse kaudu. |
Täpsemad nõuded vt SMTP edastusteenuse kirjeldusest. |
paigaldamine | 19.2 |
Rakendus peab olema loodud sõltumatuna rakendusserveri tarkvarast. |
Rakendust peab olema võimalik konfiguratsioonimuudatuste abil paigaldada teisele samatüübilisele rakendusserverile. Kui see ei ole võimalik tuleb rakendusele luua sobituspaketid põhiliselt kasutatavate rakendusserverite jaoks. |
paigaldamine | 19.3 |
Kõik rakenduse versiooniuuendused (sealhulgas muudatused andmebaasi struktuuris ja koodis) peavad kuni järgmise versiooniuuenduseni olema täielikult tagasi pööratavad st. koos versiooni uuendusega peavad olema loodud vahendid ja kirjeldatud protseduurid versiooniuuenduse tagasi võtmiseks. |
|
paigaldamine | 19.4 |
Rakendus ei tohi eeldada paigalduskeskkonna turvalisust. |
|
paigaldamine | 19.5 |
Rakendusservereid peab olema võimalik lisada teenust pakkuvasse klastrisse ja sealt eemaldada vastavalt vajadusele. |
|
paigaldamine | 19.6 |
Rakendus ei tohi kasutada konfigureerimata viiteid failidele või välistele süsteemidele st. kõik viited peavad olema programmikoodi välised. |
|
paigaldamine | 19.7 |
Kõik andmebaasiühendused tuleb kirjeldada täispika URI abil. Java rakendustes kasutatakse JNDI ühendusi. |
|
paigaldamine | 19.8 |
Andmebaasi JNDI objekti Datasource-i nimetamisel tuleb kasutada prefiksit |
|
paigaldamine | 19.9 |
Rakenduse andmebaasi või andmeskeemi paigaldamine ei tohi nõuda punktis erilisi kasutajaõigusi. |
|
infoturve | 20.1 |
Kui ei ole määratud teisiti, peab rakendus olema kasutatav ISKE klassile |
Turvameetmetega tutvu ISKE portaalis, E-ITS rakendamisel - E-ITS portaalis. |
infoturve | 20.2 |
Süsteem ei tohi võimaldada kasutajale ligipääsu süsteemi toimimise informatsioonile, nagu failide täisnimed, kutsepinud (stack trace) jms. |
|
infoturve | 20.3 |
Kaitsmata avalik võrguliiklus ei ole lubatud. Igasugune avalik võrguliiklus on krüpteeritud. TLS keskkonna parameetrid on administraatori, mitte arendaja kontrolli all. Erandjuhul, kui edastatav informatsioon ei sisalda konfidentsiaalseid andmeid ega isikuandmeid, on lubatud andmete edastamine krüpteerimata kujul, kuid viisil, mis võimaldab andmete vastu võtjal veenduda saadetise tervikluses st. allkirjastatult või ajatembeldatult (X-tee turvaserveri seadistuse edastamise näide). |
|
infoturve | 20.4 |
Vastavalt rakenduse olemusele ja riskianalüüsile rakendada meetmed OWASP ohuedetabelites (Top 10) jm tekstides antud soovituste järgimiseks. |
vt OWASP ja OWASP Application Security Verification Standard (ASVS). |
infoturve | 20.5 |
Kaitsta seansiküpsiseid ( |
|
infoturve | 20.6 |
Rakendada päringuvõltsimise (CSRF) vastast kaitset. |
|
infoturve | 20.7 |
Sisendite kontroll nii front- kui ka backend-is. |
Olulised sisendid tuleb kontrollida (puhastada) (ka) serveri poolel. |
infoturve | 20.8 |
Veebirakendustes määratleda ja rakendada sisuturbepoliitika. |
|
infoturve | 20.9 |
Eraldipaigaldatavate komponentide vahelistel liidestel peab olema TLS võimekus (vastastikune autentimine sertide abil). Vastavad konfigureerimisjuhised peavad sisalduma rakenduse paigaldusjuhendis. |
|
infoturve | 20.10 |
Minimaalne võrgupääs. |
Infosüsteemi komponentide pääs avalikku võrku peab olema reguleeritud vähima juurdepääsu printsiibil - infosüsteem tohib pääseda ainult sinna, kuhu pääs on teenuse toimimiseks hädavajalik. Pääsukontroll peaks eelistatult toimima dünaamiliselt ning toetama automatiseerimisvahendeid. Standardlahendusena tuleb eelistada pääsukontrolli välisvõrku rakendusest sõltumatult toimiva lüüsi abil. |
krüpto | 21.1 |
Krüptograafiliste algoritmide ja meetodite valimisel lähtuda kehtivast RIA tellitud krüptograafiliste algoritmide elutsükli uuringust. |
|
krüpto | 21.2 |
Krüptoalgoritme peab olema võimalik väikeste muudatustega vahetada |
|
krüpto | 21.3 |
Võtmete kaitsele tähelepanu! |
Juhtida tähelepanu ja rakendada meetmeid vältimaks võtmete lubamatut avalikukstulekut. Näiteid ohupraktikatest (mitteammendav loetelu): 1) võtme hoidmine versioonihalduse (git) all olevas koodirepos -> oht: push-takse avalikusse reposse -> kaitsemeede: |
andmekaitse | 22.1 |
Rakendustes tuleb tagada isikuandmete kaitse nõuded. |
Eriti isiku õigus olla unustatud ja meie kohustus seejärel kustutada kõik isikuandmed, mida me ei vaja tööks või mida me ei pea seaduse alusel töötlema. Vt isikuandmete kaitse üldmäärus. Samuti peame alati olema valmis vastama isiku nõudmisele välja anda IKS § 24 sätestatud teave. |
andmekaitse | 22.2 |
Rakendus ei tohi kasutada RIA taristu väliseid kasutaja tegevust analüüsivaid teenuseid (nt Google Analytics). |
Andmekaitse ja turvalisuse kaalutlustel. |
käideldavus | 23.1 |
Rakendus peab sirvikusse laaduma kiiresti. |
Sirvikuühendusi tuleb efektiivselt kasutada. Vajadusel kasutada laadimisaja optimeerimistehnikaid (pakkimine, minimeerimine, profileerimine jm). Millist probleemi see lahendab? Rakenduse laadimine sirvikusse võib olla liiga aeglane |
käideldavus | 23.2 |
Kõrgkäideldavuse võimekus. Kui ei lepita kokku eraldi, peab iga eraldipaigaldatav tarkvarakomponent olema paigaldatav mitmes eksemplaris. |
|
käideldavus | 23.3 |
Kõrgkäideldavate rakenduste puhul tuleb seansihalduse lahendus kokku leppida kohe arendusprojekti algul. Seansi hoidmine jagatud failisüsteemis (nt. NFS) ei ole lubatud. |
|
monitooring | 24.1 |
Süsteemi iga eraldi paigaldatav osa peab väljastama RIA monitooringusüsteemile (näiteks aadressilt |
96 nõuet.