Szybkie weryfikowanie reguł zabezpieczeń Firebase

Aby szybko przetestować zaktualizowane Firebase Security Rules w konsoli Firebase, użyj środowiska do testowania reguł.

Środowisko do testowania reguł to wygodne narzędzie, które możesz wykorzystać do testowania nowych zachowań lub szybkiego sprawdzania reguł podczas ich pisania. Wyświetla ono komunikat potwierdzający, że dostęp został przyznany lub odrzucony zgodnie z parametrami ustawionymi na potrzeby symulacji.

Korzystanie ze środowiska do testowania reguł

  1. Otwórz konsolę Firebase i wybierz projekt.
  2. Następnie w menu nawigacyjnym produktu wykonaj jedną z tych czynności:
    • Wybierz odpowiednio Realtime Database, Cloud Firestore lub Storage, a następnie kliknij Rules, aby przejść do Security Rules edytora.
  3. Po wprowadzeniu zmian kliknij w edytorze Środowisko do testowania reguł.
  4. W ustawieniach Środowiska do testowania reguł wybierz opcje testu, w tym:
    • Testowanie odczytów i zapisów.
    • Określoną lokalizację w bazie danych lub zasobniku pamięci jako ścieżkę.
    • Typ uwierzytelniania – nieuwierzytelniony, uwierzytelniony użytkownik anonimowy lub konkretny identyfikator użytkownika.
    • Dane dotyczące 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 Uruchom i sprawdź wyniki w banerze nad edytorem.

Przykładowy scenariusz w środowisku do testowania reguł

Przetestuj działanie środowiska do testowania reguł, korzystając z 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 Security 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 dane identyfikatora użytkownika i kliknij Uruchom.

Wyniki symulacji pojawią się u góry edytora. W zależności od wpisanych danych identyfikatora użytkownika powinien pojawić się baner potwierdzający, że odczyt został pomyślnie dozwolony lub odrzucony.