Prompt AI: napisz reguły zabezpieczeń Firebase

Ten prompt może pomóc asystentowi AI (np. Gemini CLI) w generowaniu i dopracowywaniu Firebase Security Rules w 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 testuj 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. 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 na podstawie zasady 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 z użyciem @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 testów.

  3. Wdróż Security Rules w projekcie w 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 MCP Firebase.

    • 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 w Firebase.

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

  • Cloud Firestore

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

    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.