Weitere Informationen zum Verwenden und Verwalten von API-Schlüsseln für Firebase
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Ein API-Schlüssel ist ein eindeutiger String, der verwendet wird, um Anfragen an Ihr Firebase-Projekt weiterzuleiten, wenn Sie mit Firebase- und Google-Diensten interagieren. Auf dieser Seite finden Sie grundlegende Informationen zu API-Schlüsseln sowie Best Practices für die Verwendung und Verwaltung von API-Schlüsseln mit Firebase-Apps.
Allgemeine Informationen zu API-Schlüsseln und Firebase
API-Schlüssel für Firebase unterscheiden sich von typischen API-Schlüsseln
Im Gegensatz zur typischen Verwendung von API-Schlüsseln werden API-Schlüssel für Firebase-Dienste nicht verwendet, um den Zugriff auf Backend-Ressourcen zu steuern. Das ist nur mit Firebase Security Rules (um zu steuern, welche Endnutzer auf Ressourcen zugreifen können) und Firebase App Check (um zu steuern, welche Apps auf Ressourcen zugreifen können) möglich.
Normalerweise müssen Sie API-Schlüssel sorgfältig schützen, z. B. indem Sie einen Vault-Dienst verwenden oder die Schlüssel als Umgebungsvariablen festlegen. API-Schlüssel für Firebase-Dienste können jedoch im Code oder in eingecheckten Konfigurationsdateien enthalten sein.
Sie können alle API-Schlüssel Ihres Projekts in der Google Cloud-Konsole im Bereich APIs & Dienste > Anmeldedaten ansehen und verwalten.
Sie können auch an den folgenden Stellen nachsehen, welcher API-Schlüssel automatisch einer Firebase-App zugeordnet wird. Standardmäßig verwenden alle Firebase-Apps Ihres Projekts für dieselbe Plattform (Apple, Android oder Web) denselben API-Schlüssel.
Firebase Apple-Apps: Den automatisch abgeglichenen API-Schlüssel finden Sie in der Firebase-Konfigurationsdatei GoogleService-Info.plist im Feld API_KEY.
Firebase-Android-Apps: Der automatisch abgeglichene API-Schlüssel befindet sich in der Firebase-Konfigurationsdatei google-services.json im Feld current_key.
Firebase-Webanwendungen: Der automatisch abgeglichene API-Schlüssel befindet sich im Firebase-Konfigurationsobjekt im Feld apiKey.
API-Schlüssel verwenden
API-Schlüssel werden verwendet, um Ihr Firebase-Projekt bei der Interaktion mit Firebase-/Google-Diensten zu identifizieren. Sie werden verwendet, um API-Anfragen Ihrem Projekt für Kontingente und die Abrechnung zuzuordnen. Sie sind auch nützlich für den Zugriff auf öffentliche Daten.
Sie können beispielsweise explizit einen API-Schlüssel verwenden, indem Sie seinen Wert als Abfrageparameter an einen REST API-Aufruf übergeben. In diesem Beispiel sehen Sie, wie Sie eine Anfrage an die Dynamic Links Link Shortener API senden können:
POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY
Wenn Ihre App einen Aufruf an eine Firebase API sendet, für die ein vom Mobil-/Webclient bereitgestellter API-Schlüssel erforderlich ist, sucht Ihre App automatisch in der Firebase-Konfigurationsdatei bzw. im Firebase-Konfigurationsobjekt nach dem API-Schlüssel Ihres Projekts. Sie können API-Schlüssel für Ihre App jedoch über einen anderen Mechanismus, z. B. Umgebungsvariablen, bereitstellen.
Geeignete Einschränkungen für API-Schlüssel prüfen und anwenden (empfohlen)
Es ist zwar nicht erforderlich, einen API-Schlüssel für Firebase-Dienste als Geheimnis zu behandeln, Sie sollten jedoch Einschränkungen und Limits wie in diesem Abschnitt beschrieben prüfen und anwenden.
Automatisch auf die Zulassungsliste für Ihre Firebase-API-Schlüssel gesetzte APIs prüfen
Wenn Firebase einen API-Schlüssel in Ihrem Projekt erstellt, fügen wir diesem Schlüssel automatisch API-Einschränkungen hinzu. Die dieser Zulassungsliste hinzugefügten APIs sind Firebase-bezogene APIs, für die der Client bei jedem Aufruf einen API-Schlüssel angeben muss. Die meisten APIs, die für die Nutzung von Firebase-Diensten erforderlich sind, müssen nicht auf der Zulassungsliste für Ihre API-Schlüssel stehen.
Da Firebase die erforderlichen APIs für alle Firebase-Dienste hinzufügt, kann die Zulassungsliste für einen API-Schlüssel APIs für Produkte enthalten, die Sie nicht verwenden.
Sie können APIs aus der Zulassungsliste entfernen. Achten Sie jedoch darauf, nicht die APIs zu entfernen, die für Firebase und die von Ihnen verwendeten Firebase-Dienste erforderlich sind. Eine Liste der Firebase-bezogenen APIs, die für jeden Dienst / jedes Produkt auf der Zulassungsliste stehen müssen, finden Sie unten. Andernfalls erhalten Sie Fehler, wenn Sie Firebase-Dienste aufrufen.
.
Kontingent einschränken, wenn Sie die passwortbasierte Authentication verwenden
Wenn Sie Firebase Authentication verwenden und jemand Ihren API-Schlüssel erhält, kann er nicht auf die Datenbank oder Cloud Storage-Daten Ihres Firebase-Projekts zugreifen, solange diese Daten durch Firebase Security Rules geschützt sind. Sie könnten jedoch Ihren API-Schlüssel verwenden, um auf die Authentifizierungsendpunkte von Firebase zuzugreifen und Authentifizierungsanfragen für Ihr Projekt zu stellen.
Um das Risiko zu minimieren, dass jemand einen API-Schlüssel für einen Brute-Force-Angriff missbraucht, können Sie das Standardkontingent der identitytoolkit.googleapis.com-Endpunkte an die normalen Traffic-Erwartungen Ihrer App anpassen. Wenn Sie dieses Kontingent einschränken und die Nutzerzahlen Ihrer App plötzlich steigen, können Anmeldefehler auftreten, bis Sie das Kontingent erhöhen.
Sie können die API-Kontingente Ihres Projekts in der Google Cloud-Konsole ändern.
Separate, eingeschränkte API-Schlüssel für alle Nicht-Firebase-Dienste verwenden
API-Schlüssel, die für Firebase-Dienste verwendet werden, müssen im Allgemeinen nicht als geheim behandelt werden. Bei API-Schlüsseln, die Sie mit anderen Google Cloud-APIs verwenden, sollten Sie jedoch einige zusätzliche Vorsichtsmaßnahmen treffen.
Wenn Sie eine Google Cloud API (auf einer beliebigen Plattform) verwenden, die nicht für einen Firebase-Dienst oder ein Firebase-Produkt bestimmt ist, empfehlen wir dringend, separate, eingeschränkte API-Schlüssel für die Verwendung mit diesen APIs zu erstellen. Das ist besonders wichtig, wenn die API für einen abrechenbaren Google Cloud-Dienst bestimmt ist.
Wenn Sie beispielsweise Firebase ML und die Cloud Vision APIs unter iOS verwenden, sollten Sie separate API-Schlüssel erstellen, die Sie nur für den Zugriff auf die Cloud Vision APIs verwenden.
Wenn Sie separate, eingeschränkte API-Schlüssel für Nicht-Firebase-APIs verwenden, können Sie die Schlüssel bei Bedarf rotieren oder ersetzen und zusätzliche Einschränkungen für die API-Schlüssel hinzufügen, ohne die Nutzung von Firebase-Diensten zu unterbrechen.
Anleitung zum Erstellen von API-spezifischen Schlüsseln ansehen
In dieser Anleitung wird beschrieben, wie Sie einen separaten, eingeschränkten API-Schlüssel für eine fiktive API namens Super Service API erstellen.
Schritt 1: Vorhandene API-Schlüssel so konfigurieren, dass der Zugriff auf Super Service API nicht zulässig ist
Öffnen Sie in der Google Cloud-Konsole die Seite Anmeldedaten. Wählen Sie Ihr Projekt aus, wenn Sie dazu aufgefordert werden.
Öffnen Sie für jeden vorhandenen API-Schlüssel in der Liste die Bearbeitungsansicht.
Wählen Sie im Abschnitt API-Einschränkungen die Option Schlüssel einschränken aus und fügen Sie der Liste alle APIs hinzu, auf die der API-Schlüssel Zugriff haben soll. Nehmen Sie die API, für die Sie einen separaten API-Schlüssel erstellen (in diesem Beispiel Super Service API), nicht auf.
Wenn Sie die API-Einschränkungen eines API-Schlüssels konfigurieren, deklarieren Sie explizit die APIs, auf die der Schlüssel Zugriff hat. Wenn im Abschnitt API-Einschränkungen standardmäßig Schlüssel nicht einschränken ausgewählt ist, kann mit einem API-Schlüssel auf jede API zugegriffen werden, die für das Projekt aktiviert ist.
Ihre vorhandenen API-Schlüssel gewähren jetzt keinen Zugriff mehr auf Super Service API. Jeder Schlüssel funktioniert aber weiterhin für alle APIs, die Sie der Liste der API-Einschränkungen hinzugefügt haben.
Schritt 2: Neuen API-Schlüssel für den Zugriff auf Super Service API erstellen und verwenden
Kehren Sie zur Seite Anmeldedaten zurück. Achten Sie darauf, dass Ihr Firebase-Projekt weiterhin ausgewählt ist.
Klicken Sie auf Anmeldedaten erstellen > API-Schlüssel. Notieren Sie sich den neuen API-Schlüssel und klicken Sie dann auf Schlüssel einschränken.
Wählen Sie im Abschnitt API-Einschränkungen die Option Schlüssel einschränken aus und fügen Sie der Liste nur die Super Service API hinzu.
Mit diesem neuen API-Schlüssel wird nur Zugriff auf die Super Service API gewährt.
Konfigurieren Sie Ihre App und Dienste für die Verwendung des neuen API-Schlüssels.
Wenn Sie verschiedene Firebase-Projekte für verschiedene Umgebungen wie Staging und Produktion einrichten, ist es wichtig, dass jede App-Instanz mit dem entsprechenden Firebase-Projekt interagiert. Ihre Staging-App-Instanz sollte beispielsweise niemals mit Ihrem Firebase-Produktionsprojekt kommunizieren. Das bedeutet auch, dass für Ihre Staging-App API-Schlüssel verwendet werden müssen, die mit Ihrem Firebase-Staging-Projekt verknüpft sind.
Um Probleme beim Übertragen von Codeänderungen von der Entwicklung über die Staging-Umgebung in die Produktionsumgebung zu vermeiden, sollten Sie API-Schlüssel nicht in den Code selbst einfügen, sondern entweder als Umgebungsvariablen festlegen oder in eine Konfigurationsdatei einfügen.
Wenn Sie Firebase Local Emulator Suite für die Entwicklung zusammen mit Firebase ML verwenden, müssen Sie einen API-Schlüssel erstellen und verwenden, der nur für das Debugging bestimmt ist. Eine Anleitung zum Erstellen eines solchen Schlüssels finden Sie in der Firebase ML-Dokumentation.
Häufig gestellte Fragen und Fehlerbehebung
Häufig gestellte Fragen
Sind API-Schlüssel für Firebase-Dienste standardmäßig eingeschränkt?
Ja. Standardmäßig werden für alle API-Schlüssel, die von Firebase automatisch für die Verwendung mit Firebase-bezogenen APIs bereitgestellt werden, automatisch API-Einschränkungen angewendet. Liste der Firebase-bezogenen APIs, die auf dieser Zulassungsliste stehen.
Die APIs, die dieser Zulassungsliste hinzugefügt werden, sind APIs, die von Firebase-Diensten aus Clientcode aufgerufen werden und API-Schlüssel zur Identifizierung Ihres Firebase-Projekts oder Ihrer App erfordern. Die meisten APIs, die für die Verwendung von Firebase-Diensten erforderlich sind, müssen nicht auf der Zulassungsliste für Ihre API-Schlüssel stehen.
Da Firebase die erforderlichen APIs für alle Firebase-Dienste hinzufügt, kann die Zulassungsliste für einen API-Schlüssel APIs für Produkte enthalten, die Sie nicht verwenden. Sie können APIs von der Zulassungsliste entfernen, müssen aber sehr darauf achten, dass Sie nicht die APIs entfernen, die für Firebase und die von Ihnen verwendeten Firebase-Dienste erforderlich sind. Eine Liste der Firebase-bezogenen APIs, die für jeden Dienst / jedes Produkt auf der Zulassungsliste stehen müssen, finden Sie unten. Andernfalls erhalten Sie Fehler, wenn Sie Firebase-Dienste aufrufen.
Alle Ihre API-Schlüssel und die zugehörigen API-Einschränkungen finden Sie in der Google Cloud-Konsole im Bereich APIs & Dienste > Anmeldedaten.
Hinweis zur Anwendung dieser API-Einschränkungen durch Firebase:
Ab Mai 2024 sind alle neuen API-Schlüssel, die automatisch von Firebase bereitgestellt werden, automatisch auf die Liste der Firebase-bezogenen APIs beschränkt.
Im Mai 2024 werden alle vorhandenen und uneingeschränkten API-Schlüssel, die zuvor automatisch von Firebase bereitgestellt wurden, auf die Liste der Firebase-bezogenen APIssowie alle derzeit aktivierten APIs des Projekts beschränkt.
Vorhandene und bereits eingeschränkte API-Schlüssel, die zuvor automatisch von Firebase bereitgestellt wurden, wurden nicht geändert.
Vorhandene API-Schlüssel, die nicht automatisch von Firebase bereitgestellt wurden, wurden nicht geändert.
Wie kann ich herausfinden, welcher API-Schlüssel mit meiner Firebase-App verknüpft ist?
Sie haben folgende Möglichkeiten, um herauszufinden, welcher API-Schlüssel mit Ihrer Firebase-App verknüpft ist:
Firebase Console
Rufen Sie die settingsProjekteinstellungen auf und scrollen Sie dann nach unten zur Karte Meine Apps.
Wählen Sie die gewünschte App aus.
Rufen Sie die Firebase-Konfigurationsdatei bzw. das Firebase-Konfigurationsobjekt für die gewünschte App ab und suchen Sie dann nach dem API-Schlüssel:
Apple: Laden Sie GoogleService-Info.plist herunter und suchen Sie dann nach dem Feld API_KEY.
Android: Laden Sie google-services.json herunter, suchen Sie nach der Konfiguration für die gewünschte App (anhand des Paketnamens) und dann nach dem Feld current_key.
Web: Wählen Sie die Option Konfiguration aus und suchen Sie dann das Feld apiKey.
Firebase CLI
Rufen Sie die Firebase-Konfigurationsdatei bzw. das Firebase-Konfigurationsobjekt für die gewünschte App mit dem folgenden Befehl ab:
firebase apps:sdkconfig PLATFORMFIREBASE_APP_ID
PLATFORM (einer der folgenden Werte): IOS | ANDROID | WEB
FIREBASE_APP_ID: die von Firebase zugewiesene eindeutige Kennzeichnung für Ihre Firebase-App (App-ID finden)
Suchen Sie in der gedruckten Firebase-Konfiguration der App nach dem API-Schlüssel:
Apple: Suchen Sie das Feld API_KEY.
Android: Suchen Sie nach der Konfiguration für die gewünschte App (anhand des Paketnamens) und dann nach dem Feld current_key.
Web: Suchen Sie das Feld apiKey.
REST API
Rufen Sie die apiKeyId (die UID) des API-Schlüssels ab, indem Sie den entsprechenden Endpunkt für die gewünschte App aufrufen und den apiKeyId-Wert dann an den nächsten Schritt übergeben.
Diese keyString ist derselbe Wert, der im Konfigurationsartefakt der App zu finden ist (Apple |
Android |
Web).
Kann ich zwei API-Schlüssel für dieselbe Firebase-App in meiner Firebase-Konfigurationsdatei/-objekt haben?
Firebase-Apple-Apps: Jede App hat eine eigene Konfigurationsdatei und kann nur einen API-Schlüssel enthalten.
Firebase-Android-Apps: Alle Android-Apps im Firebase-Projekt sind in derselben Konfigurationsdatei aufgeführt und jede App kann nur einen API-Schlüssel haben. Für jede App in dieser Konfigurationsdatei kann jedoch ein anderer Schlüssel aufgeführt sein.
Firebase-Webanwendungen: Jede App hat ein eigenes Konfigurationsobjekt und kann nur einen API-Schlüssel enthalten.
Sie können jedoch mehrere API-Schlüssel für eine App verwenden. Sie müssen einen Mechanismus für den Zugriff Ihrer App auf diese anderen API-Schlüssel bereitstellen, z. B. über eine Umgebungsvariable. Der Mechanismus für den Zugriff auf die anderen API-Schlüssel darf nicht davon abhängen, dass diese API-Schlüssel in Ihrer Firebase-Konfigurationsdatei bzw. Ihrem Firebase-Konfigurationsobjekt aufgeführt sind.
Woher weiß Firebase, welcher API-Schlüssel zu einer App passt (z. B. in der Firebase-Konfigurationsdatei/-objekt)?
Wenn Firebase keine eingeschränkten Schlüssel findet, die übereinstimmen, werden in der Konfigurationsdatei bzw. im Konfigurationsobjekt die iOS key für Apple-Apps, die Android key für Android-Apps und die Browser key für Web-Apps aufgeführt (vorausgesetzt, diese Schlüssel sind vorhanden und haben keine „Anwendungseinschränkungen“, die eine Übereinstimmung mit der App verhindern).
Kann ich den API-Schlüssel und das Feld manuell aus meiner Firebase-Konfigurationsdatei bzw. meinem Firebase-Konfigurationsobjekt löschen?
Ja, Sie können Ihren API-Schlüssel manuell aus Ihrer Konfigurationsdatei bzw. Ihrem Konfigurationsobjekt löschen. Sie müssen jedoch einen anderen Mechanismus für den Zugriff Ihrer App auf einen API-Schlüssel bereitstellen, z. B. über eine Umgebungsvariable. Andernfalls schlagen alle Aufrufe an Firebase-Dienste fehl.
Kann ich meine Firebase-Konfigurationsdatei/-objekt manuell mit verschiedenen API-Schlüsseln bearbeiten?
Ja, Sie können eine Konfigurationsdatei oder ein Objekt manuell bearbeiten, um einen anderen API-Schlüssel mit einer App zu verknüpfen.
Kann ich einen API-Schlüssel von einem Firebase-Projekt in ein anderes verschieben?
Nein. Ein API-Schlüssel identifiziert nur ein bestimmtes Projekt und kann nicht in ein anderes Projekt verschoben werden.
Was passiert, wenn ich einen API-Schlüssel lösche, der in der Google Cloud-Konsole aufgeführt ist?
Wenn Sie einen API-Schlüssel löschen, der von einer App verwendet wird, schlagen API-Aufrufe von dieser App fehl. Möglicherweise erhalten Sie Berichte, E-Mails oder Fehlermeldungen, die darauf hinweisen, dass Sie versuchen, einen ungültigen API-Schlüssel zu verwenden.
Das Löschen eines API-Schlüssels ist endgültig und kann nicht rückgängig gemacht werden.
Welche APIs sind für einen Firebase-API-Schlüssel in der Zulassungsliste „API-Einschränkungen“ erforderlich?
Bei einem Firebase-API-Schlüssel müssen in der Zulassungsliste „API-Einschränkungen“ des Schlüssels nur die APIs aufgeführt sein, für die der Client bei einem Aufruf einen API-Schlüssel angeben muss. Nur sehr wenige Firebase-bezogene APIs haben diese Anforderung. Die meisten Firebase-bezogenen APIs, die in Ihrem Projekt aktiviert sind, müssen nicht auf der Zulassungsliste „API-Einschränkungen“ des Schlüssels stehen.
* Nur erforderlich, wenn Sie den Firebase-API-Schlüssel mit Drittanbietertools oder direktem REST-Zugriff auf den Firebase-Dienst / das Firebase-Produkt verwenden.
** Erforderlich für frühere Versionen des SDK des Produkts. Wenn Sie die neueste Version des SDK verwenden, muss die API nicht auf der Zulassungsliste des Schlüssels stehen.
Fehlerbehebung
Wie behebe ich den Fehler API_KEY_SERVICE_BLOCKED oder „Forbidden 403“, der besagt, dass Anfragen an diese API blockiert werden?
Folgen Sie der Anleitung in diesen FAQs, wenn Sie einen API_KEY_SERVICE_BLOCKED-Fehler oder einen Fehler wie den folgenden erhalten:
Forbidden: 403 POST https://example-service.googleapis.com/method: Requests to this API example-service.googleapis.com method google.example-service.rest.method are blocked.
Der API-Schlüssel, der von Ihrer App zum Aufrufen der API verwendet wird, hat wahrscheinlich API-Einschränkungen und die Zulassungsliste des Schlüssels enthält diese API nicht.
Wie kann ich diesen Fehler beheben? „Die Mess-ID dieser Firebase-App konnte nicht vom Server abgerufen werden.“
Für den von Ihrer Webanwendung verwendeten API-Schlüssel sind wahrscheinlich API-Einschränkungen festgelegt. Wenn dies der Fall ist, muss die Firebase Management API in der Liste der zulässigen APIs enthalten sein.
Ich habe eine E‑Mail oder eine Fehlermeldung erhalten, dass mein API-Schlüssel ungültig ist. Was ist passiert und wie kann ich das Problem beheben?
Hier sind einige der häufigsten Ursachen für ungültige API-Schlüssel:
Für den API-Schlüssel gelten API-Schlüsseleinschränkungen, die dazu führen, dass er nicht mit der App übereinstimmt, die versucht, den Schlüssel zu verwenden („Anwendungseinschränkungen“), oder nicht für die aufgerufene API verwendet werden kann („API-Einschränkungen“).
Der API-Schlüssel wurde aus dem Projekt in der Google Cloud-Konsole gelöscht.
Der API-Schlüssel wurde nicht für die Projekt-ID erstellt, die in der Firebase-Konfigurationsdatei bzw. im Firebase-Konfigurationsobjekt der App aufgeführt ist.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-06 (UTC)."],[],[],null,[]]