OAuth 2.0 met Gravitee API Mangement
01/09/2021

Ontdek de kracht van het OAuth 2.0 veiligheidsprotocol via Gravitee.io API Management

Een goed open source project is gebaseerd op de gemeenschap, de bijdragers, de gebruikers … Dus waarom geen derde artikel delen om de communicatie rond Gravitee.io te verbeteren?
 

 

In de vorige insight las u hoe interne data kan beveiligd worden in de cloud. Om dit traject verder te zetten, zullen we een blik werpen op het OAuth2.0 beveiligingsprotocol bij API’s.

Gravitee.io plannen


Zodra een API werd geregistreerd en openbaar is gemaakt op het ontwikkelaarsportaal, kunt u abonnementen en plannen gaan beheren. Dit is een belangrijke functie in Gravitee.io en dient u eerst te begrijpen alvorens met OAuth 2.0 aan de slag te gaan. 


Om data beschikbaar te stellen aan derde partijen maakt Gravitee.io gebruik van plannen. Een plan biedt een service- en toegangslaag op uw API voor de consumentenapplicaties.

 

Gravitee plan

 

Figuur 1 – Plannen als service- en toegangslaag op uw API

 

Via een plan specificeert u de toegangslimieten, de validatiemodus van het abonnement en andere configuraties om aan de specifieke behoeften van de toepassingen te voldoen.

 

Zo kunt u verschillende scenario’s opstellen:

 

  • Een Open API plan met enkel leesrechten en een gelimiteerd aantal verzoeken om potentiële klanten uw API te laten ontdekken en uit te proberen.
  • Een Premium plan met publieke bronnen en onbeperkte toegang voor uw partners.
  • Een Intern plan met volledige toegang tot uw interne bedrijfsapplicaties.


Bovenstaande scenario’s kunnen eenvoudig beheerd worden in een plan waarbij de mogelijkheden heel uitgebreid zijn.


Om uw partners toegang te geven tot uw API’s, dienen ze zich te abonneren op een plan. Ontwikkelaars dienen bij het aanmaken van een applicatie dan ook steeds een plan te kiezen waarop partners zich kunnen abonneren. Vervolgens wordt het abonnement geverifieerd om de inkomende aanvraag te accepteren of te weigeren.

Beveiliging met OAuth 2.0


Gravitee.io ondersteunt vier mogelijke plannen om de toegang tot een API te beperken.

 

De beveiligingstypes zijn:

 

  • Keyless (public) plan
  • API Key plan
  • OAuth 2.0 plan
  • JWT plan.

 

Zo kunt u bijvoorbeeld gebruik maken van een API sleutel met OAuth 2.0 als extra beveiliging. Door het toepassen van een API Key plan, kunt u tijdens het verwerken van verzoeken API sleutels verifiëren. Hierdoor kunnen enkel toepassingen met goedgekeurde API sleutels toegang verkrijgen tot uw API’s.

 

Aangezien de API sleutel eenvoudig kan worden gevonden in de app code en dus niet het sterkste beveiligingsmechanisme is, fungeert deze sleutel meer als een unieke identificatie dan als een echt beveiligingstoken. Het is dus cruciaal om bovenop de API sleutel een sterkere beveiliging te voorzien: OAuth 2.0.

 

Een OAuth 2.0 plan zorgt ervoor dat toegangstokens - aangeleverd door een derde partij (de OAuth 2.0 Autorisatie Server) - geldig zijn. Dit laat alleen applicaties met goedgekeurde OAuth 2.0 acces tokens toe tot uw API’s.
 

OAuth2.0 Plan

 

Figuur 2 - OAuth2.0 Plan

 

Voor u een OAuth 2.0 plan aanmaakt, heeft u een OAuth 2.0 resource nodig die uw autorisatie server representeert.

 

Hoe gaat u concreet te werk?

 

Stap 1


Ga naar Design > Resources op de Gravitee.io console en creëer een nieuwe OAuth 2.0 Autorisatie Server Resource.

 

OAuth resource

 

Figuur 3 - Creatie van een OAuth 2.0 resource

 

Stap 2

 

Eenmaal de OAuth2 resource is opgezet, kunt u een OAuth 2.0 plan aanmaken.

 

  • Ga naar de volgende sectie van uw API via Portal > Plans en creëer een nieuw plan.
  • Kies in de tweede stap (Secure) voor OAuth2 als autorisatie type en vul de naam in van de resource die u eerder al had aangemaakt.

 

Oauth 2 plan aanmaken

 

Figuur 4 - De creatie van een OAuth 2.0 plan

 

Uw API is nu OAuth 2.0 beveiligd. Applicaties die zich willen abonneren op een OAuth 2.0 plan, moeten een bestaande client hebben die met een geldige client_id geregistreerd is in de OAuth 2.0 autorisatie server. Deze zal worden gebruikt om de verbinding te maken tussen de OAuth 2.0 client en de Gravitee.io toepassing.
 

Onze wrap-up

 

In deze insight liet ik zien hoe OAuth2.0 gebruikt kan worden als extra beveiliging bovenop uw API’s. Door middel van plannen, die functioneren als een toegangslaag bovenop uw API, kunt u data beschikbaar stellen aan interne of externe partijen.

 

Tot slot gaf ik mee dat een API key plan meer dient als unieke identificatie en dus niet voldoende veilig is. Daarom dient u steeds gebruik te maken van een OAuth2.0 plan. Hierdoor hebben partijen die de API’s willen aanspreken enkel toegang dankzij een geldig toegangstoken.

 

Alles weten over OAuth 2.0? Surf dan naar oauth.net.

 

Benieuwd hoe Gravitee.io iets kan betekenen voor uw API-oplossingen? Ontdek het hier.

 

Geschreven door Reinbert Van Acker, Integration Engineer bij AXI

Ik schrijf me in op de insights rond Gravitee

 

Ik laat me graag inspireren