Ten prompt może pomóc Twojemu asystentowi AI (np. Gemini CLI) generować i ulepszać Firebase Security Rules w Twojej aplikacji. Możesz go używać do tworzenia Security Rules w przypadku typowych zastosowań, takich jak przyznawanie dostępu konkretnym użytkownikom, wdrażanie uprawnień opartych na rolach i weryfikowanie danych.
Ten prompt służy do generowania Security Rules w przypadku:
- Cloud Firestore: zabezpieczanie kolekcji i dokumentów na podstawie logiki aplikacji.
- Cloud Storage for Firebase: sprawdzanie uprawnień dostępu do przechowywanych plików.
Użycie tego promptu może pomóc Ci w zastosowaniu solidnych zabezpieczeń, ale przed wdrożeniem Security Rules w środowisku produkcyjnym zawsze należy dokładnie je przetestować. Więcej informacji o testowaniu Security Rules znajdziesz w artykule Pierwsze kroki z Firebase Security Rules: testowanie Security Rules.
Wymagania wstępne
- Zapoznaj się ze Firebase Security Rulessprawdzonymi metodami.
- Aby uruchomić testy jednostkowe dla Firebase Security Rules i użyć Firebase Local Emulator Suite,zainstaluj Node.js i interfejs wiersza poleceń Firebase. Pełne instrukcje znajdziesz w artykule Instalowanie, konfigurowanie i integrowanie Firebase Local Emulator Suite.
- Zalecane: jeśli jeszcze tego nie zrobiono, zainstaluj Gemini CLI.
Poniżej znajdziesz instrukcje instalowania i używania rozszerzenia Firebase do Gemini CLI w celu generowania Security Rules. Jeśli wolisz używać innego asystenta AI, możesz skopiować i wkleić prompt dla Cloud Firestore lub Cloud Storage for Firebase z repozytorium
firebase-toolsdo wybranego asystenta AI. - Rozszerzenie Firebase dla Gemini CLI łączy się z serwerem MCP Firebase, aby uzyskać dostęp do promptów, które generują i weryfikują Firebase Security Rules oraz pomagają w testowaniu i wdrażaniu Security Rules. Zainstaluj serwer MCP Firebase, zanim użyjesz rozszerzenia do generowania Firebase Security Rules.
Ograniczenia
Stale ulepszamy tę funkcję, więc lista ograniczeń może się zmienić. Często sprawdzaj, czy nie ma nowych informacji.
Prompt ma generować Firebase Security Rules dla Cloud Firestore i Cloud Storage for Firebase. Nie potrafi jeszcze generować Security Rules dla Firebase Realtime Database.
Firebase Security Rules nie są wywoływane podczas uzyskiwania dostępu do bazy danych lub zasobnika z serwera lub innego środowiska backendu, np. podczas korzystania z Firebase Admin SDK. Jeśli używasz Admin SDK, odpowiadasz za zarządzanie autoryzacją i weryfikacją danych w kodzie backendu.
Gemini w Firebase w konsoli Firebase nie może generować Firebase Security Rules, nawet jeśli używasz tego promptu. Zamiast tego użyj innego asystenta AI, który ma dostęp do Twojej bazy kodu, np. Gemini CLI (opisany na tej stronie).
Używanie prompta
.Ten prompt jest dostępny w ramach Security Rules w rozszerzeniu Firebase dla Gemini CLI, które umożliwia generowanie Security Rules i testów. To rozszerzenie analizuje kod źródłowy, aby pomóc w identyfikowaniu schematów danych i wzorców dostępu do Cloud Firestore i Cloud Storage. Został on zaprojektowany do tworzenia Security Rules zgodnie z zasadą najmniejszych uprawnień i próbuje wykrywać luki w zabezpieczeniach za pomocą iteracyjnych symulacji „ataku”. Aby pomóc w ostatecznej weryfikacji, udostępnia początkowy zestaw testów jednostkowych korzystający z @firebase/rules-unit-testing, co pozwala lokalnie weryfikować logikę zabezpieczeń za pomocą Firebase Local Emulator Suite.
Korzystanie z tego rozszerzenia wymaga wykonania 3 kroków opisanych w tej sekcji:
Krok 1: wygeneruj Security Rules i testy
Zainstaluj i uruchom rozszerzenie:
Zainstaluj rozszerzenie Firebase dla Gemini CLI:
gemini extensions install https://github.com/gemini-cli-extensions/firebaseRozpoczęcie: Gemini CLI
geminiW katalogu głównym projektu uruchom rozszerzenie, aby wygenerować Security Rules dla Cloud Firestore lub Cloud Storage:
Wygeneruj Security Rules dla Cloud Firestore:
/firestore:generate_security_rulesW katalogu nadrzędnym rozszerzenie tworzy plik
firestore.rulesi nowy katalogsecurity_rules_test_firestore, który zawiera projekt Node.js z testami jednostkowymi wygenerowanego pliku Security Rules.Wygeneruj Security Rules dla Cloud Storage for Firebase:
/storage:generate_security_rulesW katalogu nadrzędnym rozszerzenie tworzy plik
storage.rulesi nowy katalogsecurity_rules_test_storage, który zawiera projekt Node.js z testami jednostkowymi wygenerowanego pliku Security Rules.
Krok 2. Sprawdź Security Rules wyniki weryfikacji i testów
Upewnij się, że asystent AI wykonał te czynności. Po uruchomieniu rozszerzenia powinien pojawić się wygenerowany podsumowanie.
Sprawdzanie składni: po wygenerowaniu Security Rules Gemini CLIautomatycznie sprawdza składnię za pomocą polecenia
firebase_validate_security_rulesz serwera Firebase MCP.Testy jednostkowe: po sprawdzeniu składni Gemini CLI próbuje uruchomić wygenerowane testy jednostkowe za pomocą Firebase Local Emulator Suite.
Jeśli testy nie uruchamiają się automatycznie, uruchom Firebase Local Emulator Suite w osobnym terminalu, a potem użyj jednej z tych opcji, aby uruchomić testy:
Opcja 1. Poproś Gemini CLI o przeprowadzenie testów:
Firebase Emulator Suite is running in a separate terminal. Please execute the tests.Opcja 2. Ręczne uruchamianie testów zgodnie z instrukcjami w pliku
README.mdw katalogurules_testlubstorage_rules_test.
Krok 3. Wdróż Security Rules w projekcie Firebase.
Gdy uznasz, że wygenerowany Security Rules jest odpowiedni, użyj tych poleceń interfejsu wiersza poleceń Firebase, aby wdrożyć Security Rules w projekcie Firebase:
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage for Firebase
firebase deploy --only storage
Dodatkowe materiały
- Aby uzyskać dodatkową pomoc w zakresie bezpieczeństwa, możesz też użyć rozszerzenia zabezpieczającego do Gemini CLI, czyli rozszerzenia open source, które analizuje zmiany w kodzie, aby wykrywać zagrożenia i luki w zabezpieczeniach.