Pierwsze kroki z regułami zabezpieczeń Firebase

Firebase Security Rules zapewniają solidną, w pełni konfigurowalną ochronę danych w Cloud Firestore, Realtime Database i Cloud Storage. Możesz łatwo zacząć korzystać z Security Rules wykonując czynności opisane w tym przewodniku. Dzięki temu zabezpieczysz swoje dane i ochronisz aplikację przed złośliwymi użytkownikami.

Poznaj język Firebase Security Rules

Zanim zaczniesz pisać reguły, warto poświęcić trochę czasu na zapoznanie się z językiem Firebase Security Rules w przypadku używanych przez Ciebie usług Firebase. Realtime Database wykorzystuje składnię podobną do JavaScriptu i strukturę JSON w przypadku swoich Security Rules. Z kolei Cloud Firestore i Cloud Storage korzystają z nadzbioru języka Common Expression Language (CEL), który opiera się na match i allow instrukcjach określających warunek dostępu w zdefiniowanej ścieżce.

Więcej informacji o języku Firebase Security Rules.

Skonfiguruj Authentication

Jeśli jeszcze tego nie zrobisz, zidentyfikuj użytkowników za pomocą Firebase Authentication. Firebase Authentication obsługuje wiele popularnych metod uwierzytelniania i integruje się z Firebase Security Rules w celu zapewnienia kompleksowych możliwości weryfikacji.

Możesz skonfigurować dodatkowe, niestandardowe informacje o uwierzytelnianiu w aplikacji.

Więcej informacji o Firebase Security Rules i Firebase Authentication.

Zdefiniuj struktury danych i reguł

Sposób strukturyzacji danych może wpływać na sposób strukturyzacji i implementacji reguł. Podczas definiowania struktur danych zastanów się, jaki wpływ mogą one mieć na strukturę.Security Rules

Na przykład w Cloud Firestore możesz uwzględnić pole, które będzie oznaczać konkretną rolę każdego użytkownika. Następnie reguły mogą odczytywać to pole i używać go do przyznawania dostępu na podstawie roli.

Podczas definiowania architektury danych i reguł pamiętaj, że jeśli jakakolwiek reguła przyznaje dostęp do zbioru danych, Firebase Security Rules przyznaje dostęp do tego zbioru danych. Innymi słowy, nie możesz ograniczyć dostępu do podścieżki, jeśli przyznasz dostęp na wyższym poziomie w hierarchii danych.

Dostęp do reguł

Aby wyświetlić istniejące Security Rules, użyj interfejsu wiersza poleceń Firebase lub konsoli Firebase. Aby uniknąć przypadkowego zastąpienia aktualizacji, edytuj reguły zawsze tą samą metodą. Jeśli nie masz pewności czy zdefiniowane lokalnie reguły odzwierciedlają najnowsze aktualizacje, w konsoli Firebase zawsze wyświetla się najnowsza wdrożona wersja Firebase Security Rules.

Aby uzyskać dostęp do reguł w konsoli Firebase, wybierz projekt, a następnie kliknij Realtime Database, Cloud Firestore lub Storage. Gdy znajdziesz się w odpowiedniej bazie danych lub zasobniku, kliknij Reguły.

Aby uzyskać dostęp do reguł w interfejsie wiersza poleceń Firebase, otwórz plik reguł wymieniony w pliku firebase.json.

Tworzenie podstawowych reguł

Podczas tworzenia aplikacji i poznawania Security Rules spróbuj zaimplementować kilka podstawowych reguł zabezpieczeń, w tym te następujące przypadki użycia:

  • 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 na podstawie atrybutów: ogranicz dostęp do grupy lub typu użytkownika.

Testowanie reguł

Aby w pełni zweryfikować działanie aplikacji i sprawdzić konfiguracje Firebase Security Rules
, użyj emulatora Firebase do uruchamiania i automatyzowania testów jednostkowych w środowisku lokalnym.

Jeśli konfigurujesz Firebase Security Rules w konsoli Firebase, możesz użyć symulatora reguł Firebase, aby szybko sprawdzić działanie. Zanim jednak wdrożysz zmiany w środowisku produkcyjnym, zalecamy dokładniejsze testowanie za pomocą emulatora Firebase.

Wdrażanie reguł

Aby wdrożyć reguły w środowisku produkcyjnym, użyj konsoli Firebase lub interfejsu wiersza poleceń Firebase. Wykonaj czynności opisane w artykule Zarządzanie regułami zabezpieczeń Firebase i ich wdrażanieFirebase Security Rules.