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 Rules für gängige Anwendungsfälle zu entwerfen, z. B. zum Gewähren nutzerspezifischen Zugriffs, zum Implementieren rollenbasierter Berechtigungen und zum Validieren von Daten.
Dieser Prompt konzentriert sich auf die Generierung von 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 Rules jedoch immer gründlich testen, bevor Sie sie in der Produktion bereitstellen. Weitere Informationen zum Testen von Rules finden Sie unter Erste Schritte mit Firebase Security Rules: Regeln testen.
Vorbereitung
- Machen Sie sich mit den Best Practices für Sicherheitsregeln 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 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 Rules zu generieren. Wenn Sie lieber einen anderen KI-Assistenten verwenden möchten, können Sie den Prompt aus dem Repository 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 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.
- Gemini in Firebase kann Firebase Security Rules nicht generieren. Verwenden Sie einen alternativen KI-Assistenten wie Gemini CLI.
- Der Prompt ist darauf ausgelegt, Firebase Security Rules für Cloud Firestore und Cloud Storage for Firebase zu generieren. 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 auf Ihre Datenbank oder Ihren Bucket zugreifen, z. B. wenn Sie die Firebase Admin SDK verwenden. Wenn Sie die Admin SDK verwenden, sind Sie für die Verwaltung der Autorisierung und die Datenvalidierung in Ihrem Backend-Code verantwortlich.
Prompt verwenden
Verwenden Sie die experimentelle Gemini CLI-Erweiterung für Firebase Security Rules, um Ihre Regeln 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 Rules auf Grundlage des Prinzips der geringsten Berechtigung zu erstellen und durch iterative „Angriffssimulationen“ Sicherheitslücken aufzudecken. Zur Unterstützung bei der endgültigen Überprüfung wird eine Start-Unit-Testsuite mit
@firebase/rules-unit-testingbereitgestellt, mit der Sie Ihre Sicherheitslogik lokal mit der Firebase Local Emulator Suite überprüfen können.So installieren und verwenden Sie die Erweiterung:
Installieren Sie die Erweiterung Gemini CLI:
gemini extensions install https://github.com/firebase/snippets-rulesÖffnen Sie Gemini CLI.
gemini
Führen Sie die Erweiterung im Stammverzeichnis Ihres Projekts aus, um Regeln für Cloud Firestore zu generieren:
/firebase-rules:firestore Generate rules using PROJECT ID PROJECT_IDOder Regeln für Cloud Storage generieren:
/firebase-rules:storage Generate rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAME
Die Erweiterung erstellt im Stammverzeichnis Ihres Projekts ein
rules_test-Verzeichnis für Cloud Firestore oder einstorage_rules_test-Verzeichnis für Cloud Storage. Dieses neue Verzeichnis enthält die generierte.rules-Datei sowie ein Node.js-Projekt mit Unittests.Regelvalidierung und Testergebnisse prüfen:
- Syntaxvalidierung: Nach dem Generieren von Regeln 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. Damit die Tests ausgeführt werden, müssen Sie Firebase Local Emulator Suite in einem separaten Terminal ausfü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:
* Instruct Gemini CLI to run tests: ```none Firebase Emulator Suite is running in a separate terminal. Please execute the tests. ``` * Run tests manually by following the instructions in the `README.md` file in the `rules_test` or `storage_rules_test` directory.- Syntaxvalidierung: Nach dem Generieren von Regeln validiert Gemini CLI die Syntax automatisch mit dem Befehl
Wenn Sie mit dem Ergebnis des generierten Rules zufrieden sind, verwenden Sie den folgenden Firebase-CLI-Befehl, um das Rules bereitzustellen.
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage
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.