API-Key
Auch bekannt als: API Key, Access Token, Zugriffs-Schlüssel
Ein geheimer Schlüssel, der gegenüber einer fremden API belegt, wer du bist und dass du zahlen darfst. Gehört niemals in den Code oder ins Repository. Immer in Umgebungsvariablen. Ein API-Key im öffentlichen Repo ist eine Kreditkarte ohne PIN.
Wenn deine App einen fremden Dienst nutzt (Mail-Versand, Zahlungs-Provider, KI-Anbieter), braucht sie dafür meist einen API-Key. Das ist ein geheimer String, den der Anbieter dir ausstellt und der gegenüber seiner API belegt: „Dieser Call gehört zu diesem Account, dieser Account zahlt."
Warum Keys kritisch sind
Ein API-Key ist eine Kreditkarte ohne PIN. Wer ihn findet, kann ihn benutzen: KI-Calls abfeuern, Mails verschicken, Zahlungen auslösen. Die Rechnung geht an dich.
Der echte Vorfall
Januar 2024: Ein Entwickler committet versehentlich einen OpenAI-Key auf GitHub. Bots scannen GitHub kontinuierlich nach Keys. Vier Stunden später: 87.000 Dollar Schaden. Kein Hack, keine Datenbank kompromittiert. Nur ein Key auf einer öffentlichen Plattform.
Wohin gehört ein Key
In eine Umgebungsvariable: lokal in einer .env-Datei (die nicht in Git landet), beim Hosting in den Environment-Variablen des Anbieters. Der Code liest den Key aus der Umgebung, er enthält ihn nicht.
Auch in privaten Repos gefährlich
Auch private Repositories können geteilt werden, gebackupt werden, Forks bekommen, neue Mitarbeitende hinzubekommen. Einmal im Git-Log, immer im Git-Log. Privat ist nicht sicher.