Prompt AI: napisz reguły zabezpieczeń Firebase

Ten prompt może pomóc Twojemu asystentowi AI (np. Google Antigravity) generować i ulepszać Firebase Security Rules dla Twojej aplikacji. Możesz go użyć 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 w środowisku produkcyjnym zawsze dokładnie przetestuj Security Rules. 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ę, więc lista ograniczeń może się zmienić. Często sprawdzaj, czy nie ma nowych informacji.

  • Prompt ma generować Firebase Security Rules dla Cloud FirestoreCloud 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żyjesz tego promptu. Zamiast tego użyj alternatywnego 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 MCPumiejętności agenta Firebase ze zgodnym 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 FirestoreCloud Storage. Są one zaprojektowane tak, aby tworzyć Security Rules zgodnie z zasadą jak najmniejszych uprawnień i wykrywać luki w zabezpieczeniach za pomocą iteracyjnych symulacji „ataków”. Aby pomóc w ostatecznej weryfikacji, udostępniają początkowy pakiet testów jednostkowych za pomocą @firebase/rules-unit-testing, co pozwala lokalnie weryfikować logikę zabezpieczeń za pomocą Firebase Local Emulator Suite.

Korzystanie z tych narzędzi wymaga wykonania 3 kroków opisanych w tej sekcji:

  1. Wygeneruj Security Rules i testy.

  2. Sprawdź Security Ruleswyniki weryfikacji i testów.

  3. Wdróż Security Rules w projekcie w 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, zapoznaj się z instrukcjami konfiguracji. Jeśli używasz interfejsu CLI, możesz włączyć umiejętności, uruchamiając to polecenie:

      npx skills add firebase/agent-skills --agent=antigravity
    • Inne agenty AI do kodowania: postępuj zgodnie z instrukcjami dotyczącymi umiejętności agentaserwera MCP.

  2. Uruchom asystenta AI (np. wpisz agy w terminalu, aby użyć interfejsu wiersza poleceń, lub otwórz aplikację na komputer).

  3. W katalogu głównym projektu poproś agenta o wygenerowanie Security Rulesw przypadku Cloud Firestore lub Cloud Storage w zależności od tego, jak agent AI do kodowania wchodzi w interakcję z promptami MCP:

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

      • Wygeneruj 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 wygenerowanego pliku Security Rules.

      • Wygeneruj 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 wygenerowanego pliku Security Rules.

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

      • Wygeneruj Security Rules dla Cloud Firestore:

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

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

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

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

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

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

  2. 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ś asystenta AI 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.md w katalogu rules_test lub storage_rules_test.

Krok 3. Wdróż Security Rules w projekcie w Firebase.

Gdy uznasz, że wygenerowany Security Rules jest odpowiedni, użyj tych poleceń interfejsu wiersza poleceń Firebase, aby wdrożyć Security Rules w projekcie w Firebase:

  • Cloud Firestore

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

    firebase deploy --only storage