Ten prompt może pomóc asystentowi AI, np. Gemini CLI, w generowaniu i ulepszaniu Firebase Security Rules na potrzeby Twojej aplikacji. Możesz go użyć do tworzenia 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 Rules dla:
- Cloud Firestore: zabezpieczanie kolekcji i dokumentów na podstawie logiki aplikacji.
- Cloud Storage for Firebase: sprawdzanie uprawnień dostępu do zapisanych plików.
Użycie tego promptu może pomóc Ci w zastosowaniu solidnych zabezpieczeń, ale przed wdrożeniem Rules w środowisku produkcyjnym zawsze należy dokładnie je przetestować. Więcej informacji o testowaniu Rules znajdziesz w artykule Pierwsze kroki z Firebase Security Rules: testowanie reguł.
Wymagania wstępne
- Zapoznaj się ze sprawdzonymi metodami dotyczącymi reguł bezpieczeństwa.
- 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 Pakietu emulatorów lokalnych.
- Zalecane: jeśli jeszcze tego nie zrobiono,zainstaluj Gemini CLI. Poniżej znajdziesz instrukcje instalowania i używania Gemini CLIrozszerzenia do generowania Rules. Jeśli wolisz korzystać z innego asystenta AI, możesz skopiować prompt z repozytorium i wkleić go do wybranego asystenta AI.
- To rozszerzenie Gemini CLI używa serwera Firebase MCP do weryfikacji wygenerowanych przez siebie Firebase Security Rules. Serwer MCP może też ułatwiać testowanie i wdrażanie 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.
- Gemini w Firebase nie może wygenerować Firebase Security Rules. Używaj alternatywnego asystenta AI, np. Gemini CLI.
- Prompt ma generować Firebase Security Rules dla Cloud Firestore i Cloud Storage for Firebase. Nie potrafi jeszcze generować 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, na przykład podczas korzystania z Firebase Admin SDK. Jeśli używasz Admin SDK, odpowiadasz za zarządzanie autoryzacją i weryfikacją danych w kodzie backendu.
Używanie prompta
Użyj eksperymentalnego Gemini CLI rozszerzenia dla Firebase Security Rules, aby wygenerować reguły i testy.
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 projektów Rules na podstawie zasady jak najmniejszych uprawnień i próbuje wykrywać luki w zabezpieczeniach za pomocą iteracyjnych symulacji „ataków”. Aby pomóc w ostatecznej weryfikacji, udostępnia początkowy zestaw testów jednostkowych za pomocą
@firebase/rules-unit-testing, co pozwala weryfikować logikę zabezpieczeń lokalnie za pomocą Pakietu emulatorów lokalnych Firebase.Aby zainstalować i używać rozszerzenia:
Zainstaluj rozszerzenie Gemini CLI:
gemini extensions install https://github.com/firebase/snippets-rulesOtwórz pokój Gemini CLI.
gemini
W katalogu głównym projektu uruchom rozszerzenie, aby wygenerować reguły dla Cloud Firestore:
/firebase-rules:firestore Generate rules using PROJECT ID PROJECT_IDMożesz też wygenerować reguły dla Cloud Storage:
/firebase-rules:storage Generate rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAME
Rozszerzenie tworzy w katalogu głównym projektu katalog
rules_testdla Cloud Firestore lub katalogstorage_rules_testdla Cloud Storage. Ten nowy katalog zawiera wygenerowany plik.rulesoraz projekt Node.js z testami jednostkowymi.Sprawdź wyniki weryfikacji i testu reguł:
- Sprawdzanie składni – po wygenerowaniu reguł 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. Aby uruchomić testy, musisz uruchomić Firebase Local Emulator Suite w osobnym terminalu.
Jeśli testy nie uruchomią się automatycznie, uruchom Firebase Local Emulator Suite w osobnym terminalu, a potem użyj jednej z tych opcji, aby uruchomić testy:
* 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.- Sprawdzanie składni – po wygenerowaniu reguł Gemini CLIautomatycznie sprawdza składnię za pomocą polecenia
Gdy uzyskasz zadowalający wynik wygenerowanego Rules, użyj tego polecenia interfejsu Firebase, aby wdrożyć Rules:
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage
firebase deploy --only storage
Dodatkowe materiały
- Aby uzyskać dodatkową pomoc w zakresie stanu zabezpieczeń, możesz też użyć rozszerzenia zabezpieczeń do Gemini CLI, rozszerzenia open source, które analizuje zmiany w kodzie, aby identyfikować zagrożenia i luki w zabezpieczeniach.