Szybkie weryfikowanie reguł zabezpieczeń Firebase

Aby szybko przetestować zaktualizowany kod Firebase Security Rules w konsoli Firebase, użyj narzędzia Rules Playground.

Plac zabaw reguł to wygodne narzędzie, które możesz wykorzystać podczas poznawania nowych zachowań lub szybkiego sprawdzania reguł w trakcie ich pisania. Wyświetli komunikat potwierdzający, że dostęp został przyznany lub odrzucony zgodnie z parametrami ustawionymi w symulacji.

Korzystanie ze środowiska do testowania reguł

  1. Otwórz Firebasekonsolę i wybierz projekt.
  2. Następnie w menu usługi wykonaj jedną z tych czynności:
    • Wybierz Realtime Database, Cloud Firestore lub Pamięć, a następnie kliknij Reguły, aby otworzyć edytorRules.
  3. Po wprowadzeniu zmian kliknij Plac zabaw reguł w edytorze.
  4. W ustawieniach Placu zabaw dla reguł wybierz opcje testu, w tym:
    • Testowanie odczytów i zapisów.
    • Określona lokalizacja w bazie danych lub zasobniku pamięci w postaci ścieżki.
    • Typ uwierzytelniania – nieuwierzytelniony, uwierzytelniony anonimowy użytkownik lub konkretny identyfikator użytkownika.
    • Dane specyficzne dla dokumentu, do których odwołują się reguły (np. jeśli reguły wymagają obecności określonego pola przed zezwoleniem na zapis).
  5. Kliknij Wykonaj i sprawdź wyniki na banerze nad edytorem.

Przykładowy scenariusz w środowisku do testowania reguł

Sprawdź działanie placu zabaw reguł na podstawie tego przykładowego scenariusza i podstawowych reguł.

Cloud Firestore

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow only authenticated content owners access
    match /some_collection/{document} {
      allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
      }
    }
  }

Realtime Database

 // These rules grant access to a node matching the authenticated
 // user's ID from the Firebase auth token
 {
   "rules": {
     "users": {
       "$uid": {
         ".read": "$uid === auth.uid",
         ".write": "$uid === auth.uid"
       }
     }
   }
 }
 

Cloud Storage

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/file.txt"
    match /user/{userId}/{fileName} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • W edytorze Rules dodaj podaną regułę.

  • W menu Typ symulacji wybierz get i w polu Lokalizacja wpisz prawidłową ścieżkę.

  • Włącz Uwierzytelnianie i w menu Dostawca wybierz typ uwierzytelniania.

  • Wpisz szczegóły identyfikatora użytkownika i kliknij Uruchom.

Wyniki symulacji pojawią się u góry edytora. W zależności od wprowadzonych szczegółów identyfikatora użytkownika powinien pojawić się baner z potwierdzeniem, że odczyt został dozwolony lub odrzucony.