Prompt AI: napisz reguły zabezpieczeń Firebase

Ten prompt może pomóc asystentowi AI (np. Google Antigravity) w generowaniu i ulepszaniu Firebase Security Rules dla Twojej aplikacji. Możesz go użyć do utworzenia Security Rules w typowych przypadkach użycia, takich jak przyznawanie dostępu konkretnym użytkownikom, wdrażanie uprawnień opartych na rolach i sprawdzanie poprawności danych.

Ten prompt służy do generowania Security Rules dla tych usług:

  • 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 prompta może pomóc Ci w rozpoczęciu pracy z solidnym poziomem bezpieczeństwa, ale zawsze należy dokładnie przetestować Security Rules przed wdrożeniem w środowisku produkcyjnym. Więcej informacji o testowaniu Security Rules znajdziesz w artykule Pierwsze kroki z Firebase Security Rules: testowanie Security Rules.

Wymagania wstępne

Ograniczenia

Stale ulepszamy tę funkcję, dlatego ta lista ograniczeń może się zmienić. Regularnie sprawdzaj, czy nie ma aktualizacji.

  • Prompt jest przeznaczony do generowania Firebase Security Rules dla Cloud Firestore i Cloud Storage for Firebase. Nie jest jeszcze w stanie 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 sprawdzanie poprawności danych w kodzie backendu.

  • Gemini w Firebase w konsoli Firebase nie może generować Firebase Security Rules, nawet jeśli używasz tego prompta. Zamiast tego użyj innego asystenta AI, który ma dostęp do Twojej bazy kodu, np. Antigravity (opisany na tej stronie).

Używanie prompta

Ta funkcja jest dostępna, gdy używasz serwera Firebase MCP i umiejętności agenta Firebase z kompatybilnym asystentem AI (np. Antigravity) do generowania Security Rules i testów. Te narzędzia analizują kod źródłowy, aby pomóc w identyfikowaniu schematów danych i wzorców dostępu do Cloud Firestore i Cloud Storage. Są one zaprojektowane tak, aby tworzyć Security Rules na podstawie zasady jak najmniejszych uprawnień i wykrywać luki w zabezpieczeniach za pomocą iteracyjnych symulacji „ataków”. Aby pomóc w ostatecznej weryfikacji, udostępniają one początkowy pakiet testów jednostkowych za pomocą @firebase/rules-unit-testing, co pozwala na lokalne sprawdzenie logiki bezpieczeństwa za pomocą Firebase Local Emulator Suite.

Korzystanie z tych narzędzi wymaga wykonania 3 czynności opisanych w tej sekcji:

  1. Wygeneruj Security Rules i testy.

  2. Sprawdź wyniki weryfikacji i testów Security Rules.

  3. Wdróż Security Rules w projekcie Firebase.

Krok 1: Wygeneruj Security Rules i testy

Skonfiguruj i uruchom narzędzia:

  1. Włącz umiejętności agenta Firebase:

    • Google Antigravity: aby włączyć pakiet integracji z Firebase, postępuj zgodnie z instrukcjami konfiguracji. Jeśli używasz interfejsu wiersza poleceń, możesz włączyć umiejętności, uruchamiając to polecenie:

      npx skills add firebase/agent-skills --agent=antigravity
    • Inni agenci do kodowania AI: postępuj zgodnie z instrukcjami dotyczącymi umiejętności agenta i serwera MCP.

  2. Uruchom asystenta AI (np. uruchom agy w terminalu w przypadku interfejsu wiersza poleceń lub otwórz aplikację na komputer).

  3. W katalogu głównym projektu poproś agenta o wygenerowanie Security Rules dla Cloud Firestore lub Cloud Storage na podstawie sposobu, w jaki agent do kodowania AI wchodzi w interakcję z promptami MCP:

    • W przypadku agentów do kodowania, którzy używają języka naturalnego (np. Antigravity), użyj prompta w języku naturalnym.

      • Generowanie Security Rules dla Cloud Firestore:

        Generate Firestore security rules for this project, then run the unit tests.
        

        W katalogu nadrzędnym agent tworzy plik firestore.rules i nowy katalog security_rules_test_firestore, który zawiera projekt Node.js z testami jednostkowymi wygenerowanych Security Rules.

      • Generowanie Security Rules dla Cloud Storage for Firebase:

        Generate Cloud Storage security rules for this project, then run the unit tests.
        

        W katalogu nadrzędnym agent tworzy plik storage.rules i nowy katalog security_rules_test_storage, który zawiera projekt Node.js z testami jednostkowymi wygenerowanych Security Rules.

    • W przypadku agentów do kodowania, którzy obsługują polecenia ze znakiem ukośnika (np. Claude Code), użyj tych poleceń.

      • Generowanie Security Rules dla Cloud Firestore:

        /firestore:generate_security_rules
        
      • Generowanie Security Rules dla Cloud Storage for Firebase:

        /storage:generate_security_rules
        
    • W przypadku agentów do kodowania, którzy nie obsługują integracji promptów MCP, możesz skopiować surowy szablon prompta z repozytorium firebase-tools i wkleić go do czatu agenta.

Krok 2. Sprawdź wyniki weryfikacji i testów Security Rules

  1. Upewnij się, że agent do kodowania AI wykonał te czynności. Po uruchomieniu narzędzi powinien zostać wygenerowany podsumowanie.

    • Sprawdzanie składni: po wygenerowaniu Security Rules agent do kodowania AI automatycznie sprawdza składnię za pomocą polecenia firebase_validate_security_rules z serwera Firebase MCP.

    • Testy jednostkowe: po sprawdzeniu składni agent do kodowania AI próbuje uruchomić wygenerowane testy jednostkowe za pomocą Firebase Local Emulator Suite.

  2. Jeśli testy nie są uruchamiane automatycznie, uruchom Firebase Local Emulator Suite w osobnym terminalu, a następnie użyj jednej z tych opcji, aby uruchomić testy:

    • Opcja 1. Poproś asystenta AI o uruchomienie testów:

      Firebase Emulator Suite is running in a separate terminal. Please execute the tests.
      
    • Opcja 2. Uruchom testy ręcznie, postępując zgodnie z instrukcjami w pliku README.md w katalogu rules_test lub storage_rules_test.

Krok 3. Wdróż Security Rules w projekcie Firebase

Gdy będziesz zadowolony(-a) z wyniku wygenerowanych Security Rules, użyj tych poleceń Firebase CLI, aby wdrożyć Security Rules w projekcie Firebase:

  • Cloud Firestore

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

    firebase deploy --only storage