Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Aktivieren Sie App Check mit DeviceCheck auf iOSCheck

Auf dieser Seite erfahren Sie, wie Sie App Check in einer iOS-App mithilfe des integrierten DeviceCheck-Anbieters aktivieren. Wenn Sie App Check aktivieren, tragen Sie dazu bei, dass nur Ihre App auf die Firebase-Ressourcen Ihres Projekts zugreifen kann. Sehen Sie eine Übersicht dieser Funktion.

Wenn Sie App überprüfen mit Ihrem eigenen Provider nutzen möchten, finden Sie ein Check - Provider benutzerdefinierte App implementieren .

1. Richten Sie Ihr Firebase-Projekt ein

  1. In Firebase zu Ihrem iOS - Projekt , wenn Sie nicht bereits getan haben.

  2. Auf der Website von Apple Entwickler, erstellen Sie einen DeviceCheck privaten Schlüssel .

  3. Registrieren Sie Ihre Apps App Informieren Sie sich beim DeviceCheck Anbieter in den verwenden Projekteinstellungen> App überprüfen Abschnitt der Konsole Firebase. Sie müssen den privaten Schlüssel bereitstellen, den Sie im vorherigen Schritt erstellt haben.

    Normalerweise müssen Sie alle Apps Ihres Projekts registrieren, denn sobald Sie die Durchsetzung für ein Firebase-Produkt aktivieren, können nur registrierte Apps auf die Back-End-Ressourcen des Produkts zugreifen.

  4. Optional: In den App - Registrierungseinstellungen, stellen Sie eine benutzerdefinierte Time-to-Live (TTL) für App überprüfen vom Provider ausgegeben Token. Sie können die TTL auf einen beliebigen Wert zwischen 30 Minuten und 7 Tagen einstellen. Beachten Sie beim Ändern dieses Werts die folgenden Kompromisse:

    • Sicherheit: Kürzere TTLs bieten eine höhere Sicherheit, da sie das Zeitfenster verringern, in dem ein durchgesickertes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
    • Leistung: Kürzere TTLs bedeuten, dass Ihre App die Bestätigung häufiger durchführt. Da der App-Bestätigungsprozess bei jeder Ausführung Latenz zu Netzwerkanforderungen hinzufügt, kann eine kurze TTL die Leistung Ihrer App beeinträchtigen.
    • Kontingent: Kürzere TTLs und häufige erneute Beglaubigungen erschöpfen Ihr Kontingent schneller. Siehe Quotas & Grenzen .

    Der Standard - TTL von 1 Stunde ist sinnvoll für die meisten Anwendungen.

2. Fügen Sie die App Check-Bibliothek zu Ihrer App hinzu

  1. Fügen Sie die Abhängigkeit für App Überprüfen Ihres Projekts Podfile :

    pod 'Firebase/AppCheck'

    Oder alternativ können Sie verwenden Swift Package Manager statt.

    Stellen Sie sicher, dass Sie auch die neueste Version aller Firebase-Dienstclientbibliotheken verwenden, auf die Sie angewiesen sind.

  2. Run pod install Sie die erstellte und öffnen .xcworkspace Datei.

Sobald die App Check-Bibliothek in Ihrer App installiert ist, verteilen Sie die aktualisierte App an Ihre Benutzer.

Die aktualisierte Client-App beginnt mit dem Senden von App Check-Tokens zusammen mit jeder Anfrage an Firebase, aber Firebase-Produkte benötigen die Token erst dann gültig, wenn Sie die Durchsetzung im App Check-Bereich der Firebase-Konsole aktivieren. Weitere Informationen finden Sie in den nächsten beiden Abschnitten.

3. Anforderungsmetriken überwachen

Da sich Ihre aktualisierte App nun in den Händen der Benutzer befindet, können Sie die Durchsetzung der App-Prüfung für die von Ihnen verwendeten Firebase-Produkte aktivieren. Bevor Sie dies tun, sollten Sie jedoch sicherstellen, dass Ihre bestehenden legitimen Benutzer dadurch nicht gestört werden.

Echtzeit-Datenbank und Cloud-Speicher

Ein wichtiges Tool, mit dem Sie diese Entscheidung für Echtzeitdatenbank und Cloud-Speicher treffen können, ist der Bildschirm mit den App-Check-Anforderungsmetriken.

Die App prüfen Anfrage Metriken für ein Produkt, öffnen Sie das sehen , Projekteinstellungen> App überprüfen Abschnitt der Konsole Firebase. Zum Beispiel:

Screenshot der Seite mit den App-Check-Metriken

Die Anforderungsmetriken für jedes Produkt sind in vier Kategorien unterteilt:

  • Verifizierte Anfragen sind diejenigen , die eine gültige App prüfen Token haben. Nachdem Sie die Durchsetzung der App-Prüfung aktiviert haben, werden nur Anforderungen in dieser Kategorie erfolgreich ausgeführt.

  • Veraltete Client - Anfragen sind diejenigen , die eine App überprüfen Token fehlen. Diese Anfragen stammen möglicherweise von einer älteren Version des Firebase SDK, bevor App Check in die App aufgenommen wurde.

  • Unbekannte Herkunft Anfragen sind diejenigen , die eine App prüfen Token fehlen, und nicht schauen , wie sie aus dem Firebase SDK kommen. Diese können von Anfragen mit gestohlenen API-Schlüsseln oder gefälschten Anfragen ohne das Firebase SDK stammen.

  • Ungültige Anfragen sind diejenigen , die eine ungültige App überprüfen Token, die von einem unechten Client sein könnten versuchen , Ihre App zu imitieren, oder von emulierten Umgebungen.

Die Verteilung dieser Kategorien für Ihre App sollte Sie informieren, wenn Sie sich entscheiden, die Durchsetzung zu aktivieren. Hier sind einige Richtlinien:

  • Wenn fast alle der letzten Anfragen von verifizierten Clients stammen, sollten Sie die Durchsetzung aktivieren, um Ihre Back-End-Ressourcen zu schützen.

  • Wenn ein erheblicher Teil der jüngsten Anfragen von wahrscheinlich veralteten Clients stammt, sollten Sie zur Vermeidung von Störungen der Benutzer in Erwägung ziehen, zu warten, bis mehr Benutzer Ihre App aktualisieren, bevor Sie die Erzwingung aktivieren. Das Erzwingen von App Check für eine veröffentlichte App bricht frühere App-Versionen, die nicht in das App Check SDK integriert sind.

  • Wenn Ihre App noch nicht gestartet wurde, sollten Sie die App-Check-Erzwingung sofort aktivieren, da keine veralteten Clients verwendet werden.

Cloud-Funktionen

Für Cloud Functions können Sie App Check-Messwerte abrufen, indem Sie die Logs Ihrer Funktionen untersuchen. Jeder Aufruf einer Callable Function gibt einen strukturierten Log-Eintrag wie im folgenden Beispiel aus:

{
  "severity": "INFO",    // INFO, WARNING, or ERROR
  "logging.googleapis.com/labels": {"firebase-log-type": "callable-request-verification"},
  "jsonPayload": {
    "message": "Callable header verifications passed.",
    "verifications": {
      // ...
      "app": "MISSING",  // VALID, INVALID, or MISSING
    }
  }
}

Sie können diese Messwerte in der Google Cloud Console analysieren , indem sie die Schaffung eines Logs basierten Zähler Metrik mit dem folgenden metrischen Filter:

resource.type="cloud_function"
resource.labels.function_name="YOUR_CLOUD_FUNCTION"
resource.labels.region="us-central1"
labels.firebase-log-type="callable-request-verification"

Beschriften die Metrik unter Verwendung des Feldes jsonPayload.verifications.appCheck .

4. Durchsetzung aktivieren

Um die Durchsetzung zu aktivieren, befolgen Sie die Anweisungen für jedes Produkt unten. Sobald Sie die Durchsetzung für ein Produkt aktivieren, werden alle unbestätigten Anfragen an dieses Produkt abgelehnt.

Echtzeit-Datenbank und Cloud-Speicher

So aktivieren Sie die Durchsetzung für Realtime Database und Cloud Storage:

  1. Öffnen Sie die Projekteinstellungen> App überprüfen Abschnitt der Konsole Firebase.

  2. Erweitern Sie die Messwertansicht des Produkts, für das Sie die Durchsetzung aktivieren möchten.

  3. Klicken Sie Erzwingen und bestätigen Sie Ihre Auswahl.

Beachten Sie, dass es nach der Aktivierung der Durchsetzung bis zu 10 Minuten dauern kann, bis sie wirksam wird.

Cloud-Funktionen

Siehe Aktivieren App Überprüfen Durchsetzung für Cloud - Funktionen .

Nächste Schritte

Wenn Sie Ihre App nach der Registrierung für App Check in einer Umgebung ausführen möchten, die App Check normalerweise nicht als gültig einstufen würde, z Erstellen Sie einen Debugbuild Ihrer App, der den App Check-Debuganbieter anstelle eines echten Attestierungsanbieters verwendet.

Siehe Verwenden App Überprüfen Sie mit dem Debug - Provider auf iOS .