Firebase Security Rules zapewnia solidną, w pełni spersonalizowaną ochronę danych Cloud Firestore, Realtime Database i Cloud Storage. Aby zacząć korzystać z Rules, wystarczy wykonać czynności opisane w tym przewodniku. Dzięki temu zabezpieczysz swoje dane i aplikację przed złośliwymi użytkownikami.
Rozumienie języka Firebase Security Rules
Zanim zaczniesz pisać reguły, poświęć trochę czasu na ich zapoznanie
konkretny język Firebase Security Rules dla usług Firebase, z których korzystasz.
Cloud Storage korzysta z superzestawu języka Common Expression Language (CEL), który opiera się na instrukcjach match
i allow
, które określają warunek dostępu na zdefiniowanej ścieżce.
Zacznij od poznania głównej składni języka Firebase Security Rules.
Skonfiguruj usługę Authentication
Dodaj Firebase Authentication do aplikacji, jeśli jeszcze nie zostało to zrobione. Firebase Authentication obsługuje wiele popularnych metod uwierzytelniania i integruje się z Firebase Security Rules, aby zapewnić kompleksowe możliwości weryfikacji.
Możesz skonfigurować dodatkowe, niestandardowe informacje uwierzytelniające dla swojej aplikacji.
Dowiedz się więcej o Firebase Security Rules i Firebase Authentication.
Definiowanie struktury danych i reguł
Struktura danych może wpływać na należy wdrożyć reguły. Definiując struktury danych, weź pod uwagę i ich wpływ na strukturę w Rules.
Na przykład w Cloud Storage możesz dodać pole określające konkretną rolę każdego użytkownika. Dzięki temu reguły mogą odczytywać i użyj go do przyznawania dostępu na podstawie roli. Możesz też utworzyć bazę danych Cloud Firestore, przechowywać kryteria dostępu w dokumentach Cloud Firestore, a następnie uzyskiwać dostęp do tych dokumentów z poziomu Cloud Storage Security Rules.
Definiując architektury danych i reguł, zwróć uwagę na to, mogą być kaskadowe lub nie kaskadowe, zależnie od produktu. Realtime Database, reguły działają od góry, a bardziej szczegółowe reguły zastępują te mniej zaawansowane. Jeśli przyznaje uprawnienia do odczytu lub zapisu w określonej ścieżce, a także do wszystkich podrzędnych węzłów. Z kolei w przypadku zasad Cloud Firestore i Cloud Storage reguły są stosowane tylko na określonych poziomach hierarchii danych, a Ty piszesz wyraźne reguły, aby kontrolować dostęp do poszczególnych poziomów.
Dostęp do reguł
Aby wyświetlić istniejące Rules, użyj interfejsu wiersza poleceń Firebase lub konsoli Firebase. Aby uniknąć przypadkowego zastąpienia aktualizacji, edytuj reguły, używając tej samej metody. Jeśli nie masz pewności czy reguły zdefiniowane lokalnie odzwierciedlają najnowsze aktualizacje, konsola zawsze wyświetla ostatnio wdrożoną wersję systemu Firebase Security Rules.
Aby uzyskać dostęp do reguł w konsoli Firebase, wybierz projektu, a następnie w panelu użytkownika po lewej stronie kliknij Miejsce na dane. Gdy już to zrobisz, kliknij Rules. we właściwym zasobniku danych lub zasobniku na dane.
Aby uzyskać dostęp do reguł z poziomu wiersza poleceń Firebase, otwórz plik reguł podany w pliku firebase.json.
Napisać podstawowe zasady
W miarę rozwijania aplikacji i poznawania funkcji Rules wypróbuj Wdrożenie Rules w kilku podstawowych przypadkach użycia, w tym:
- Tylko właściciel treści: ogranicza dostęp do treści według użytkowników.
- Dostęp mieszany: ograniczanie uprawnień do zapisu poszczególnym użytkownikom i jednoczesne zezwalanie na publiczny dostęp z uprawnieniami do odczytu.
- Dostęp na podstawie atrybutu: ogranicza dostęp do grupy lub typu użytkownika.
Testowanie reguł
Jeśli konfigurujesz Firebase Security Rules w konsoli Firebase, możesz użyć za pomocą platformy Firebase do zarządzania regułami zachowanie użytkownika. Zalecamy jednak dokładniejsze testy – Local Emulator Suite przed wdrożeniem i wprowadza zmiany w ścieżce produkcyjnej.
Wdrażanie reguł
Wdróż reguły za pomocą konsoli Firebase lub interfejsu wiersza poleceń Firebase do produkcji. Wykonaj czynności opisane w Wdróż aplikację Firebase Security Rules i zarządzaj nią.