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
- Machen Sie sich mit den Firebase Security Rules-Best Practices vertraut.
- Wenn Sie Einheitentests für Firebase Security Rules ausführen und die Firebase Local Emulator Suite verwenden möchten, installieren Sie Node.js und die Firebase-Befehlszeile. Eine vollständige Anleitung finden Sie unter Firebase Local Emulator Suite installieren, konfigurieren und einbinden.
- Empfohlen:Wenn Sie es noch nicht getan haben, installieren Sie Gemini CLI. In der folgenden Anleitung wird beschrieben, wie Sie eine Gemini CLI-Erweiterung installieren und verwenden, um Security Rules zu generieren. Wenn Sie lieber einen anderen KI-Assistenten verwenden möchten, können Sie den Prompt aus dem Repository der Erweiterung kopieren und in den von Ihnen ausgewählten KI-Assistenten einfügen.
- Diese Gemini CLI-Erweiterung verwendet den Firebase MCP-Server, um die generierten Firebase Security Rules zu validieren. Der MCP-Server kann auch verwendet werden, um das Testen und Bereitstellen Ihrer Security Rules zu vereinfachen. Installieren Sie den Firebase MCP-Server, bevor Sie die Erweiterung zum Generieren von Firebase Security Rules verwenden.
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:
Schritt 1: Security Rules und Tests generieren
Erweiterung installieren und ausführen:
Installieren Sie die Erweiterung Gemini CLI:
gemini extensions install https://github.com/firebase/snippets-rulesStarten Sie Gemini CLI:
geminiFü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_IDIm übergeordneten Verzeichnis erstellt die Erweiterung eine
firestore.rules-Datei und ein neuesrules_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_NAMEIm übergeordneten Verzeichnis erstellt die Erweiterung eine
storage.rules-Datei und ein neuesstorage_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
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_rulesvom Firebase MCP-Server.Unittests: Nach der Validierung der Syntax versucht Gemini CLI, die generierten Unittests mit Firebase Local Emulator Suite auszuführen.
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.mdim Verzeichnisrules_testoderstorage_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:rulesCloud 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.