Het regelmatig roteren van API-sleutels is een belangrijke beveiligingspraktijk. Zo roteert u uw sleutels veilig zonder uw service te verstoren.
Waarom API-sleutels roteren?
Beveiligingsbest practice: Beperkt de blootstelling als een sleutel ooit gecompromitteerd is
Wijzigingen bij teamleden: Wanneer ontwikkelaars vertrekken of van rol veranderen
Vermoeden van compromis: Als u denkt dat een sleutel mogelijk is blootgesteld
Naleving (compliance): Sommige beveiligingsbeleid vereisen periodieke sleutelrotatie
Wijzigingen in de omgeving: Bij migratie van infrastructuur of refactoring
Standaardrotatieproces (zonder downtime)
Stap 1: Maak een nieuwe sleutel
Log in op Instellingen → API
Klik op "Nieuwe API-sleutel aanmaken"
Geef een beschrijvende naam (bijv. "Production Web v2")
Kopieer de nieuwe sleutel meteen — deze wordt slechts één keer getoond
Sla deze veilig op
Stap 2: Werk uw applicatie bij
Implementeer de nieuwe sleutel in uw applicatie (omgevingsvariabelen, secrets manager, enz.)
Herstart uw applicatie om de nieuwe sleutel te laden
Controleer of de nieuwe sleutel correct werkt
Houd eventuele fouten in de gaten
Stap 3: Bewaak de overgang
Houd beide sleutels tijdelijk actief
Controleer Instellingen → API om de "Laatst gebruikt"-datums te zien
Wacht tot de oude sleutel geen recente activiteit meer toont
Zorg dat alle instanties/services zijn overgeschakeld naar de nieuwe sleutel
Stap 4: Verwijder de oude sleutel
Zodra is bevestigd dat de oude sleutel niet langer wordt gebruikt
Verwijder of deactiveer de oude sleutel in Instellingen → API
Documenteer de rotatie voor uw administratie
Snel rotatieproces (als er sprake is van compromis)
Als een sleutel zeker gecompromitteerd is en u direct moet handelen:
Verwijder eerst de gecompromitteerde sleutel in Instellingen → API
Maak een nieuwe vervangende sleutel
Implementeer snel de nieuwe sleutel in alle applicaties
Accepteer een korte downtime om ongeautoriseerde toegang te voorkomen
Controleer gebruikslogs op verdachte activiteiten
Neem contact op met support als dat nodig is
Strategie voor rotatie met meerdere omgevingen
Voor productiesystemen gebruikt u een gefaseerde aanpak:
Week 1: Development
Maak en implementeer een nieuwe sleutel naar de dev-omgeving
Test grondig
Week 2: Staging
Implementeer de nieuwe sleutel naar staging
Voer integratietests uit
Houd issues in de gaten
Week 3: Productie
Implementeer de nieuwe sleutel naar productie tijdens een periode met weinig verkeer
Houd het nauwlettend in de gaten
Houd de oude sleutel 24-48 uur actief als fallback
Week 4: Opruimen
Controleer of de oude sleutel geen activiteit meer toont
Verwijder de oude sleutel
Werk documentatie bij
Voorbeeld van automatisering
Script om te helpen verifiëren dat sleutelrotatie is voltooid:
#!/bin/bash
# check-api-key.sh
OLD_KEY="sk_live_OLD123..."
NEW_KEY="sk_live_NEW789..."
echo "Testing old key..."
OLD_RESPONSE=$(curl -s -w "%{http_code}" -X POST https://api.cathopic.com/resources \
-H "x-api-key: $OLD_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"test","page":1,"page_size":1}')
echo "Testing new key..."
NEW_RESPONSE=$(curl -s -w "%{http_code}" -X POST https://api.cathopic.com/resources \
-H "x-api-key: $NEW_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"test","page":1,"page_size":1}')
echo "Old key status: ${OLD_RESPONSE: -3}"
echo "New key status: ${NEW_RESPONSE: -3}"
if [ "${NEW_RESPONSE: -3}" == "200" ]; then
echo "✅ New key is working!"
else
echo "❌ New key failed!"
fi
Best practices
Roteer regelmatig: Elke 90 dagen voor productsleutels
Documenteer rotaties: Houd bij wanneer sleutels zijn geroteerd en waarom
Test voordat u verwijdert: Controleer altijd eerst of de nieuwe sleutel werkt voordat u de oude verwijdert
Gebruik meerdere sleutels: Scheid sleutels per omgeving om rotatie eenvoudiger te maken
Automatiseer waar mogelijk: Gebruik tools voor secretsbeheer die automatische rotatie ondersteunen
Checklist na sleutelrotatie
Bevestig deze punten na het roteren:
✅ Alle productie-instanties gebruiken de nieuwe sleutel
✅ Alle staging/dev-omgevingen zijn bijgewerkt (als u dezelfde sleutel gebruikt)
✅ Omgevingsvariabelen bijgewerkt
✅ CI/CD-secrets bijgewerkt
✅ Documentatie bijgewerkt
✅ Teamleden op de hoogte gebracht
✅ Oude sleutel verwijderd
✅ Rotatie vastgelegd voor auditdoeleinden