Goed API-tokens beheren en beveiligen is essentieel zodra je Google Workspace koppelt aan externe systemen. In dit artikel leer je welke tokens er zijn, hoe je ze veilig opslaat en roteert, en hoe je verleende toegang blijft monitoren.
Welke tokens zijn er in Workspace
Bij koppelingen met de Workspace-API's kom je verschillende soorten tokens tegen. Een access token is kortlevend en geeft tijdelijk toegang. Een refresh token is langlevend en vraagt nieuwe access tokens op zonder dat de gebruiker opnieuw hoeft in te loggen. Bij service-accounts werk je met een sleutelbestand dat als langlevende referentie dient.
Het onderscheid is belangrijk voor je beveiliging. Een gelekt access token is hooguit kort bruikbaar, maar een gelekt refresh token of service-accountsleutel geeft langdurig toegang. Die laatste twee verdienen daarom de strengste bescherming.
Tokens zijn wachtwoorden
Behandel elk token alsof het een wachtwoord is, want functioneel is het dat ook. Wie een geldig token heeft, kan namens jou handelen binnen de toegekende scopes, zonder verder iets te hoeven weten.
Tokens veilig opslaan
De grootste oorzaak van tokenlekken is onveilige opslag. Tokens in code, in een repository of in een gewoon tekstbestand zijn een ongeluk dat staat te wachten. Bewaar ze altijd versleuteld en buiten je codebase.
Tokens veilig opslaan en gebruiken
- Sla tokens nooit in je broncode of versiebeheer op.
- Gebruik een secret manager of een versleutelde omgevingsvariabele.
- Beperk de toegang tot de opslag tot alleen de processen die het token nodig hebben.
- Vraag bij het aanmaken alleen de scopes aan die je echt nodig hebt.
- Log nooit de inhoud van een token in je applicatielogs.
- Stel een rotatieschema in zodat tokens periodiek worden vervangen.
Commit nooit een service-accountsleutel of refresh token naar Git, ook niet in een private repository. Eenmaal in de geschiedenis is een sleutel praktisch onmogelijk volledig te verwijderen, en publieke repositories worden continu afgespeurd door aanvallers op zoek naar precies dit soort sleutels.
Scopes, rotatie en monitoring
Veilig tokenbeheer rust op drie pijlers: minimale rechten, regelmatige vervanging en doorlopend toezicht. Samen beperken ze zowel de kans op een lek als de schade als het toch misgaat. De onderstaande tabel vat de vijf gewoontes samen die je koppelingen veilig houden.
| Gewoonte | Wat je doet |
|---|---|
| Minimaal | Vraag alleen de scopes aan die je echt nodig hebt |
| Versleuteld | Bewaar tokens in een secret manager |
| Roteren | Vervang tokens en sleutels op een vast schema |
| Monitoren | Controleer verleende toegang in de beveiligingsinstellingen |
| Intrekken | Trek ongebruikte of verdachte toegang direct in |
In de beveiligingsinstellingen van je Google-account en in de Admin-console zie je welke apps en koppelingen toegang hebben. Loop deze lijst regelmatig na en trek alles in wat je niet herkent of niet meer gebruikt.
Een refresh token blijft geldig tot het expliciet wordt ingetrokken of de toestemming wordt verwijderd. Vertrekt een medewerker of stop je met een koppeling, trek dan actief de toegang in. Een token vervalt niet vanzelf zodra je het niet meer gebruikt.
OAuth-toestemmingen in de organisatie beheren
Naast je eigen tokens is het belangrijk om grip te houden op de OAuth-toestemmingen die in je hele organisatie worden verleend. Elke keer dat een gebruiker een app toegang geeft tot Workspace-data, ontstaat er een token dat namens die gebruiker handelt. Zonder overzicht stapelen deze toestemmingen zich op en weet niemand nog welke apps allemaal bij de bedrijfsdata kunnen. De Admin-console biedt hiervoor gelukkig centraal inzicht.
In de Admin-console vind je dit onder Beveiliging, dan Toegangs- en datacontrole, dan API-besturing. Via Toegang tot apps van derden beheren zie je welke apps API-toegang hebben en kun je per app kiezen tussen vertrouwd en geblokkeerd. Je kunt de volledige lijst, inclusief het aantal gebruikers en de gevraagde scopes, als CSV exporteren om hem rustig na te lopen.
Let op brede scopes
Een app die volledige toegang tot Drive of Gmail heeft gekregen, verdient extra aandacht, want zo'n token is een geliefd doelwit. Filter je export op apps met brede scopes en blokkeer of beperk wat niet meer wordt gebruikt. Zo verklein je structureel het aanvalsoppervlak van je organisatie.
Overweeg daarnaast een beleid waarbij gebruikers niet zelf apps toegang mogen geven, maar dit via een goedkeuringsproces loopt. Dat voelt strenger, maar voorkomt dat een enkele gebruiker per ongeluk een twijfelachtige app toegang geeft tot gevoelige data. Combineer dit met een allowlist van vertrouwde apps, zodat het dagelijkse werk soepel blijft verlopen terwijl je de echte risico's afdekt. Goed organisatiebreed toestemmingsbeheer is net zo belangrijk als het zorgvuldig bewaren van je eigen individuele tokens.
Hoe vaak moet ik tokens roteren?
Voor service-accountsleutels is periodieke rotatie verstandig, bijvoorbeeld elk kwartaal. Hoe gevoeliger de toegang, hoe vaker. Automatiseer rotatie waar mogelijk om menselijke fouten te voorkomen.
Wat doe ik bij een vermoedelijk gelekt token?
Trek het token of de hele toestemming onmiddellijk in via de beveiligingsinstellingen, maak een nieuw token aan en onderzoek welke toegang er heeft plaatsgevonden. Snelheid beperkt de schade.
Kan ik zien welke apps toegang hebben?
Ja, in de beveiligingsinstellingen van je account en in de Admin-console onder API-besturing vind je een overzicht van apps met toegang. Controleer dit regelmatig en ruim ongebruikte koppelingen op.
Zijn service-accounts veiliger dan OAuth?
Niet per definitie. Een service-account voorkomt menselijke inlog, maar de sleutel is een langlevende referentie die je extra goed moet beschermen. Kies per situatie wat past en beveilig beide goed.
Wat is het verschil tussen een access token en een refresh token?
Een access token is kortlevend en geeft tijdelijk toegang tot de API. Een refresh token is langlevend en haalt namens jou nieuwe access tokens op. Daarom bescherm je een refresh token strenger dan een access token.
Kan ik gebruikers verplichten toestemming te laten goedkeuren?
Ja. Met de instellingen voor toegang tot apps van derden kun je apps blokkeren of als niet-vertrouwd markeren, zodat gebruikers eerst goedkeuring moeten aanvragen voordat een app bij de data mag.
Veilig blijven koppelen
Tokenbeheer is geen eenmalige taak maar een doorlopend proces. Door minimale scopes, versleutelde opslag, rotatie en monitoring te combineren, houd je je koppelingen veilig terwijl je de voordelen van automatisering benut. Combineer dit met SSO en sterke authenticatie voor een sluitende beveiliging rond je API-koppelingen.