API Security: Scopes, Least Privilege, Secrets Management.
API-Security: Scopes, Least Privilege, Secrets Management
Eine API ist so sicher wie ihr schwächstes Authentifizierungs- und Autorisierungs-Element.
Das Least-Privilege-Prinzip
Jeder Client bekommt nur die Berechtigungen, die er wirklich braucht. Kein "Admin-Token für alles, dann ist's einfach". Ein Read-only-Consumer braucht keinen Write-Scope. Ein Reporting-Service braucht keinen Zugriff auf Zahlungsdaten.
Scopes in OAuth2 implementieren das auf API-Ebene: orders:read, orders:write, payments:process – granulare Berechtigungen, die pro Client vergeben werden.
Secrets Management
API-Keys, Tokens, Datenbankpasswörter – all das sind Secrets, die nicht im Code und nicht in .env-Dateien im Repository liegen dürfen.
Richtige Secrets Management Lösungen: HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, Doppler. Für kleinere Setups: Encrypted environment variables in der CI/CD-Umgebung.
Die goldene Regel: Secrets rotieren, wenn ein Entwickler das Team verlässt oder ein Leak vermutet wird. Und: Secrets haben Expiry-Dates.
Input Validation und Output Filtering
Alle Eingaben validieren, bevor sie verarbeitet werden. Das gilt für Body, Query-Parameter, Path-Parameter, Headers. Alle Ausgaben filtern – nur Daten zurückgeben, die der Client autorisiert ist zu sehen.
Mass Assignment verhindern: Wenn ein Endpoint ein User-Objekt akzeptiert, muss sichergestellt sein, dass Fields wie role oder is_admin nicht vom Client überschrieben werden können.
Checkliste API-Security
Scopes granular definiert und vergeben
Secrets in einem Secrets Manager (nicht im Code)
Secrets-Rotation-Prozess definiert
Input Validation für alle Endpoints
Mass Assignment verhindert (Whitelisting statt Blacklisting)
OWASP API Security Top 10 als Checkliste durchgegangen
API-Security-Review?
markom.digital macht strukturierte API-Security-Assessments – mit konkreten Befunden und Maßnahmen.