Nytt endepunkt for NVDB api SKRIV dokumentasjon
NVDB api SKRIV V3 dokumentasjon er flyttet til https://nvdb.atlas.vegvesen.no/docs/category/nvdb-api-skriv
API’et blir jo aktivt vedlikeholdt og videreutviklet, så vi anbefaler sterkt at dere legger om til den nyeste versjonen av dokumentasjonen.
Tilgangskontroll
Tilgangskontroll eller autorisasjon i NVDB API Skriv reguleres i to nivåer: endepunktsnivå og datanivå. En request med godkjent autentiseringstoken autoriseres basert på de rollene brukeren har i Statens vegvesens LDAP-register og mer finkornede datarettigheter tildelt via kontrollpanelet til NVDB API Skriv.
Tilgang til endepunkter og ressurser
For å kunne anrope et bestemt endepunkt må brukeren ha en rolle som gir denne tilgangsrettigheten. Det er fire tilgangsnivåer for endepunkter og ressurser, avhengig av tildelt rolle:
Rolle | Brukertype | Tilgangsrettigheter |
---|---|---|
nva/0_bruker_fagdata | Personlig bruker | Registrere nye endringssett Gjøre operasjoner på egne endringssett Hente egne endringssett Hente status og fremdriftskode på egne endringssett Hente statistikk for egne endringssett Hente egne datarettigheter Hente alle låser Hente alle oppdrag og transaksjoner |
TjeNVDBAPIskriv/user | Tjenestebruker | Alle over Hente status og fremdriftskode for andres endringssett Hente statistikk for andres endringssett Hente andres datarettigheter |
nva/5_fagdata_admin | Fagdataadministrator | Alle over Hente andres endringssett Gjøre operasjoner på andres endringssett |
nva/9_system_admin | API-administrator | Alle rettigheter |
En tjenestebruker benyttes typisk av serverbaserte fagsystemer som utfører batchvise registreringer av endringssett uten involvering av en fysisk bruker.
En bruker har normalt bare én av disse rollene. Enkelte brukere kan imidlertid ha nva/0_bruker_fagdata i tillegg til en høyere rolle, og får da tilgangsrettigheter tilsvarende rollen med videste fullmakter.
Requester mot endepunkter som brukeren ikke har tilgang til får respons med HTTP-statuskode 403 FORBIDDEN.
Tilgang til NVDB-data
Datarettigheter
Under behandling vil et endringssett bli kontrollert mot de finkornede datarettighetene som er tildelt brukeren. Slike datarettigheter definerer hvilke vegobjekttyper (HVA) brukeren har rett til å manipulere og på hvilken del av vegnettet (HVOR) disse vegobjektene må være stedfestet for å kunne manipulere dem. Sistnevnte defineres ved hjelp av følgende områdebegreper:
- Kommuner
- Fylker
- Vegkategorier (Europaveg, riksveg, fylkesveg osv.)
- Typer veg (Kanalisert veg, enkel bilveg, rampe, rundkjøring osv.)
Datarettigheter tildeles personlige brukere og tjenestebrukere av en API-administrator via kontrollpanelet til NVDB API Skriv. API-administratoren selv har automatisk alle datarettigheter.
Dersom et endringssett manipulerer vegobjekter av en type eller i et område brukeren ikke har datarettigheter til blir det avvist under
behandling med avvistårsak IKKE_AUTORISERT
. Endringssettets status vil inneholde et feilvarsel med varselkode MANGLER_TILGANG
som beskriver hvilke rettigheter som mangler.
En klient kan om ønskelig hente datarettighetene tildelt en bruker via et eget endepunkt.
Sensitive egenskapstyper
Enkelte egenskapstyper i datakatalogen anses som sensitive og kan ikke manipuleres med mindre brukeren har spesifikke sensitivitetsroller i LDAP. Datakatalogen operer med tre sensitivitetskoder som krever hver sin rolle:
Rolle | Tilgangsrettighet |
---|---|
nva/0_sensitive_role1 | Manipulere egenskapstyper med sensitivitetskode 1 |
nva/0_sensitive_role2 | Manipulere egenskapstyper med sensitivitetskode 2 |
nva/0_sensitive_role3 | Manipulere egenskapstyper med sensitivitetskode 3 |
Dersom et endringssett manipulerer (registrerer, legger til, oppdaterer eller fjerner) egenskaper med en sensitivitetskode
som brukeren ikke har rolle for blir det avvist under behandling med avvistårsak IKKE_AUTORISERT
. Endringssettets status
vil inneholde et feilvarsel med varselkode MANGLER_TILGANG
som beskriver hvilken rolle som mangler.