API-Keys sicher verwalten
API-Keys gehören in Umgebungsvariablen oder Secret-Manager – nie in Code, Repos oder Prompts. Bei einem Leak zählt nur eins: sofort widerrufen.
Warum das wichtig ist
Ein API-Key ist wie eine Kreditkarte: Wer ihn hat, kann auf deine Rechnung Anfragen schicken. Öffentliche Repos werden automatisiert nach solchen Keys durchsucht – von Angreifern wie von Schutzsystemen.
Regel 1: Nie in Code, Repo oder Prompt
Keys gehören nicht in den Quellcode, nicht ins Git-Repo und nicht in Chat-Prompts. Der Standardweg lokal: eine .env-Datei mit dem Key – und ein .gitignore-Eintrag, damit sie nie eingecheckt wird. Anthropic empfiehlt genau dieses Muster ausdrücklich.
Regel 2: Umgebungsvariablen und Secret-Manager
Lokal liest dein Programm den Key aus einer Umgebungsvariablen. In Produktion empfiehlt Anthropic verschlüsselte Secret-Speicher (die Secret-Manager der Cloud-Anbieter) statt dotenv-Dateien.
Regel 3: Rotieren und begrenzen
Rotiere Keys regelmäßig (Anthropic nennt als Beispiel alle 90 Tage), nutze getrennte Keys für Entwicklung, Test und Produktion, und gib jedem Key nur die minimal nötigen Rechte – das Least-Privilege-Prinzip aus dem OWASP-Leitfaden.
Bei einem Leak
Sofort widerrufen und ersetzen. Den Commit zu löschen reicht nicht: GitHub stellt klar, dass ein geleaktes Secret zuerst widerrufen bzw. rotiert werden muss – die Git-Historie kann längst geklont oder gecacht sein.
BEISPIEL
Statt `apiKey = "sk-ant-..."` im Code: Key in .env legen (.env steht in .gitignore), im Code `process.env.ANTHROPIC_API_KEY` lesen – und in Produktion den Secret-Manager des Cloud-Anbieters nutzen.
🛠️ ÜBUNG — MACH DAS BEI DIR
Richte das .env-Muster in einem Übungsprojekt ein und prüfe, dass kein Key ins Repo gelangen kann.
- Lege eine .env mit einer Dummy-Variablen an (KEIN echter Key) und trage .env in .gitignore ein.
- Erstelle eine .env.example mit den Variablennamen ohne Werte und checke nur diese ein.
- Prüfe mit `git status`, dass .env nicht als neue Datei auftaucht – und lies den Wert im Code über die Umgebungsvariable ein.
✅ SELBST-CHECK
- ☐ Taucht .env in `git status` auf? (Wenn ja: .gitignore-Eintrag prüfen)
- ☐ Steht irgendwo im Code oder in einem Prompt ein Key als Klartext-String?
- ☐ Weißt du, wo du deinen echten Key sofort widerrufen könntest (Console/Dashboard des Anbieters)?
KURZ-QUIZ
Dein API-Key ist versehentlich in einem öffentlichen Repo gelandet. Was ist der richtige erste Schritt?
QUELLEN
- Anthropic Help Center: API Key Best Practices ↗ support.claude.com
- OWASP Cheat Sheet: Secrets Management ↗ cheatsheetseries.owasp.org
- GitHub Docs: Removing sensitive data from a repository ↗ docs.github.com