Zacznij korzystać z reguł bezpieczeństwa Firebase

Reguły bezpieczeństwa Firebase zapewniają solidną, w pełni konfigurowalną ochronę danych w Cloud Firestore, bazie danych czasu rzeczywistego i Cloud Storage. Możesz łatwo rozpocząć korzystanie z Reguł, postępując zgodnie z instrukcjami zawartymi w tym przewodniku, zabezpieczając swoje dane i chroniąc aplikację przed złośliwymi użytkownikami.

Zrozum język reguł zabezpieczeń Firebase

Zanim zaczniesz pisać reguły, warto poświęcić trochę czasu na zapoznanie się z konkretnym językiem reguł bezpieczeństwa Firebase dla produktów Firebase, których używasz. Baza danych Realtime wykorzystuje w swoich regułach składnię przypominającą JavaScript i strukturę JSON. Alternatywnie Cloud Firestore i Cloud Storage wykorzystują nadzbiór języka Common Expression Language (CEL), który opiera się na instrukcjach match i allow , które ustawiają warunek dostępu na określonej ścieżce.

Dowiedz się więcej o języku reguł zabezpieczeń Firebase .

Skonfiguruj uwierzytelnianie

Jeśli jeszcze tego nie zrobiłeś, zidentyfikuj swoich użytkowników za pomocą uwierzytelniania Firebase . Uwierzytelnianie Firebase obsługuje wiele popularnych metod uwierzytelniania i integruje się z regułami bezpieczeństwa Firebase, aby zapewnić kompleksowe możliwości weryfikacji.

Możesz skonfigurować dodatkowe, niestandardowe informacje uwierzytelniające dla swojej aplikacji.

Dowiedz się więcej o regułach bezpieczeństwa Firebase i uwierzytelnianiu Firebase .

Zdefiniuj struktury danych i reguł

Sposób strukturyzowania danych może mieć wpływ na strukturę i wdrażanie reguł. Definiując struktury danych, rozważ wpływ, jaki mogą one mieć na strukturę reguł.

Na przykład w Cloud Firestore możesz dołączyć pole wskazujące konkretną rolę każdego użytkownika. Następnie reguły będą mogły odczytać to pole i użyć go do przyznania dostępu opartego na rolach.

Definiując architekturę danych i reguł, pamiętaj, że jeśli jakakolwiek reguła zapewnia dostęp do zbioru danych, reguły zabezpieczeń Firebase zapewniają dostęp do tego zbioru danych. Innymi słowy, nie możesz zawęzić dostępu na ścieżce podrzędnej, jeśli przyznałeś dostęp na wyższym poziomie w hierarchii danych.

Uzyskaj dostęp do swoich zasad

Aby wyświetlić istniejące reguły, użyj interfejsu CLI Firebase lub konsoli Firebase. Pamiętaj, aby konsekwentnie edytować reguły przy użyciu tej samej metody, aby uniknąć omyłkowego nadpisania aktualizacji. Jeśli nie masz pewności, czy reguły zdefiniowane lokalnie odzwierciedlają najnowsze aktualizacje, konsola Firebase zawsze wyświetla najnowszą wdrożoną wersję reguł zabezpieczeń Firebase.

Aby uzyskać dostęp do reguł z konsoli Firebase , wybierz swój projekt, a następnie przejdź do Bazy danych czasu rzeczywistego , Cloud Firestore lub Magazynu . Kliknij Reguły , gdy znajdziesz się w odpowiedniej bazie danych lub zasobniku pamięci.

Aby uzyskać dostęp do reguł z poziomu interfejsu wiersza polecenia Firebase, przejdź do pliku reguł zapisanego w pliku firebase.json .

Napisz podstawowe zasady

Podczas tworzenia aplikacji i poznawania Reguł spróbuj wdrożyć kilka podstawowych Reguł zabezpieczeń , obejmujących następujące przypadki użycia:

  • Tylko właściciel treści: ograniczanie dostępu użytkownika do treści.
  • Dostęp mieszany: Ogranicz dostęp użytkownika do zapisu, ale zezwól na publiczny dostęp do odczytu.
  • Dostęp oparty na atrybutach: Ogranicz dostęp do grupy lub typu użytkownika.

Przetestuj swoje zasady

Aby w pełni zweryfikować zachowanie aplikacji i zweryfikować reguły bezpieczeństwa Firebase
konfiguracje, użyj emulatora Firebase , aby uruchomić i zautomatyzować testy jednostkowe w środowisku lokalnym.

Jeśli konfigurujesz reguły zabezpieczeń Firebase w konsoli Firebase, możesz użyć symulatora reguł Firebase , aby szybko sprawdzić zachowanie. Zalecamy jednak dokładniejsze przetestowanie za pomocą emulatora Firebase przed wdrożeniem zmian w środowisku produkcyjnym.

Wdrażaj reguły

Użyj konsoli Firebase lub interfejsu wiersza polecenia Firebase, aby wdrożyć reguły w środowisku produkcyjnym. Wykonaj kroki opisane w artykule Zarządzanie i wdrażanie reguł zabezpieczeń Firebase .