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. Sie sollten die folgenden Best Practices implementieren, um die Sicherheit Ihrer API-Schlüssel zu wahren.
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.
Verwenden Sie keine Suchparameter, um Ihren API-Schlüssel an Google APIs zu senden
Wenn Sie Ihren API-Schlüssel als Abfrageparameter an APIs übergeben, wird er in die URL aufgenommen und ist so durch URL-Scans gefährdet. 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 hartcodiert oder in einem Repository gespeichert sind, können von böswilligen Akteuren abgefangen oder gestohlen werden. Der Client sollte Anfragen an den Server weiterleiten, der die Anmeldedaten hinzufügen und die Anfrage senden kann.
API-Schlüssel, die an Dienstkonten gebunden sind, nicht in der Produktionsumgebung verwenden
API-Schlüssel, die an Dienstkonten gebunden sind, sollen den Einstieg für Entwickler erleichtern, die Google Cloud APIs kennenlernen. Verwenden Sie sie nicht in Produktionsumgebungen. Planen Sie stattdessen eine Migration zu sichereren Alternativen, z. B. IAM-Richtlinien (Identity and Access Management) und kurzlebige Anmeldedaten für Dienstkonten, und befolgen Sie die Sicherheitspraktiken für die Mindestberechtigung.
Aus folgenden Gründen sollten Sie so schnell wie möglich von der Verwendung eines an ein Dienstkonto gebundenen API-Schlüssels zu sichereren Verfahren migrieren:
API-Schlüssel werden zusammen mit Anfragen gesendet. Dadurch ist es wahrscheinlicher, dass der Schlüssel offengelegt oder protokolliert wird.
API-Schlüssel sind Inhaberanmeldedaten. Wenn also jemand einen API-Schlüssel stiehlt, der an ein Dienstkonto gebunden ist, kann er sich damit als dieses Dienstkonto authentifizieren und auf dieselben Ressourcen zugreifen, auf die das Dienstkonto zugreifen kann.
API-Schlüssel, die an Dienstkonten gebunden sind, verbergen die Identität des Endnutzers in Prüfprotokollen. Damit Sie die Aktionen einzelner Nutzer erfassen können, muss jeder Nutzer eigene Anmeldedaten haben.
Umfangreiches Monitoring und Logging implementieren
Wenn Sie die API-Nutzung überwachen, können Sie bei nicht autorisierter Nutzung benachrichtigt werden. Weitere Informationen finden Sie unter Cloud Monitoring – Übersicht und Cloud Logging – Übersicht.
API-Schlüssel isolieren
Weisen Sie jedem Teammitglied einen eigenen API-Schlüssel für jede Anwendung zu. So können Sie den Zugriff steuern, einen Prüfpfad bereitstellen 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.
Eine sicherere Methode zur Autorisierung des Zugriffs verwenden
Informationen zur Auswahl einer Authentifizierungsmethode finden Sie unter Authentifizierungsmethoden.