Firebase Security Rules zapewniają solidną, w pełni konfigurowalną ochronę danych w usługach Cloud Firestore, Realtime Database i Cloud Storage. Możesz łatwo uzyskać zaczyna się od Rules, wykonując czynności opisane w tym przewodniku, aby zabezpieczyć danych i ochronie aplikacji przed szkodliwymi użytkownikami.
Poznaj język 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.
Realtime Database wykorzystuje składnię podobną do JavaScript i strukturę JSON w celu
Rules Opcjonalnie Cloud Firestore i Cloud Storage wykorzystują nadzbiór
języka CEL (Common Expression Language), który opiera się na językach match
i allow
instrukcje, które określają warunek dostępu w określonej ścieżce.
Dowiedz się więcej o języku Firebase Security Rules.
Skonfiguruj usługę Authentication
Jeśli nie zostało to zrobione wcześniej, zidentyfikuj użytkowników za pomocą Firebase Authentication. 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 Firestore możesz dodać pole oznaczające konkretną rolę dla każdego użytkownika. Dzięki temu reguły mogą odczytywać to pole i z niego korzystać w celu przyznania dostępu opartego na rolach.
Podczas definiowania architektury danych i reguł pamiętaj, że jeśli jakakolwiek reguła zezwala na dostęp do zbioru danych, Firebase Security Rules również zezwala na dostęp do tego zbioru. W Innymi słowy, nie można zawęzić dostępu w ścieżce podrzędnej, jeśli został on przyznany na wyższym poziomie w hierarchii danych.
Dostęp do reguł
Aby wyświetlić istniejące Rules, użyj interfejsu wiersza poleceń Firebase lub konsoli Firebase. Pamiętaj, aby w ten sam sposób edytować reguły, konsekwentnie, aby uniknąć przypadkowego zastępowania aktualizacji. 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 przejdź do Realtime Database, Cloud Firestore lub Miejsce na dane. Gdy znajdziesz się w odpowiedniej bazie danych lub pojemniku magazynu, kliknij Reguły.
Aby uzyskać dostęp do reguł z poziomu interfejsu wiersza poleceń Firebase, otwórz reguł zanotowanych w pliku firebase.json.
Napisać podstawowe zasady
W miarę rozwijania aplikacji i poznawania funkcji Rules wypróbuj wprowadzenie kilku podstawowych reguł zabezpieczeń, takich jak: przypadki użycia:
- Tylko właściciele treści: ograniczaj dostęp do treści przez użytkownika.
- 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ł
Aby w pełni zweryfikować działanie aplikacji i zweryfikować Firebase Security Rules
konfiguracji, użyj Emulatora Firebase, aby uruchomić i zautomatyzować jednostkę
w środowisku lokalnym.
Jeśli konfigurujesz Firebase Security Rules w konsoli Firebase, możesz użyć za pomocą symulatora reguł Firebase, aby szybko sprawdzić działanie. Możemy jednak zalecić dokładniejsze testy z użyciem emulatora Firebase 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ą.