KI-Prompt: Firebase-Sicherheitsregeln schreiben

Mit diesem Prompt kann Ihr KI-Assistent (z. B. Gemini CLI) Firebase Security Rules für Ihre App generieren und optimieren. Sie können den Prompt verwenden, um Security Rules für gängige Anwendungsfälle zu erstellen, z. B. für die Gewährung nutzerspezifischen Zugriffs, die Implementierung rollenbasierter Berechtigungen und die Validierung von Daten.

Dieser Prompt konzentriert sich auf die Generierung von Security Rules für:

  • Cloud Firestore: Sammlungen und Dokumente basierend auf der Logik Ihrer App sichern.
  • Cloud Storage for Firebase: Zugriffsberechtigungen für Ihre gespeicherten Dateien validieren.

Dieser Prompt kann Ihnen helfen, mit einer starken Sicherheitslage zu beginnen. Sie sollten Ihre Security Rules jedoch immer gründlich testen, bevor Sie sie in der Produktion bereitstellen. Weitere Informationen zum Testen von Security Rules finden Sie unter Erste Schritte mit Firebase Security Rules: Security Rules testen.

Vorbereitung

Beschränkungen

Wir arbeiten aktiv an der Verbesserung dieser Funktion. Daher kann sich diese Liste der Einschränkungen ändern. Weitere Updates folgen.

  • Der Prompt ist darauf ausgelegt, Firebase Security Rules für Cloud Firestore und Cloud Storage for Firebase zu generieren. Security Rules für Firebase Realtime Database können noch nicht generiert werden.

  • Firebase Security Rules werden nicht aufgerufen, wenn Sie von einem Server oder einer anderen Backend-Umgebung aus auf Ihre Datenbank oder Ihren Bucket zugreifen, z. B. bei Verwendung der Firebase Admin SDK. Wenn Sie die Admin SDK verwenden, sind Sie für die Verwaltung der Autorisierung und die Datenvalidierung in Ihrem Backend-Code verantwortlich.

  • Gemini in Firebase in der Firebase-Konsole kann keine Firebase Security Rules generieren, auch wenn dieser Prompt verwendet wird. Verwenden Sie stattdessen einen alternativen KI-Assistenten, der Zugriff auf Ihre Codebasis hat, z. B. Gemini CLI (siehe unten).

Prompt verwenden

Dieser Prompt ist über die Gemini CLI-Erweiterung für Firebase Security Rules verfügbar, um Ihre Security Rules und Tests zu generieren. Diese Erweiterung analysiert Ihren Quellcode, um Datenschemas und Zugriffsmuster für Cloud Firestore und Cloud Storage zu ermitteln. Es wurde entwickelt, um Security Rules auf Grundlage des Prinzips der geringsten Berechtigung zu entwerfen und durch iterative „Angriffssimulationen“ Sicherheitslücken aufzudecken. Zur Unterstützung der endgültigen Überprüfung wird eine erste Unit-Test-Suite mit @firebase/rules-unit-testing bereitgestellt, mit der Sie Ihre Sicherheitslogik lokal mit dem Firebase Local Emulator Suite überprüfen können.

Für die Verwendung dieser Erweiterung sind drei Schritte erforderlich, die in diesem Abschnitt beschrieben werden:

  1. Security Rules und Tests generieren:

  2. Security Rules-Validierungs- und Testergebnisse ansehen

  3. Stellen Sie Security Rules in Ihrem Firebase-Projekt bereit.

Schritt 1: Security Rules und Tests generieren

Erweiterung installieren und ausführen:

  1. Installieren Sie die Erweiterung Gemini CLI:

    gemini extensions install https://github.com/firebase/snippets-rules
  2. Starten Sie Gemini CLI:

    gemini
  3. Führen Sie die Erweiterung im Stammverzeichnis Ihres Projekts aus, um Security Rules für Cloud Firestore oder Cloud Storage zu generieren:

    • Generiere Security Rules für Cloud Firestore:

      /firebase-rules:firestore Generate Firebase Security Rules using PROJECT ID PROJECT_ID

      Im übergeordneten Verzeichnis erstellt die Erweiterung eine firestore.rules-Datei und ein neues rules_test-Verzeichnis, das ein Node.js-Projekt mit Unittests für die generierte Security Rules enthält.

    • Generiere Security Rules für Cloud Storage for Firebase:

      /firebase-rules:storage Generate Firebase Security Rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAME

      Im übergeordneten Verzeichnis erstellt die Erweiterung eine storage.rules-Datei und ein neues storage_rules_test-Verzeichnis, das ein Node.js-Projekt mit Unittests für die generierte Security Rules enthält.

Schritt 2: Security Rules-Validierung und Testergebnisse prüfen

  1. Achten Sie darauf, dass Ihr KI-Assistent Folgendes ausführt. Nachdem die Erweiterung ausgeführt wurde, sollten Sie eine generierte Zusammenfassung erhalten.

    • Syntaxvalidierung: Nach dem Generieren von Security Rules validiert Gemini CLI die Syntax automatisch mit dem Befehl firebase_validate_security_rules vom Firebase MCP-Server.

    • Unittests: Nach der Validierung der Syntax versucht Gemini CLI, die generierten Unittests mit Firebase Local Emulator Suite auszuführen.

  2. Wenn Tests nicht automatisch ausgeführt werden, starten Sie Firebase Local Emulator Suite in einem separaten Terminal und verwenden Sie dann eine der folgenden Optionen, um die Tests auszuführen:

    • Option 1: Gemini CLI anweisen, Tests auszuführen:

      Firebase Emulator Suite is running in a separate terminal. Please execute the tests.
      
    • Option 2: Führen Sie die Tests manuell aus. Folgen Sie dazu der Anleitung in der Datei README.md im Verzeichnis rules_test oder storage_rules_test.

Schritt 3: Security Rules in Ihrem Firebase-Projekt bereitstellen

Wenn Sie mit dem Ergebnis der generierten Security Rules zufrieden sind, verwenden Sie die folgenden Firebase-CLI-Befehle, um die Security Rules in Ihrem Firebase-Projekt bereitzustellen:

  • Cloud Firestore

    firebase deploy --only firestore:rules
  • Cloud Storage for Firebase

    firebase deploy --only storage

Zusätzliche Ressourcen

  • Wenn Sie zusätzliche Unterstützung bei der Verbesserung Ihres Sicherheitsstatus benötigen, können Sie auch die Sicherheitserweiterung für Gemini CLI verwenden. Diese Open-Source-Erweiterung analysiert Codeänderungen, um Sicherheitsrisiken und ‑lücken zu erkennen.