Thema-architectuur Werken met API's: verschil tussen versies

Regel 7: Regel 7:
  
 
== Aanleiding ==
 
== Aanleiding ==
In 2017 zijn gemeenten, VNG en leveranciers onder de naam ‘Common Ground’ een nieuwe informatiekundige weg ingeslagen. Een belangrijk doel daarbij was om data niet meer op te slaan in 'silo-systemen' maar data voortaan op een gestandaardiseerde manier beschikbaar te stellen voor hergebruik. Ontsluiten van data uit registraties gebeurt via 'Application Programming Interfaces' (APIs): een soort software-interface voor andere stukjes software. Om te zorgen dat API's op dezelfde manier werken worden API-standaarden gebruikt.  
+
In 2017 zijn gemeenten, VNG en leveranciers onder de naam ‘Common Ground’ een nieuwe informatiekundige weg ingeslagen. Een belangrijk doel daarbij was om data niet meer op te slaan binnen 'silo-systemen' maar om data (ook) op een gestandaardiseerde manier beschikbaar te stellen voor hergebruik. Ontsluiten van data uit registraties gebeurt via 'Application Programming Interfaces' (APIs), software-interfaces voor andere software. Om te zorgen dat API's zoveel mogelijk op een vergelijkbare manier werken wordt gebruik gemaakt van API-standaarden. Meer werken met API's stelt nieuwe eisen aan de inrichting van de informatievoorziening. Beschikbaar stellen van data via API's moet verantwoord, betrouwbaar en voldoende snel plaatsvinden. Daarvoor moeten zaken zoals authenticatie, autorisatie en beveiliging goed geregeld zijn.  
 
 
Werken met API's biedt mogelijkheden om de informatievoorziening te verbeteren maar stelt ook nieuwe eisen aan de inrichting daarvan. Zaken zoals authenticatie, autorisatie en beveiliging moeten op een andere manier worden geregeld dan voorheen het geval was. Wanneer data die elders is vastgelegd via API's beschikbaar komt moet zijn gegarandeerd dit betrouwbaar en voldoende snel gebeurt.    
 
  
 
===Doel===
 
===Doel===
De thema-architectuur 'Werken met API's' werkt vraagstukken uit die naar boven komen als (meer) wordt gewerkt met API's. Een eerste vraagstuk dat is opgepakt is hoe de informatievoorziening moet worden ingericht om te zorgen dat gebruik van API's verantwoord plaats vindt. Het gaat daarbij om vragen zoals 'Is duidelijk wie data wil gebruiken?', 'Is er voldoende doelbinding aanwezig om gebruik toe te staan?', 'is te verantwoorden waarom bepaalde data is gebruikt?'. Daarbij speelt 'identiteit- en toegangsbeheer' een belangrijke rol: pas als er sprake is van een betrouwbare identiteit én een toegangsbevoegdheid op basis van vastgelegde toegangsregels mag toegang tot een API worden verleend.   
+
De thema-architectuur 'Werken met API's' werkt een aantal vraagstukken uit die naar boven komen als er (meer) wordt gewerkt met API's. Een eerste vraagstuk dat is opgepakt is wat er nodig is om te zorgen dat gebruik van API's verantwoord plaats vindt. Het gaat daarbij om vragen zoals 'Is duidelijk wie data wil gebruiken?', 'Is er voldoende doelbinding aanwezig om gebruik toe te staan?', 'is te verantwoorden waarom bepaalde data is gebruikt?'. Identiteit- en toegangsbeheer speelt daarbij een belangrijke rol. Pas als er sprake is van een betrouwbare identiteit én toegangsbevoegdheid mag toegang tot een API worden verleend.   
  
 
===Architectuur ===
 
===Architectuur ===
De GEMMA gebruikt service-oriëntatie als leidende architectuurstijl. In lijn daarmee wordt gestreefd naar een informatielandschap waar applicatiecomponenten via gestandaardiseerde API's van elkaars services gebruik maken. Een belangrijke stap daarbij is het bepalen van grenzen. Welke component moet bij gebruik van API's welke functionaliteit leveren? Kan die gestandaardiseerd worden geleverd? Wordt daarvoor wel of niet gebruik gemaakt van 1 centrale voorziening?    
+
De GEMMA gebruikt service-oriëntatie als leidende architectuurstijl. Daarbij maken applicatiecomponenten via gestandaardiseerde API's van elkaars services gebruik. Een belangrijke stap daarbij is het bepalen van grenzen. Bijvoorbeeld bij het beslissen welke componenten bepaalde data en functionaliteit moeten leveren. En of gebruik wordt gemaakt van een centrale voorziening of er juist meer toegewerkt wordt naar een gedistribueerd applicatielandschap.    
  
Het eerste aspect dat binnen deze thema-architectuur is uitgewerkt is hoe autorisatie plaats moet vinden binnen een landschap met API's. Vaak gebruikte mechanismen voor toegang en informatiebeveiliging zoals Role- en Attribute- based Access ('RBAC' en 'ABAC') zijn dan niet meer voldoende omdat ze te grofmazig van aard zijn en ongeschikt om te kunnen verantwoorden wie wanneer voor welk doel data heeft gebruikt. De benodigde fundamentele verbetering is te bereiken door autorisatie meer op basis van verschillende soorten bedrijfsregels in te gaan richten ('Policy Based Access'). Naast een aantal technische veranderingen betekent het ook dat 'autoriseren' iets wordt van de hele organisatie.     
+
Het belangrijk aspect dat binnen deze thema-architectuur is uitgewerkt is hoe toegangsbeheer plaats moet vinden binnen applicatielandschap waar met API's wordt gewerkt. Mechanismen voor toegang en informatiebeveiliging zoals Role- (RBAC) en Attribute- based Access (ABAC) zijn dan niet meer altijd voldoende. Ze zijn vaak te grofmazig en ongeschikt om goed te kunnen verantwoorden wie wanneer voor welk doel data heeft gebruikt. Om de toegang tot systemen en bronnen goed te kunnen beheren is een ontwikkeling richting 'Policy Based Access' nodig. Daarbij worden verschillende type beleidsregels gedefinieerd die worden gebruikt om betrouwbaar vast te stellen of of toegang tot een API geoorloofd is of niet. Hiervoor zijn zowel technische als organisatorische veranderingen nodig.     
  
De ontkoppeling die werken met API's met zich meebrengt vereist een informatiearchitectuur die niet meer is gebaseerd op statische, netwerkgebaseerde grenzen (bijvoorbeeld op basis van locatie binnen of buiten het interne netwerk). Voordat toegang tot services of data wordt verleend moet op basis van het need-to-know principe altijd verificatie plaatsvinden. Dit type architectuur wordt aangeduid met de term 'Zero Trust architectuur'. Werken met Policy Based Access past goed bij de uitgangspunten van een Zero Trust architectuur.      
+
De ontkoppeling die werken met API's met zich meebrengt vereist een architectuur waarbij geen enkele gebruiker of systeem inherent vertrouwd mag worden. Ook  niet de afnemers die zich binnen dezelfde (netwerk)omgeving bevinden. Gebruikers en apparaten moeten altijd worden geverifieerd en geautoriseerd op basis van hun identiteit en alleen toegang krijgen tot bronnen die ze nodig hebben. Dit type architectuur wordt aangeduid met de term 'Zero Trust Architectuur' waarbij het 'niets-en-niemand-vertrouwen principe' geldt. Algemene aspecten van een Zero Trust Architectuur worden uitgewerkt in de [[Thema-architectuur Privacy en Informatiebeveiliging|thema-architectuur Privacy en Beveiliging]]. Hier wordt met name beschreven wat daarbij in relatie tot gebruik van API's relevant is.    
  
 
{{Landingspagina
 
{{Landingspagina

Versie van 22 mei 2023 14:00



Aanleiding[bewerken]

In 2017 zijn gemeenten, VNG en leveranciers onder de naam ‘Common Ground’ een nieuwe informatiekundige weg ingeslagen. Een belangrijk doel daarbij was om data niet meer op te slaan binnen 'silo-systemen' maar om data (ook) op een gestandaardiseerde manier beschikbaar te stellen voor hergebruik. Ontsluiten van data uit registraties gebeurt via 'Application Programming Interfaces' (APIs), software-interfaces voor andere software. Om te zorgen dat API's zoveel mogelijk op een vergelijkbare manier werken wordt gebruik gemaakt van API-standaarden. Meer werken met API's stelt nieuwe eisen aan de inrichting van de informatievoorziening. Beschikbaar stellen van data via API's moet verantwoord, betrouwbaar en voldoende snel plaatsvinden. Daarvoor moeten zaken zoals authenticatie, autorisatie en beveiliging goed geregeld zijn.

Doel[bewerken]

De thema-architectuur 'Werken met API's' werkt een aantal vraagstukken uit die naar boven komen als er (meer) wordt gewerkt met API's. Een eerste vraagstuk dat is opgepakt is wat er nodig is om te zorgen dat gebruik van API's verantwoord plaats vindt. Het gaat daarbij om vragen zoals 'Is duidelijk wie data wil gebruiken?', 'Is er voldoende doelbinding aanwezig om gebruik toe te staan?', 'is te verantwoorden waarom bepaalde data is gebruikt?'. Identiteit- en toegangsbeheer speelt daarbij een belangrijke rol. Pas als er sprake is van een betrouwbare identiteit én toegangsbevoegdheid mag toegang tot een API worden verleend.

Architectuur[bewerken]

De GEMMA gebruikt service-oriëntatie als leidende architectuurstijl. Daarbij maken applicatiecomponenten via gestandaardiseerde API's van elkaars services gebruik. Een belangrijke stap daarbij is het bepalen van grenzen. Bijvoorbeeld bij het beslissen welke componenten bepaalde data en functionaliteit moeten leveren. En of gebruik wordt gemaakt van een centrale voorziening of er juist meer toegewerkt wordt naar een gedistribueerd applicatielandschap.

Het belangrijk aspect dat binnen deze thema-architectuur is uitgewerkt is hoe toegangsbeheer plaats moet vinden binnen applicatielandschap waar met API's wordt gewerkt. Mechanismen voor toegang en informatiebeveiliging zoals Role- (RBAC) en Attribute- based Access (ABAC) zijn dan niet meer altijd voldoende. Ze zijn vaak te grofmazig en ongeschikt om goed te kunnen verantwoorden wie wanneer voor welk doel data heeft gebruikt. Om de toegang tot systemen en bronnen goed te kunnen beheren is een ontwikkeling richting 'Policy Based Access' nodig. Daarbij worden verschillende type beleidsregels gedefinieerd die worden gebruikt om betrouwbaar vast te stellen of of toegang tot een API geoorloofd is of niet. Hiervoor zijn zowel technische als organisatorische veranderingen nodig.

De ontkoppeling die werken met API's met zich meebrengt vereist een architectuur waarbij geen enkele gebruiker of systeem inherent vertrouwd mag worden. Ook niet de afnemers die zich binnen dezelfde (netwerk)omgeving bevinden. Gebruikers en apparaten moeten altijd worden geverifieerd en geautoriseerd op basis van hun identiteit en alleen toegang krijgen tot bronnen die ze nodig hebben. Dit type architectuur wordt aangeduid met de term 'Zero Trust Architectuur' waarbij het 'niets-en-niemand-vertrouwen principe' geldt. Algemene aspecten van een Zero Trust Architectuur worden uitgewerkt in de thema-architectuur Privacy en Beveiliging. Hier wordt met name beschreven wat daarbij in relatie tot gebruik van API's relevant is.



Deze pagina is het laatst bewerkt op 22 mei 2023 om 14:00.