Best Practices für die Verwaltung von API-Schlüsseln

Wenn Sie API-Schlüssel in Ihren Anwendungen verwenden, achten Sie darauf, dass sie sowohl beim Speichern als auch bei der Übertragung sicher sind. Wenn Sie Ihre API-Schlüssel öffentlich freigeben, kann dies zu unerwarteten Kosten in Ihrem Konto oder zu unbefugtem Zugriff auf Ihre Daten führen. Damit die Sicherheit Ihrer API-Schlüssel gewährleistet ist, sollten Sie die folgenden Best Practices einhalten.

Fügen Sie Ihrem Schlüssel API-Schlüsseleinschränkungen hinzu.

Durch Hinzufügen von Einschränkungen können Sie die Verwendung eines API-Schlüssels einschränken und so die Auswirkungen eines manipulierten API-Schlüssels reduzieren.

Weitere Informationen finden Sie unter Einschränkungen für API-Schlüssel anwenden.

Suchparameter vermeiden, um Ihren API-Schlüssel an Google APIs zu senden

Wenn Sie Ihren API-Schlüssel als Abfrageparameter an APIs übergeben, ist er in der URL enthalten und kann durch URL-Scans gestohlen werden. Verwenden Sie stattdessen den x-goog-api-key-HTTP-Header oder eine Clientbibliothek.

Nicht benötigte API-Schlüssel löschen, um das Angriffsrisiko zu minimieren

Behalten Sie nur die API-Schlüssel bei, die Sie aktiv verwenden, um Ihre Angriffsfläche so klein wie möglich zu halten.

API-Schlüssel nicht in Clientcode einfügen oder in Code-Repositories sichern

API-Schlüssel, die im Quellcode fest codiert oder in einem Repository gespeichert sind, können von böswilligen Akteuren abgefangen oder gestohlen werden. Der Client sollte Anfragen an den Server übergeben, der die Anmeldedaten hinzufügen und die Anfrage ausstellen kann.

Autorisierungsschlüssel nicht in der Produktion verwenden

Autorisierungsschlüssel sollen Entwicklern, die Cloud de Confiance by S3NS APIs ausprobieren, den Einstieg erleichtern. Für die meisten APIs empfehlen wir, in Produktionsumgebungen keine Autorisierungsschlüssel zu verwenden.

Stattdessen sollten Sie auf sicherere Alternativen umstellen, z. B. auf IAM-Richtlinien (Identity and Access Management) und kurzlebige Dienstkontoanmeldedaten, und dabei die Sicherheitsgrundsätze des geringsten Privilegs beachten.

Das sind die Gründe, warum Sie so schnell wie möglich von der Verwendung eines Autorisierungsschlüssels zu sichereren Methoden migrieren sollten:

  • API-Schlüssel werden zusammen mit Anfragen gesendet. Dadurch ist es wahrscheinlicher, dass der Schlüssel offengelegt oder protokolliert wird.

  • API-Schlüssel sind Inhaber-Anmeldedaten. Wenn also jemand einen Autorisierungsschlüssel stiehlt, kann er ihn verwenden, um sich als dieses Dienstkonto zu authentifizieren und auf dieselben Ressourcen zuzugreifen, auf die das Dienstkonto zugreifen kann.

  • Autorisierungsschlüssel verschleiern die Identität des Endnutzers in Audit-Logs. Wenn Sie die Aktionen einzelner Nutzer erfassen möchten, muss jeder Nutzer eigene Anmeldedaten haben.

Umfangreiches Monitoring und Logging implementieren

Das Monitoring API kann Sie bei unautorisierter Nutzung benachrichtigen. Weitere Informationen finden Sie unter Cloud Monitoring – Übersicht und Cloud Logging – Übersicht.

API-Schlüssel isolieren

Stellen Sie jedem Teammitglied einen eigenen API-Schlüssel für jede Anwendung zur Verfügung. So können Sie den Zugriff besser kontrollieren, einen Audit-Trail erstellen und die Auswirkungen eines manipulierten API-Schlüssels reduzieren.

API-Schlüssel regelmäßig rotieren

Sie sollten regelmäßig neue API-Schlüssel erstellen, Ihre Anwendungen zur Verwendung der neuen API-Schlüssel aktualisieren und die alten Schlüssel löschen.

Weitere Informationen finden Sie unter API-Schlüssel rotieren.

Sicherere Methode zum Autorisieren des Zugriffs in Betracht ziehen

Hilfe bei der Auswahl einer Authentifizierungsmethode finden Sie unter Authentifizierungsmethoden.