Auf dieser Seite erfahren Sie, wie Sie App Check in einer Webanwendung mit dem reCAPTCHA Enterprise-Anbieter aktivieren. Wenn Sie App Check aktivieren, können Sie dafür sorgen , dass nur Ihre App auf die Backend-Ressourcen Ihres Projekts zugreifen kann. Übersicht über diese Funktion
Beachten Sie, dass App Check auf Punktzahlen basierende reCAPTCHA Enterprise-Websiteschlüssel verwendet, die für Nutzer nicht sichtbar sind. Der reCAPTCHA Enterprise-Anbieter fordert Nutzer zu keinem Zeitpunkt auf, eine Aufgabe zu lösen.
Wenn Ihr Anwendungsfall reCAPTCHA Enterprise-Funktionen erfordert, die nicht von App Check implementiert werden, oder wenn Sie App Check mit Ihrem eigenen benutzerdefinierten Anbieter verwenden möchten, lesen Sie den Artikel Benutzerdefinierten App Check Anbieter implementieren.
1. Das Firebase-Projekt einrichten
Fügen Sie Ihrem JavaScript-Projekt Firebase hinzu, falls noch nicht geschehen.
Öffnen Sie den Bereich „reCAPTCHA Enterprise “ in der Google Cloud Console und gehen Sie so vor:
- Wenn Sie aufgefordert werden, die reCAPTCHA Enterprise API zu aktivieren, tun Sie das.
- Erstellen Sie einen Schlüssel vom Typ Website. Sie müssen Domains angeben, auf denen Sie Ihre Webanwendung hosten. Lassen Sie die Option „Checkbox-Aufgabe verwenden“ deaktiviert.
Rufen Sie in der Firebase Konsole Sicherheit > App Check auf.
Registrieren Sie auf dem Tab Apps Ihre Apps für die Verwendung von App Check mit dem reCAPTCHA Enterprise-Anbieter. Sie müssen den Websiteschlüssel angeben, den Sie erhalten haben in der Google Cloud Konsole.
In der Regel müssen Sie alle Apps Ihres Projekts registrieren. Wenn Sie die Erzwingung für ein Firebase-Produkt aktivieren, können nur registrierte Apps auf die Backend-Ressourcen des Produkts zugreifen.
Optional: Legen Sie in den Einstellungen für die App-Registrierung eine benutzerdefinierte Gültigkeitsdauer (Time-to-Live, TTL) für App Check Tokens fest, die vom Anbieter ausgestellt werden. Sie können die TTL auf einen beliebigen Wert zwischen 30 Minuten und 7 Tagen festlegen. Beachten Sie beim Ändern dieses Werts die folgenden Kompromisse:
- Sicherheit: Kürzere TTLs bieten mehr Sicherheit, da sie das Zeitfenster verringern, in dem ein durchgesickertes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
- Leistung: Bei kürzeren TTLs führt Ihre App häufiger eine Bestätigung durch. Da der App-Bestätigungsprozess bei jeder Ausführung die Latenz von Netzwerkanfragen erhöht, kann eine kurze TTL die Leistung Ihrer App beeinträchtigen.
- Kontingent und Kosten: Kürzere TTLs und häufige erneute Bestätigungen führen dazu, dass Ihr Kontingent schneller aufgebraucht wird. Bei kostenpflichtigen Diensten können dadurch auch höhere Kosten entstehen. Weitere Informationen finden Sie unter Kontingente und Limits.
Die Standard-TTL von 1 Stunde ist für die meisten Apps angemessen. Beachten Sie, dass die App Check Bibliothek Tokens etwa nach der Hälfte der TTL-Dauer aktualisiert.
Erweiterte Einstellungen konfigurieren (optional)
Wenn ein Nutzer Ihre Webanwendung besucht, bewertet reCAPTCHA Enterprise das Risiko der Nutzerinteraktion und gibt eine Punktzahl zwischen 0,0 und 1,0 in Schritten von 0,1 zurück. Der Wert 1,0 gibt an, dass die Interaktion ein geringes Risiko darstellt und sehr wahrscheinlich legitim ist. 0,0 gibt jedoch an, dass die Interaktion ein hohes Risiko darstellt und betrügerisch sein kann. App Check können Sie einen Schwellenwert für das App Risiko konfigurieren, um Ihre Toleranz für dieses Risiko anzupassen.
In den meisten Anwendungsfällen wird der Standardschwellenwert von 0, 5 empfohlen. Wenn eine Anpassung erforderlich ist, kann sie im App Check Bereich der Firebase Konsole für jede Ihrer Webanwendungen konfiguriert werden.
Details
App Check verwendet den konfigurierten Schwellenwert für das App-Risiko als Mindestpunktzahl für reCAPTCHA Enterprise, die für eine Nutzerinteraktion erforderlich ist, damit sie als legitim gilt. Alle reCAPTCHA Enterprise-Punktzahlen, die deutlich unter dem konfigurierten Schwellenwert liegen, werden abgelehnt. Beachten Sie beim Anpassen des Schwellenwerts für das App-Risiko Folgendes:
Von den 11 möglichen reCAPTCHA Enterprise-Punktzahlstufen sind nur die folgenden vier verfügbar, bevor Sie Ihrem Projekt ein Google Cloud-Rechnungskonto hinzufügen: 0,1, 0,3, 0,7 und 0,9. In dieser Zeit lässt App Check entsprechend nur Schwellenwerte für das App-Risiko von 0,1, 0,3, 0,5, 0,7 und 0,9 zu. Ein Schwellenwert für das App-Risiko von 0,5 wird für die meisten Anwendungsfälle weiterhin empfohlen.
Wenn Sie alle 11 reCAPTCHA Enterprise-Punktzahlstufen aktivieren möchten, fügen Sie Ihrem Projekt ein Google Cloud-Rechnungskonto hinzu. Eine Möglichkeit dazu ist das Upgrade auf den Blaze-Tarif. Danach können Sie mit App Check beliebige App Risikoschwellenwerte zwischen 0,0 und 1,0 in Schritten von 0,1 konfigurieren.
Wenn Sie die Verteilung hoher und niedriger reCAPTCHA Enterprise-Punktzahlen für Ihre Webanwendung beobachten möchten, rufen Sie in der Google Cloud Console die Seite „reCAPTCHA Enterprise“ auf und wählen Sie den Websiteschlüssel aus, der von Ihrer Webanwendung verwendet wird.
Wenn Sie eine niedrige Risikotoleranz für Apps haben, verschieben Sie den Schieberegler nach links , um den Schwellenwert für das App-Risiko zu erhöhen.
- Ein Wert von 1,0 wird nicht empfohlen, da diese Einstellung auch dazu führen kann, dass berechtigte Nutzer, die den entsprechenden hohen Grenzwert nicht erfüllen, keinen Zugriff haben.
Wenn Sie eine hohe Risikotoleranz für Apps haben, verschieben Sie den Schieberegler nach rechts , um den Schwellenwert für das App-Risiko zu verringern.
- Ein Wert von 0,0 wird nicht empfohlen, da diese Einstellung den Schutz vor Missbrauch deaktiviert.
Weitere Informationen finden Sie in der reCAPTCHA Enterprise-Dokumentation.
2. Die App Check Bibliothek Ihrer App hinzufügen
Fügen Sie Ihrer Webanwendung Firebase hinzu, falls noch nicht geschehen. Stellen Sie sicher, dass Sie die App Check Bibliothek importieren.
3. App Check initialisieren
Fügen Sie Ihrer Anwendung den folgenden Initialisierungscode hinzu, bevor Sie auf Firebase-Dienste zugreifen. Sie müssen Ihren reCAPTCHA Enterprise-Websiteschlüssel, den Sie in der Cloud Console erstellt haben, an activate() übergeben.
Web
import { initializeApp } from "firebase/app"; import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "firebase/app-check"; const app = initializeApp({ // Your Firebase configuration object. }); // Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise // site key and pass it to initializeAppCheck(). const appCheck = initializeAppCheck(app, { provider: new ReCaptchaEnterpriseProvider(/* reCAPTCHA Enterprise site key */), isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh. });
Web
firebase.initializeApp({ // Your Firebase configuration object. }); // Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise // site key and pass it to activate(). const appCheck = firebase.appCheck(); appCheck.activate( new firebase.appCheck.ReCaptchaEnterpriseProvider( /* reCAPTCHA Enterprise site key */ ), true // Set to true to allow auto-refresh. );
Nächste Schritte
Nachdem die App Check Bibliothek in Ihrer App installiert wurde, stellen Sie sie bereit.
Die aktualisierte Client-App sendet mit jeder Anfrage an Firebase App Check Tokens. Für Firebase-Produkte müssen die Tokens jedoch erst gültig sein, wenn Sie die Erzwingung im Bereich „App Check“ der Firebase-Konsole aktivieren.
Messwerte beobachten und Erzwingung aktivieren
Bevor Sie die Erzwingung aktivieren, sollten Sie prüfen, ob dies Ihre bestehenden berechtigten Nutzer beeinträchtigt. Wenn Sie jedoch eine verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung möglicherweise früher aktivieren.
Um diese Entscheidung zu treffen, können Sie sich die App Check Messwerte für die Dienste ansehen, die Sie verwenden:
- Beobachten Sie die Messwerte für App CheckAnfragen für Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API und Places API (neu).
- Beobachten Sie die Messwerte für App Check Anfragen für Cloud Functions.
Erzwingung aktivierenApp Check
Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, und bereit sind, fortzufahren, können Sie die App Check Erzwingung aktivieren:
- Aktivieren Sie die App Check Erzwingung für Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API und Places API (neu).
- Aktivieren Sie die App Check Erzwingung für Cloud Functions.
App Check in Debugging-Umgebungen verwenden
Wenn Sie Ihre App nach der Registrierung für App Check in einer Umgebung ausführen möchten, die von App Check normalerweise nicht als gültig eingestuft wird, z. B. lokal während der Entwicklung oder in einer Umgebung für die kontinuierliche Integration (Continuous Integration, CI), können Sie einen Debug-Build Ihrer App erstellen, der anstelle eines echten Bestätigungsanbieters den App Check Debug-Anbieter verwendet.
Weitere Informationen finden Sie unter Verwenden Sie App Check mit dem Debugging-Anbieter in Webanwendungen.
Hinweis zu Kosten
App Check erstellt in Ihrem Namen eine Bewertung, um das Antworttoken des Nutzers zu validieren, wenn ein Browser, auf dem Ihre Webanwendung ausgeführt wird, sein App Check Token aktualisiert. Für jede Bewertung, die über dem kostenlosen Kontingent liegt, wird Ihrem Projekt eine Gebühr berechnet. Weitere Informationen finden Sie unter Preise für reCAPTCHA.
Standardmäßig aktualisiert Ihre Webanwendung dieses Token zweimal pro Stunde. Wenn Sie festlegen möchten, wie oft Ihre App App Check Tokens aktualisiert (und somit wie oft neue Bewertungen erstellt werden), konfigurieren Sie die TTL.