VNG-Realisatie / gemma-zaken

Samen ontwikkelen van API's voor Zaakgericht werken
https://vng-realisatie.github.io/gemma-zaken/
Other
41 stars 26 forks source link

[VRAAG] Is er een alternatief voor het benaderen van inhoud van enkelvoudiginformatieobject via URL? #2363

Closed MaartenRutten closed 8 months ago

MaartenRutten commented 8 months ago

Het element 'inhoud' van een enkelvoudiginformatieobject bevat een URL naar het bestand. (Net zoals het elelment 'link'). Gegeven dat het document zich in een DMS bevindt kan dit prima werken voor applicaties die zich binnen het netwerk van de gemeente bevinden.

Als echter de inhoud van een document vanuit de PIP benaderd wordt dan kan dit een security issue opleveren: via de URL kan de burger een intern systeem van de gemeente benaderen. Het lijkt me dat bij een DigiD audit hier opmerkingen over gemaakt worden.

Wat zijn de opties?
Gebruik van 'expand=inhoud' waarbij in 'expand' de binaire inhoud van het document opgenomen wordt?

michielverhoef commented 8 months ago

Een PIP is uiteindelijk ook een applicatie die zich (deels) binnen een netwerk van een gemeente bevindt. Informatie die vanuit de PIP getoond en/of benaderd wordt dient netjes vanuit de PIP geautoriseerd te worden.

Wanneer een url naar de inhoud van een informatieobject zonder enige vorm van beveiliging opgevraagd kan worden is dat niet goed. Het is aan de implementaties (bijvoorbeeld een PIP, maar het kan ook iets anders zijn) om dit goed te regelen.

Het feit dat een gegeven geïdentificeerd wordt via een url wil niet zeggen dat die informatie klakkeloos, zonder autorisatie, op te vragen is. De url is dan ook geen absolute toegang tot een systeem maar een combinatie van unieke identificatie (UUID) en een API waar dit gegeven opgevraagd kan worden.

MaartenRutten commented 8 months ago

Als ik het goed begrijp dan bevat het element 'inhoud' bijvoorbeeld onderstaande waarde. Als die URL benaderd wordt zal de inhoud geleverd worden als binaire data.

{base-url}/api/v1/enkelvoudiginformatieobjecten/{uuid}/download

michielverhoef commented 8 months ago

Correct, met de kanttekening dat er wel een correct en geldig token meegestuurd dient te worden. De inhoud van het document is niet publiek toegankelijk.

In die zin verschilt het niet van bijvoorbeeld enkelvoudiginformatieobjecttype in de Catalogi API. Dat is ook een url naar een intern systeem maar ook die informatie is alleen toegankelijk via een geldig token.

michielverhoef commented 8 months ago

@MaartenRutten beantwoordt dit je vraag?