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 produktów Firebase, których używasz. Cloud Storage wykorzystuje nadzbiór języka Common Expression Language (CEL), który opiera się na match
i allow
instrukcje, które ustawiają warunek dostępu na zdefiniowanej ścieżce.
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ł
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 Cloud Storage możesz chcieć dołączyć pole, które określa 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. Możesz także utworzyć bazę danych Cloud Firestore, przechowywać kryteria dostępu w dokumentach Cloud Firestore, a następnie uzyskać dostęp do tych dokumentów z reguł bezpieczeństwa Cloud Storage.
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 Pamięć . 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 .