Prompt AI: napisz reguły zabezpieczeń Firebase

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

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ż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 Rulesrozszerzeniu 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 FirestoreCloud 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:

  1. Wygeneruj Security Rules i testy.

  2. Sprawdź Security Ruleswyniki weryfikacji i testu.

  3. Wdróż Security Rules w projekcie Firebase.

Krok 1: wygeneruj Security Rules i testy

Zainstaluj i uruchom rozszerzenie:

  1. Zainstaluj rozszerzenie Firebase dla Gemini CLI:

    gemini extensions install https://github.com/gemini-cli-extensions/firebase
  2. Rozpoczęcie: Gemini CLI

    gemini
  3. W 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_rules

      W katalogu nadrzędnym rozszerzenie 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:

      /storage:generate_security_rules

      W katalogu nadrzędnym rozszerzenie tworzy plik storage.rules i nowy katalog security_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

  1. 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_rules z serwera Firebase MCP.

    • Testy jednostkowe: po sprawdzeniu składni Gemini CLI 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ś 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.md w katalogu rules_test lub storage_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:rules
  • Cloud 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.