Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 25 Next »

Titel

M2M gegevensuitwisselingen

Status

CONCEPT

Datum

6 maart 2023

Voorstellen tot besluit voor werkconferentie 18 april:

  • De lagen zijn vereenvoudigd conform de bijeenkomst Architectenraad 12 april. Leveranciers registreren zich als Deelnemer van Edu-V. Onderwijsinstellingen met een eigen softwarehuis zijn ook een soort van ‘eigen’ leveranciers.

  • M2M gegevensuitwisselingen in huidige vorm publiceren met status CONCEPT.

In het Edu-V Ecosysteem worden gegevens uitgewisseld tussen Leveranciers ten behoeve van Onderwijsinstellingen. De gegevensuitwisselingen vinden tussen systemen (M2M) plaats. Deze gegevensuitwisselingen dienen veilig te zijn en kunnen in sommige gevallen alleen plaatsvinden na een mandaat van een Onderwijsinstellingen en het activeren van een uitwisseling van een gegevenssoort voor een School. In het Edu-V afsprakenstelsel is deze beveiliging op vijf lagen georganiseerd.

Beveiligingslaag

Toelichting

Relatie

1. Registratie

Een Leverancier (L) registreert zich bij het Edu-V afsprakenstelsel en wordt Deelnemer (D).

L → D

2. Aansluiting

Een Deelnemer (D) sluit zich voor een gegevensuitwisseling aan bij een andere Deelnemer en wordt Verzender (DV) of Ontvanger (DO).

D → DV of DO

3. Connectie

Een Verzender (DV) wisselt gegevens uit met een Ontvanger (DO). Deze uitwisseling wordt gedaan via een veilige connectie (v).

DV <-v-> DO

4. Mandaat

Een Onderwijsinstelling (O) mandateert een Deelnemer voor het verwerken van gegevens. De Deelnemer wordt Deelnemer met Mandaat (DM) voor de desbetreffende Onderwijsinstelling.

D → DM voor O

5. Activering

Een Administrator van een School activeert de uitwisseling van een gegevenssoort tussen een Verzender met Mandaat (DMV) en Ontvanger met Mandaat (DMO) voor een specifieke School (s) binnen een Onderwijsinstelling (O)

DMVs <-v-> DMOs voor s binnen O

Indien Onderwijsinstellingen in-house applicaties hebben ontwikkeld dan kunnen ze als zijnde ‘eigen’ Leverancier deelnemen aan het Ecosysteem. Ze vervullen dan net als alle andere Leveranciers een Business of Ondersteunende rol en kunnen voor de desbetreffende rol deelnemer worden.

Een voorbeeld is bijvoorbeeld een MBO-instelling die de rol van Dashboardaanbieder gaat vervullen en voortgangsgegevens en toetsresultaten combineert in een eigen ontwikkeld Dashboard.

Laag 1. Registratie – Leveranciers zijn bekend

Alle Leveranciers in het Ecosysteem dienen zich te conformeren aan de afspraken uit het Afsprakenstelsel Edu-V. Op deze manier beheersen we de continuïteit en de veiligheid van het Ecosysteem. Bij de registratie wordt tevens de identiteit van de Leverancier vastgelegd. Op deze manier kan een Leverancier in het Ecosysteem worden geïdentificeerd en kan een Leverancier op een veilige manier deelnemen aan gegevensuitwisselingen en kan een Onderwijsinstelling mandaten verstrekken aan Leveranciers voor het uitwisselen van gegevens.

Alvorens een Leverancier gegevens kan gaan uitwisselen in het Ecosysteem, dient een Leverancier te beschikken over:

  • Een unieke identifier zijnde het OIN gebaseerd op het KvK-nummer.

  • Een geldige registratie bij Edu-V. De volgende informatie is tenminste bij Edu-V bekend:

    • Business of Ondersteunende rollen, referentiecomponenten en koppelvlakken

    • Endpoints

    • Contactgegevens

  • Technische kwalificatie voor de gekozen rollen, referentiecomponenten en koppelvlakken.

Laag 2. Aansluiting – Deelnemers zijn gekoppeld

Om een gegevensuitwisseling tot stand te brengen tussen Deelnemers dienen de Deelnemers technisch op elkaar aangesloten te zijn. In het Edu-V afsprakenstelsel worden afspraken gemaakt over de specificatie van koppelvlakken voor iedere Business of Ondersteunende rol en referentiecomponent. Een Deelnemer kan met een andere Deelnemer koppelen vanuit één of meerdere van deze referentiecomponenten. Bilateraal kunnen daarnaast afspraken gemaakt worden welke gegevenssoorten er tussen de Deelnemers uitgewisseld worden.

Deelnemers hebben hun eigen procedure voor het aansluiten van andere Deelnemers. Voor deze procedure gelden de volgende operationele afspraken:

  • Deelnemers controleren of de wederpartij geregistreerd is als Deelnemer bij Edu-V (zie laag 1)

  • Deelnemers bepalen welke gegevenssoorten er onderling uitgewisseld gaan worden.

    • De mogelijkheden voor de gegevenssoorten zijn beperkt tot de Business rollen, referentiecomponenten en koppelvlakken die beide Deelnemers ondersteunen.

    • De gegevenssoorten en bijbehorende scopes zijn beschreven in Classificatie en scopes gegevensoorten.

Voorbeeld

Als Leermiddelenshop is het mogelijk om adresgegevens van Onderwijsdeelnemers te ontvangen van de Administratiesysteemaanbieder indien de Leermiddelenshop beschikt over de referentiecomponent ‘Distributiefaciliteit voor levering van fysieke leermiddelen’. Zo kan een Leermiddelenshop in de fijndistributie Leermiddelen op thuisadres laten bezorgen.

Deze gegevensuitwisseling is binnen het Ecosysteem niet beschikbaar voor andere Business en Ondersteunende rollen.

  • Deelnemers testen de aansluiting. Deelnemers delen hiervoor de noodzakelijke gegevens met elkaar:

    • Acceptatieomgeving

    • Client credentials en certificaten

    • Technische documentatie

  • Deelnemers wisselen alle noodzakelijke gegevens met elkaar uit voor de uitwisseling:

    • Client credentials

    • Certificaten

    • (Endpoints zijn eventueel op te vragen bij de registratie van Edu-V)

  • Deelnemers sluiten optioneel een Service Level Agreement

  • Deelnemers zijn collegiaal in het aansluiten op elkaar. De hiervoor noodzakelijke gegevens, overeenkomsten en documentatie wordt tijdig verstuurd, behandeld en ondertekend.

Laag 3. Connectie – Iedere uitwisseling is veilig

Iedere gegevensuitwisseling dient plaats te vinden via een beveiligde connectie. Deze connectie vindt plaats door een aantal stappen:

  1. Identificeren en authenticeren van Verzender of Ontvanger.

  2. Autoriseren van Verzender of Ontvanger.

  3. De uitwisseling vindt plaats via een beveiligde communicatielijn.

  4. De uitwisseling is gebaseerd op een modern protocol.

  1. Op welke wijze identificeren en authenticeren we een Verzender of Ontvanger?
    Voorstel: Hanteren van in ontwikkeling zijnde OAuth profiel van Edukoppeling. Dit profiel is gebaseerd op het OAuth Client Credentials protocol.
    Overweging: Edukoppeling Identificatie en Authenticatie heeft expliciete afspraken over het hanteren van PKI-overheidscertificaten voor het identificeren van een Partij. Is dit noodzakelijk of volstaat een geldig TLS-certificaat?

  2. Op welke wijze autoriseren we een Verzender of Ontvanger (de Leverancier die een API bevraagt)?
    Voorstel: Autorisatie voor de gegevenssoorten en de bilaterale overeenkomst tussen Leveranciers gebeurt op basis van de beide aansluiting overeengekomen API en scopes. De Verzender of Ontvanger vraagt een Token aan met een specifieke scope.
    Voorstel: Voor gegevenssoorten waarbij een mandaat van een Onderwijsinstelling verplicht is wordt periodiek door de Leveranciers gecontroleerd of de andere Leverancier beschikt over dit mandaat. Als alternatief kan dit ook bij iedere aanvraag van een Token, maar dit is mogelijk overkill.
    Voorstel: In aanvulling op het mandaat dient een Onderwijsinstelling een uitwisseling van een gegevensoort van een school te activeren. Dit betekent dat bij het benaderen van een endpoint gecontroleerd wordt of de gegevensuitwisseling voor de betreffende school geactiveerd is. Een Verzender of Ontvanger vraagt in het geval van een dergelijke uitwisseling een Token aan voor de School.
    Overweging: Edukoppeling Identificatie en Authenticatie heeft expliciete afspraken over routering op basis van het from-to principe bij iedere gegevensuitwisseling. Zo kan een Leverancier achter de voordeur een verzoek achter de voordeur routeren voor en naar de correcte onderwijsinstelling. Dit is een implementatiekeuze voor mandaten. Nemen we deze over?

  3. Op welke wijze beveiligen we de communicatielijn?
    Voorstel: Hanteren van Uniforme Beveiliging Voorschriften (UBV) voor M2M gegevensuitwisselingen. Het betreft dan zowel de Headers als TLS afspraken.

  4. Welke standaard hanteren we voor het protocol?
    Voorstel: Hanteren van REST/SAAS profiel zoals beschreven in Edukoppling, rekening houdend met de overwegingen zoals geformuleerd op deze pagina.

Laag 4. Mandaat – Leverancier is gemandateerd als Verwerker

De gegevens die uitgewisseld worden zijn van de Onderwijsinstelling of van de Leverancier. Zo vallen gegevens over gebruikersgegevens (onderwijsdeelnemers of onderwijsmedewerkers) en gebruiksgegevens (onder meer gebruiksgegevens over leermiddelen, voortgangsgegevens over leermaterialen en toetsresultaten over toetsen) onder de verwerkersverantwoordelijkheid van een Onderwijsinstelling. Een uitwisseling van deze gegevenssoorten kan alleen plaats vinden nadat de Onderwijsinstelling de Leverancier heeft gemandateerd. Hiertoe heeft de Onderwijsinstelling een verwerkersovereenkomst getekend met de Leverancier.

Let op: Een mandaat is een overeenkomst tussen een Onderwijsinstelling (Bevoegd Gezag) en een Leverancier. Dit staat niet gelijk aan een instemming op de activatie van een uitwisseling van een specifieke gegevenssoort voor een School (zie laag 5).

Dit betekent dat afspraken gemaakt worden over:

  1. De verantwoordelijke voor de registratie van mandaten.

  2. De wijze waarop mandaten worden gecontroleerd.

  3. De locatie waar mandaten worden geregistreerd.

  4. De eisen aan het register van de mandaten.

  1. Wie is verantwoordelijk voor het registreren van mandaten?
    Overweging: De Onderwijsinstelling is Verwerkersverantwoordelijke.
    Overweging: De praktijk leert dat Verwerkersovereenkomsten onvoldoende worden ingevuld ook na actief versturen van Leveranciers.
    Voorstel: De Onderwijsinstelling is verantwoordelijk voor het registreren van mandaten.

  2. Op welke wijze worden mandaten gecontroleerd?
    Overweging: Een Leverancier die gemandateerd is door een Onderwijsinstelling heeft een verantwoordelijkheid om te controleren of een andere Leverancier ook gemandateerd is voor de Onderwijsinstelling.
    Voorstel: Leveranciers controleren periodiek of aangesloten andere Leveranciers nog een actief mandaat hebben van een Onderwijsinstelling. Indien dit niet het geval is dan worden alle uitwisselingen van gegevenssoorten voor de scholen die vallen onder de Onderwijsinstelling gedeactiveerd.

  3. Waar worden mandaten geregistreerd?
    Overweging: Aangezien de Onderwijsinstelling verantwoordelijk is voor de registratie, is er een voorkeur voor één systeem voor een school.
    Overweging: Scholen maken reeds gebruik van OSR voor het mandateren van gegevensuitwisselingen tussen LAS en DUO.
    Voorstel: Advies om het OSR te hanteren voor het registreren van mandaten. Leveranciers kunnen bij het OSR, indien ze gemandateerd zijn voor een Onderwijsinstelling, opvragen of een andere Leverancier ook gemandateerd is voor de desbetreffende Onderwijsinstelling.
    Overweging: Schrijven we OSR voor? Of is het beter om hier expliciet de rol van Mandatenregister voor uit te werken. Het OSR, maar ook andere Leveranciers, kunnen vervolgens deze rol gaan vervullen?

  4. Welke eisen zijn er aan het register?
    Voorstel: Het OSR beschikt over een adequaat rollen en rechtenbeheer inclusief een rol van Administrator.
    Voorstel: In het register is duidelijk zichtbaar welke mandaten zijn verleend (of ingetrokken).
    Voorstel: Iedere verlening of intrekking van een mandaat wordt gelogd met een tijdstempel.

Laag 5. Activering – Uitwisseling van gegevenssoort voor school

De Leveranciers die optreden als Verzender en Ontvanger zijn beide reeds gemandateerd door de Onderwijsinstelling om gegevens uit te wisselen (zie laag 4). Echter dit wil niet zeggen dat voor alle scholen die onder deze Onderwijsinstellingen vallen ook alle gegevenssoorten uitgewisseld kunnen gaan worden. In deze vijfde laag geven we iedere School de flexibiliteit om de uitwisseling van een gegevenssoort te activeren of deactiveren.

De combinatie van mandaat (laag 4) en activering (laag 5) is een uitwerking van het principe: ‘gegevens worden uitgewisseld na instemming van de rechthebbende’ en meer in het bijzonder ‘De rechthebbende (school of individu) heeft zeggenschap over zijn of haar gegevens’.

Voor de activatie van een uitwisseling van een gegevenssoort voor een school zijn de volgende afspraken van belang:

  1. De verantwoordelijke voor het (de)activeren van een uitwisseling.

  2. De wijze waarop een (de)activatie uitwisseling wordt gecontroleerd.

  3. De locatie waar de uitwisselingen worden ge(de)activeert.

  4. De eisen aan het register van de (de)actieve uitwisselingen.

  1. Wie is verantwoordelijk voor het (de)activeren van een uitwisseling?
    Overweging: De Leverancier is reeds gemachtigd door het de Onderwijsinstelling en kan optreden als Verwerker.
    Overweging: De Leverancier heeft in zijn applicaties een Admin omgeving waarin een persoon vanuit een School met Administrator rechten in staat is om de applicatie te configureren en beheren.
    Voorstel: De persoon met Administrator rechten vanuit een school (de)activeert een uitwisseling.

  2. Op welke wijze worden (de)activatie uitwisselingen gecontroleerd?
    Overweging: Zoals beschreven in laag 3. Connectie, wordt er bij een uitwisseling gecontroleerd of een Leverancier beschikt over het recht om een gegevenssoort uit te wisselen.
    Overweging: Een uitwisseling van een gegevenssoort kan op ieder moment worden ge(de)activeert. Vanaf dat moment moeten alle gegevensuitwisselingen betreffende de gegevenssoort niet meer mogelijk zijn. Dit impliceert dat deze controle zo laat mogelijk plaatsvindt.
    Voorstel: De controle vindt plaats vlak voordat de gegevensuitwisseling plaatsvindt en bij iedere bevraging van een API. Het alternatief is om de controle te doen bij het aanvragen van het Token. Echter een Token heeft een geldigheidsduur. In de tussentijd kan een uitwisseling gedeactiveerd zijn.

  3. Waar worden uitwisselingen ge(de)activeert?
    Overweging: Iedere Leverancier heeft zijn eigen rollen en rechtenbeheer en vertrouwt zijn eigen Administrators. Een Leverancier kan er niet vanuit gaan dat een Administrator van een andere Leverancier ook Admin-rechten heeft voor zijn applicatie.
    Voorstel: De uitwisseling wordt voor beide Leveranciers – Verzender en Ontvanger – ge(de)activeert.
    Overweging: De controle op het actief zijn van een uitwisseling vindt plaats bij iedere bevraging. Dit betekent dat deze controle een grote impact heeft op de performance van de gegevensuitwisseling. Hier is het niet wenselijk als een Leverancier hiervoor afhankelijk is van een andere Leverancier.
    Voorstel: Iedere Leverancier hanteert zijn eigen register voor het (de)activeren van uitwisselingen.
    Voorstel: In het SEM Ecosysteem is een dergelijke tweezijdige oplossing geïmplementeerd in de Consent API.

  4. Welke eisen zijn er aan het register?
    Voorstel: De Leverancier beschikt over een adequaat rollen en rechtenbeheer inclusief een rol van Administrator.
    Voorstel: In het register is duidelijk zichtbaar welke uitwisseling voor welke gegevenssoort actief is, en bij welke zijde (Verzender of Ontvanger) de uitwisseling is ge(de)activeert.
    Voorstel: Iedere wijziging activering of deactiveren wordt gelogd met een tijdstempel.


Status en totstandkoming

Deze uitwerking is gebaseerd op basis van de volgende stappen:

  • Documentstudie van Edukoppeling en SEM Ecosysteem.

  • Voorbereidende bijeenkomst voor de Architectenraad van RdB en KV.

  • Uitwerking in een concept inclusief voorstellen tot besluit.

  • No labels