Verwerkingenlogging Verwerkingenloggingcomponent

Category:Logging en verwerkingsactiviteiten
 __NOTOC__
Het Verwerkingenloggingregister bestaat uit een aantal elementen. Hierin onderkennen we een applicatieservice die de dienst biedt om verwerkingsacties te kunnen vastleggen en te kunnen ontsluiten. De service is te benaderen via twee API's, gebaseerd op een RESTful/JSON verbinding. Het register bevat 4 functies die noodzakelijk zijn om verwerkingsacties te kunnen loggen, ophalen, verwijderen en wijzigen. Ook wordt een functie onderkend om consumercomponenten te controleren of deze toegang hebben tot het Verwerkingenloggingregister. Tot slot zijn twee standaarden opgenomen die door het register worden gerealiseerd.
=== Applicatieservices ===
Het Verwerkingenloggingregister realiseert één service.
Element 	Toelichting
Logging en ontsluiting van verwerkingen	De service wordt gebruikt voor het loggen (toevoegen, wijzigen en verwijderen) en het ontsluiten (opvragen) van verwerkingsacties.
=== Applicatieinterfaces ===
De Verwerkingenloggingcomponent is te benaderen via twee API's.
Element 	Toelichting
Verwerkingenlogging Bewerking API	De API wordt gebruikt voor het loggen, opvragen, wijzigingen en verwijderen van verwerkingsacties en is bedoeld voor gebruik binnen de gemeente/samenwerkingsverband.
Verwerkingenlogging Inzage API 	De API wordt gebruikt voor het opvragen van verwerkingsacties en is bedoeld voor gebruik door betrokkenen (bijvoorbeeld burgers).
=== Applicatiefuncties ===
De basis van het Verwerkingenloggingregister bestaat uit een tweetal hoofdfuncties met daarin specifieke applicatiefuncties die overeenkomen met de functies die worden gebruikt bij het aanroepen van de API's.
==== Hoofdfuncties ====
Element 	Toelichting
Registreren en delen van AVG Logging	Deze hoofdfunctie omvat de functies die betrekking hebben op de werking van het register.
Componentenautorisatie 	Deze hoofdfunctie is opgenomen voor het controleren van autorisaties van applicatiecomponenten. Deze functie benadert de API van de Autorisatiecomponent.
==== Specifieke applicatiefuncties ====
Element 	Toelichting
Loggen verwerkingenlogging 	Deze functie is een verzameling van meerdere functies die betrekking hebben op het vastleggen van een verwerkingsactie. Voor het vastleggen van verwerkingsacties die geen autorisatie vereisen, wordt de functie 'log verwerkingsactie' gebruikt. Voor verwerkingsacties die wel autorisatie vereisen, wordt de functie 'Log vertrouwelijke verwerkingsactie' gebruikt.
Opvragen verwerkingenlogging 	Deze functie is een verzameling van meerdere functies die betrekking hebben op het opvragen een verwerkingsacties. Afhankelijk van de gewenste set aan gegevens wordt een specifieke functie gebruikt.
Wijzigen verwerkingenlogging 	Deze functie is een verzameling van meerdere functies die betrekking hebben op het wijzigen van verwerkingsacties.
Verwijderen verwerkingenlogging	Deze functie is een verzameling van meerdere functies die betrekking hebben op het verwijderen van verwerkingsacties.
=== Data objecten ===
Er wordt één data object gedefinieerd.
Element 	Toelichting
Verwerkingsacties	De verwerkingsacties die geregistreerd worden, komen terecht in het data object Verwerkingsacties. Deze dataobjecten worden vastgelegd in het feitelijke logregister. Het kan voorkomen dat veel verwerkingsacties in een korte tijd moeten worden verwerkt. Het tegelijk en direct wegschrijven van de vele verwerkingsacties binnen een transacties naar het logregister kan performance problemen opleveren. Eén van de mogelijkheden om dit te voorkomen, is door gebruik te maken van a-synchroon persistente opslagmechanisme zoals een queueing mechanisme. Een eventuele keuze hiervoor is een implementatieoverweging van de leverancier van het logregister en valt buiten de scope van dit document.
=== Constraints ===
De afspraken over het gebruik van de functies, het onderliggende informatiemodel en de Open API Specificatie vormen samen de standaarden Verwerkingenlogging Bewerkingen API en de Verwerkingenlogging Inzage API.
Element 	Toelichting
Verwerkingenlogging Bewerking API	Applicatiecomponenten kunnen als ‘provider’ de standaard geïmplementeerd hebben in een logregister. In een logregister moeten alle functies uit de standaard geïmplementeerd worden. Een applicatiecomponent kan de standaard ook als ‘consumer’ implementeren, zodat de afnemende component aansluit op het logregister. Veelal zal dit de Procesondersteunende component zijn die de verwerkingsactie uitvoert. Een consumer hoeft uiteraard niet alle functies die door een provider (logregister) geboden worden te gebruiken. Indien een consumer geen vertrouwelijke verwerkingen uitvoert zal de consumer bijvoorbeeld niet de 'Log Vertrouwelijke Verwerkingsactie' gebruiken.
Verwerkingenlogging Inzage API 	Een applicatiecomponent kan de standaard als ‘consumer’ implementeren, zodat de afnemende component aansluit op het logregister. Veelal zal dit de Procesondersteunende component zijn die de verwerkingsactie uitvoert. Een consumer hoeft uiteraard niet alle functies die door een provider (logregister) geboden worden te gebruiken.
=== Implementatiepatronen ===
Bij het verwerken van persoonsgegevens door Procesondersteunende componenten worden de verwerkingsacties door die component vastgelegd in een Verwerkingenloggingregister. Als de Procesondersteunende component daarbij gegevens ophaalt van, of wegschrijft naar een ander component zoals bijvoorbeeld een gegevensmagazijn of Gegevensregister, moet ook deze component die verwerkingsactie vastleggen. Ieder op zich staande component is zelfstandig verantwoordelijk voor het vastleggen van de verwerking van persoonsgegevens. Er zijn veel implementatievarianten denkbaar, worden hieronder de vier varianten toegelicht die het meest voor de hand liggen.
==== Implementatievariant 1 ====
In onderstaande variant is het Verwerkingenloggingregister als los informatiesysteem geïmplementeerd. Zowel de Procesondersteunende component als get Gegevensregister maken gebruik van dit register voor het loggen van verwerkingen. Het Verwerkingenloggingregister fungeert als ‘provider’ en de Procesondersteunende component en het Gegevensregister fungeren als ‘consumer’.
==== Implementatievariant 2 ====
In onderstaande variant is het Verwerkingenloggingregister geïntegreerd als onderdeel van het gegevensverwerkend informatiesysteem. Zowel de Procesondersteunende component als het Gegevensregister bevatten een eigen Verwerkingenloggingregister. Bij deze variant is het van belang dat de vastgelegde verwerkingsacties in beide Verwerkingenloggingregisters wel door een ander applicatiecomponent te benaderen zijn om zodoende een samenhangend en geïntegreerd overzicht van alle verwerkingsacties te kunnen leveren. In deze variant zijn de Procesondersteunende component en het Gegevensregister zowel ‘provider’ als ‘consumer’ van het Verwerkingenloggingregister.
==== Implementatievariant 3 ====
In variant 3 is het Verwerkingenloggingregister geïntegreerd in de Procesondersteunende component. Het Gegevensregister bevat zelf geen Verwerkingenloggingregister en maakt daarvoor gebruik van de geïntegreerde component van de Procesondersteunende component. In deze variant is de Procesondersteunende component zowel ‘provider’ als ‘consumer’ van het Verwerkingenloggingregister en is het Gegevensregister alleen ‘consumer’.
==== Implementatievariant 4 ====
De laatste variant is de omgekeerde versie van variant 3. De Procesondersteunende component bevat zelf geen Verwerkingenloggingregister maar maakt daarvoor gebruik van de geïntegreerde component in het Gegevensregister. In variant 4 is het Gegevensregister zowel ‘provider’ als ‘consumer’ van het Verwerkingenloggingregister en is de Procesondersteunende component alleen ‘consumer’.
=== Standaard ===
Afhankelijk van de gekozen implementatievariant worden bepaalde functies wel of niet opgenomen in een applicatiecomponent. Als provider van het register moeten alle functies geïmplementeerd zijn en als consumer zijn alleen die functies geïmplementeerd die van belang zijn voor de betreffende consumer.