Zacznij korzystać z reguł zabezpieczeń Firebase

Reguły zabezpieczeń 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ł, wykonując czynności opisane w tym przewodniku, zabezpieczając swoje dane i chroniąc aplikację przed złośliwymi użytkownikami.

Poznaj język reguł zabezpieczeń Firebase

Zanim zaczniesz pisać reguły, warto poświęcić trochę czasu na zapoznanie się z konkretnym językiem reguł zabezpieczeń Firebase dla używanych produktów Firebase. Baza danych czasu rzeczywistego wykorzystuje składnię podobną do JavaScript i strukturę JSON dla swoich reguł.

Zacznij od poznania podstawowej składni języka reguł zabezpieczeń Firebase .

Skonfiguruj uwierzytelnianie

Jeśli jeszcze tego nie zrobiłeś, dodaj do swojej aplikacji Uwierzytelnianie Firebase . Uwierzytelnianie Firebase obsługuje wiele popularnych metod uwierzytelniania i integruje się z regułami zabezpieczeń Firebase, zapewniając wszechstronne możliwości weryfikacji.

Możesz skonfigurować dodatkowe, niestandardowe informacje uwierzytelniania dla swojej aplikacji.

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

Zdefiniuj swoje dane i struktury reguł

Zdefiniuj dane dla bezpieczeństwa

Sposób, w jaki ustrukturyzujesz swoje dane, może wpłynąć na sposób, w jaki ustrukturyzujesz i zaimplementujesz swoje reguły. Definiując struktury danych, rozważ implikacje, jakie mogą one mieć na strukturę Reguł.

Na przykład w Bazie danych czasu rzeczywistego możesz chcieć dołączyć pole określające określoną rolę dla każdego użytkownika. Następnie Twoje reguły mogą odczytywać to pole i używać go do przyznawania dostępu opartego na rolach.

Definiując architekturę danych i reguł, pamiętaj, w jaki sposób reguły kaskadują się lub nie, w zależności od produktu. Dzięki Bazie danych czasu rzeczywistego reguły działają od góry do dołu, przy czym płytsze reguły zastępują głębsze reguły. Jeśli reguła przyznaje uprawnienia do odczytu lub zapisu w określonej ścieżce, przyznaje również dostęp do wszystkich węzłów podrzędnych pod nią. W przeciwieństwie do Cloud Firestore i Cloud Storage reguły obowiązują tylko na określonych poziomach hierarchii danych, a Ty piszesz jawne reguły, aby kontrolować dostęp do różnych poziomów.

Uzyskaj dostęp do swoich zasad

Aby wyświetlić istniejące reguły, użyj interfejsu wiersza polecenia Firebase lub konsoli Firebase. Upewnij się, że edytujesz swoje reguły konsekwentnie tą samą metodą, aby uniknąć błędnego 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 projekt, a następnie w panelu nawigacyjnym po lewej stronie kliknij Baza danych czasu rzeczywistego . Kliknij Reguły , gdy znajdziesz się we właściwej bazie danych lub zasobniku na dane.

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

Napisz podstawowe zasady

Podczas opracowywania aplikacji i poznawania reguł spróbuj zaimplementować Reguły, aby rozwiązać kilka podstawowych przypadków użycia , w tym:

  • Tylko właściciel treści: Ogranicz dostęp do treści według użytkownika.
  • Dostęp mieszany: ogranicz dostęp do zapisu według użytkownika, 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

Jeśli konfigurujesz reguły zabezpieczeń Firebase w konsoli Firebase, możesz użyć Placu zabaw reguł Firebase , aby szybko zweryfikować zachowanie. Zalecamy jednak dokładniejsze testowanie za pomocą lokalnego pakietu emulatorów przed wdrożeniem zmian w środowisku produkcyjnym.

Wdrażanie reguł

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