Er ontstaan steeds meer applicaties, diensten en/of mobiele apps die informatie via API's uit verschillende bronnen ophalen en tonen aan de gebruiker. Denk aan studentenapps met roosterinformatie, studievoortgangdossiers, cijferoverzichten enzovoorts. Om toegang van de app tot die gegevens veilig te regelen, kun je gebruik maken van OpenID Connect via SURFconext. Met API Security, een onderdeel daarvan, kunnen instellingen nu ook identiteiten van andere instellingen via SURFconext gebruiken in hun eigen API's.
API's beschermen
Sommige API's stellen openbare data beschikbaar, maar andere bevatten gegevens die niet voor iedereen zichtbaar mogen zijn en soms zelfs gevoelig zijn. Voor die gegevens is het belangrijk dat de eigenaar van API heel zorgvuldig bepaalt aan welke gebruiker de API toegang geeft tot welke gegevens. De app en de API's waarmee de app communiceert moeten dus ook veilig en betrouwbaar kunnen vaststellen wie de gebruiker is.
Via SURFconext kun je voor webdiensten veilig en betrouwbaar vaststellen wie de gebruiker is die op dat moment gebruik maakt van je dienst. Maar bij API’s werkt dit anders: een API wordt bevraagd door een ander softwareproduct of systeem (machine-to-machine) en "praat" dus niet rechtstreeks met de gebruiker. Voor het afschermen van API's zodat niet iedereen zomaar toegang krijgt wordt het OpenID Connect protocol gebruikt. In combinatie met SURFconext API Security wordt het dan mogelijk de sterke identiteiten en authenticatie van SURFconext te gebruiken voor het afschermen van API's (van instellingen). Hiermee kan een applicatie, bijvoorbeeld een mobiele app, namens de daarop via SURFconext ingelogde gebruiker een API (van een instelling) bevragen, bijvoorbeeld om cijfers van die gebruiker op te halen. De API kan op haar beurt zelf weer betrouwbaar vaststellen wie de gebruiker is, via SURFconext.
Ontzorgd via SURFconext
Gekoppeld aan de door SURFconext geleverde identiteit kan de API in dit proces de gebruiker authenticeren, zonder interactie met de gebruiker. Wilde je dit inrichten voor je eigen applicatie, dan moest je tot op heden hiervoor je eigen autorisarie infrastructuur inrichten, om bijvoorbeeld de koppeling te kunnen maken tussen access tokens en identiteiten. Dat is niet langer nodig nu SURFconext ook deze functionaliteit levert, onder de naam API Security.
Hiermee kun je je eigen API's aansluiten op SURFconext en is het niet nodig zelf een infrastructuur op te tuigen voor moderne beveiliging middels OAuth2 of OpenID Connect. Registratie bij SURFconext zorgt ervoor dat je alles op één plek kunt beheren. Dat werkt als volgt:
- Als instelling meld je de API's aan bij SURFconext, zodat je API's bij SURFconext terechtkunnen voor de autorisatie van gebruikers die gegevens willen ophalen bij de API's.
- Je geeft voor elke dienst/applicatie (Relying Party, RP) die je beheert, op welke API's die moet kunnen bevragen. Zo voorkomen we dat een andere RP gegevens kan opvragen bij een API waar deze helemaal geen toegang toe heeft.
Aan de slag?
Lees onze technische documentatie over API Security.
Nog niet helemaal zeker of dit voor jouw use case geschikt is? Neem contact met ons op, we denken graag mee.