Reguły zabezpieczeń Firebase zapewniają niezawodną i całkowicie konfigurowalną ochronę danych w 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.
Poznaj język reguł zabezpieczeń Firebase
Zanim zaczniesz pisać reguły, warto poświęcić trochę czasu na zapoznanie się z językiem reguł zabezpieczeń Firebase w przypadku używanych przez Ciebie usług Firebase. Realtime Database używa składni podobnej do JavaScript i struktury JSON do Rules.
Zacznij od zapoznania się z podstawową składnią języka reguł zabezpieczeń Firebase.
Skonfiguruj usługę Authentication
Jeśli jeszcze tego nie zrobiono, dodaj do aplikacji Firebase Authentication. Firebase Authentication obsługuje wiele popularnych metod uwierzytelniania i integruje się z regułami zabezpieczeń Firebase, co zapewnia kompleksowe możliwości weryfikacji.
Możesz skonfigurować dodatkowe, niestandardowe informacje uwierzytelniające dla swojej aplikacji.
Dowiedz się więcej o regułach zabezpieczeń Firebase i Firebase Authentication.
Definiowanie struktur danych i reguł
Określanie danych na potrzeby bezpieczeństwa
Sposób uporządkowania danych może wpływać na sposób uporządkowania i wdrażania reguł. Podczas definiowania struktur danych zastanów się, jakie mogą mieć one konsekwencje dla struktury Rules.
Na przykład w Realtime Database możesz uwzględnić pole, które oznacza konkretną rolę dla każdego użytkownika. Następnie reguły mogą odczytać to pole i użyć go do przyznania dostępu na podstawie roli.
Podczas definiowania architektury danych i reguł pamiętaj o tym, że reguły mogą być stosowane kaskadowo lub nie, w zależności od usługi. W przypadku Realtime Database reguły działają od góry do dołu, a reguły z poziomu wyższego poziomu zastępują reguły z poziomu niższego. Jeśli reguła przyznaje uprawnienia do odczytu lub zapisu na określonej ścieżce, przyznaje też dostęp do wszystkich podrzędnych węzłów poniżej. 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 zdefiniowane przez Ciebie reguły odzwierciedlają najnowsze aktualizacje, pamiętaj, że konsola Firebase zawsze wyświetla najnowszą wersję reguł zabezpieczeń Firebase.
Aby uzyskać dostęp do reguł w konsoli Firebase, wybierz swój projekt, a potem w panelu nawigacyjnym po lewej stronie kliknij Baza danych w czasie rzeczywistym. Gdy znajdziesz się w prawidłowej bazie danych lub zasobniku na dane, kliknij Rules.
Aby uzyskać dostęp do reguł z poziomu wiersza poleceń Firebase, otwórz plik reguł podany w pliku firebase.json.
Pisanie podstawowych reguł
Podczas tworzenia aplikacji i poznawania Rules spróbuj zaimplementować Rules, aby uwzględnić kilka podstawowych przypadków użycia, takich jak:
- Tylko właściciele treści: ograniczaj dostęp do treści przez użytkownika.
- Dostęp mieszany: ogranicz dostęp do zapisu przez użytkownika, ale zezwól na publiczny dostęp do odczytu.
- Dostęp na podstawie atrybutów: ogranicz dostęp do grupy lub typu użytkownika.
Testowanie reguł
Jeśli konfigurujesz reguły zabezpieczeń Firebase w konsoli Firebase, możesz użyć placu zabaw Reguł Firebase, aby szybko sprawdzić ich działanie. Zalecamy jednak dokładniejsze przetestowanie Local Emulator Suite przed wdrożeniem zmian w wersji produkcyjnej.
Wdrażanie reguł
Aby wdrożyć reguły w produkcji, użyj konsoli Firebase lub interfejsu wiersza poleceń Firebase. Wykonaj czynności opisane w artykule Zarządzanie regułami zabezpieczeń Firebase i ich wdrażanie.