Thema Werken met API's


De eerste onderdelen van de 'Referentiearchitectuur Werken met API's' zijn ondertussen gepubliceerd in de gelijknamige GitHub-repository. De inhoud van deze repository wordt in de volgende fase van het project opgenomen in de GEMMA-architectuur.

Referentiearchitectuur veilig en transparant werken met API’s[bewerken]

Het afgelopen jaar zijn de eerste gemeenten gestart met het implementeren van API-standaarden, zoals de API-standaarden voor zaakgericht werken. Veel andere gemeenten zijn bezig daarvoor plannen te maken. Hierbij is het duidelijk geworden dat het werken met API’s meer betekent dan alleen het vervangen van de ene standaard door de andere. Vraagstukken, zoals die rondom beveiliging van API-standaarden en transparantie over verwerkingen, vereisen nieuwe antwoorden die zijn toegespitst op de specifieke context van een API-landschap. Antwoorden die passen bij bestaande én nog te ontwikkelen API-standaarden en bovendien aansluiten bij oplossingen van andere overheden. Vandaar het voorstel voor het ontwikkelen van een ‘referentiearchitectuur veilig en transparant werken met API’s’.

Aanleiding[bewerken]

De door gemeenten en VNG opgestelde informatiekundige visie Common Ground beoogt een modernisering van de gemeentelijke informatievoorziening. Er wordt gestreefd naar een wendbare inrichting die gemeenten in staat stelt om hun processen en dienstverlening op een snelle en flexibele manier te verbeteren. Collectieve standaardisatie van met name de toegang tot, en de modellering van, gegevens is daarvoor nodig.

Kern van de strategie om te komen tot realisatie van deze informatiekundige visie is het scheiden van de gegevens die binnen processen worden gebruikt van de logica en presentatie die daarbij een rol speelt. Gegevens worden zo breed als mogelijk beschikbaar gesteld en kunnen, binnen de grenzen van wet- en regelgeving, voor verschillende doelen worden gebruikt. Hierbij worden verschillende applicatiecomponenten gebruikt die zelfstandig functioneren en gestandaardiseerd gegevens uitwisselen. Daarbij wordt maximaal gebruik gemaakt van gegevens uit bronregistraties.

Met de transitie naar deze informatiekundige visie zullen gemeenten in toenemende mate gebruik maken van gegevensdiensten (APIs) voor het ophalen en muteren van brongegevens en het ontvangen van notificaties over plaatsgevonden gebeurtenissen rondom die bronregistraties. Ook zullen gemeenten in toenemende mate zelf APIs gaan aanbieden voor zowel in- als extern gebruik.

Nu een aantal standaard API-standaarden zijn gerealiseerd en vastgesteld (oa Zaakgericht werken en een aantal HaalCentraal API’s) worden deze door steeds meer gemeenten in gebruik genomen. Gemeenten hebben behoefte aan een referentiearchitectuur waarin is beschreven welke referentiecomponenten nodig zijn en hoe ze moeten worden ingericht om veilig en transparant met API's te kunnen werken. Waarbij er ruimte blijft voor lokaal beleid en er dus verschillende technische implementaties mogelijk blijven. In aanvulling op de uitbreiding van de GEMMA referentiearchitectuur worden handreikingen voor specifieke situaties gemaakt.

Overheidsbrede ontwikkelingen[bewerken]

Bij het ontwikkelen van een ‘referentiearchitectuur veilig en transparant werken met API’s’ hoeven we niet bij nul te beginnen. Op overheidsbreed niveau zijn over dit onderwerp al de nodige uitgangspunten, aanbevelingen en beschrijvingen samengebracht en beschreven.

Componenten voor veilig werken met API's (overgenomen uit hoofdstuk Architectuur Nederlandse API-strategie)

Binnen de NORA (Nederlandse Overheids Referentiearchitectuur) wordt het thema Identity en Access Management (IAM) uitgewerkt. Naast een begrippenkader worden daar bijv. aanbevelingen gedaan over de plaats van identificatie, authenticatie en autorisatie binnen architectuur en het ontwerp van diensten.

Specifiek gericht op het werken met API’s is het hoofdstuk architectuur dat door het Kennisplatform API’s als onderdeel van de Nederlandse API-strategie in concept is gepubliceerd. Zo wordt in het hoofdstuk ‘API Security Architectuur’ bijvoorbeeld beschreven welke componenten nodig zijn om veilig met API’s te kunnen werken. Op het Kennisplatform vindt u ook een aantal 'Masterclasses' waarin kennis wordt gedeeld over het verantwoord maken en gebruiken van API's.

Ook projecten waarbij intensief van API's gebruik wordt gemaakt zijn bijdrages geleverd waarvan organisaties gebruik kunnen maken om binnen hun eigen context te komen tot veilig en transparant API-gebruik (bijv. een handreiking voor gebruikers van Haal Centraal API's).

Resultaat[bewerken]

De op te leveren ‘referentiearchitectuur veilig en transparant werken met API’s’ gaat een aantal producten omvatten, waaronder:

  1. Best practices bij gemeenten;
  2. Uitbreiding van de GEMMA referentiearchitectuur;
  3. Uitbreiding van het GEMMA Gegevenslandschap;
  4. Beschrijving van verschillende inrichtingsscenario’s.
Samenhang tussen de verschillende onderdelen van de referentiearchitectuur Werken met API's

1 Best practices bij gemeenten[bewerken]

Er zijn nu al diverse gemeenten die zelf, of met hulp van een leverancier, een landschap hebben ingericht voor het werken met identiteiten, autorisaties en API’s. De bestaande inrichtingen kunnen worden opgenomen op de GEMMA als (best) practices, waarbij beschreven wordt hoe ze zich verhouden tot de inrichtingsscenario’s.

2 Uitbreiding GEMMA-referentiearchitectuur[bewerken]

In de GEMMA modelarchitectuur worden binnen de informatiearchitectuur referentiecomponenten beschreven. Deze referentiecomponenten zijn modulair, zelfstandig inzetbaar en vervangbare delen van softwaresystemen. Referentiecomponenten groeperen logisch bij elkaar horende functionaliteit en bieden deze functionaliteit aan via goed gedefinieerde interfaces.

Applicatiefuncties en componenten voor ‘identity- and access management’ zijn in de GEMMA-referentiearchitectuur op dit moment niet in detail uitgewerkt. De enige applicatiefunctie binnen de ‘Gedeelde generieke functionaliteit’ die direct aan dit taakgebied is gerelateerd is ‘Registreren en delen van identiteiten en autorisaties’. Aan deze functie is de Referentiecomponent ‘Gebruikersbeheercomponent’ toegewezen. Bij transparant werken hoort de applicatiefunctie ‘Registreren en delen van loggegevens’ en de toegewezen referentiecomponent ‘Loggingcomponent’. Genoemde bedrijfsfuncties en referentiecomponenten zijn in het model hierboven blauw respectievelijk groengekleurd.

Gedeelde generieke applicatiefuncties en bijbehorende referentiecomponenten in de GEMMA-referentiearchitectuur

Gelet op de Nederlandse API-strategie is het nodig om de GEMMA-referentiearchitectuur te actualiseren en met nieuwe componenten uit te breiden (wat ook leidt tot het opnemen daarvan in de GEMMA Softwarecatalogus).

3 Bijwerking GEMMA Gegevenslandschap[bewerken]

Het GEMMA Gegevenslandschap is de doelarchitectuur die is opgesteld om als gemeenten samen met andere partijen de informatiekundige visie Common Ground te kunnen realiseren. Er wordt gebruik gemaakt van een architectuurmodel dat is opgedeeld in een vijftal architectuurlagen. Per laag van het model zijn de functies beschreven die voor de betreffende laag van belang zijn. Binnen het GEMMA Gegevenslandschap zijn op hoofdlijnen beschrijvingen opgenomen ten aanzien van authenticatie, autorisatie en betrouwbaarheidsniveaus van diensten. Bijv. in de handreikingen voor ‘Authenticatie en Autorisatie’ en ‘Beveiligingsrichtlijnen voor API's en webservices’.

Enkele aspecten die hierbij worden meegenomen:

  • Rol- en attribuut-gebaseerd autoriseren (incl. consequenties ten aanzien van AVG-compliance);
  • Koppeling van betrouwbaarheidsniveau van diensten aan de niveaus van authenticatiemiddelen;
  • Inrichting van sleutel/geheimenbeheer;
  • Implementatie van autorisaties bij gegevensdiensten (bv via JWT-token scopes; al ontwikkelde wijze van autoriseren van o.a. ZGW-, Haal Centraal en Verwerkingenlogging worden meegenomen);
  • Beheer van identiteiten en autorisaties in (combinaties van) on-premise en cloudomgevingen.

4 Inrichting- en implementatiescenario’s[bewerken]

Inrichtingsscenario’s schetsen hoe gemeenten hun informatievoorziening op een nieuwe manier kunnen gaan inrichten. Implementatiescenario's beschrijven als vervolg daarop hoe in de referentiearchitectuur beschreven referentiecomponenten op verschillende manieren in de praktijk zijn toe te passen.

Verschillende implementatiescenario’s kunnen bijvoorbeeld worden beschreven op basis van:

  • Intensief gebruik van de Microsoft Azure stack;
  • Gebruik van een combinatie van open source componenten (bijv. NLX);
  • Mengvorm van zowel commerciële als open source producten, en
  • Toegankelijk maken via API's van interne informatiebronnen versus externe informatiebronnen.

Bovengenoemde implementatiescenario’s zijn een voorstel en kunnen naar aanleiding van vragen of practices van gemeenten nog worden bijgesteld.

Denk mee[bewerken]

Eén van de onderdelen van de referentiearchitectuur is een beschrijving van een aantal (bestaande) practices - dit hoeven geen best practices te zijn! We zoeken nog gemeenten die hun practice willen aanleveren of op een andere manier willen bijdragen aan deze referentiearchitectuur.

Interesse? Stuur een mail naar gemmaonline@vng.nl!

Deze pagina is het laatst bewerkt op 6 okt 2023 om 05:50.