Pierwsze kroki z regułami zabezpieczeń Firebase

Reguły zabezpieczeń Firebase zapewniają solidną, w pełni konfigurowalną ochronę danych w Cloud Firestore, Realtime Database, i Cloud Storage. Aby zacząć korzystać z Security Rules wykonaj czynności opisane w tym przewodniku. Dzięki temu zabezpieczysz swoje dane i ochronisz 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 w przypadku Security Rules używa składni podobnej do JavaScriptu i struktury JSON.

Zacznij od poznania podstawowej składni języka reguł zabezpieczeń Firebase.

Skonfiguruj Authentication

Jeśli jeszcze tego nie zrobisz, dodaj Firebase Authentication do aplikacji. Firebase Authentication obsługuje wiele popularnych metod uwierzytelniania i integruje się z regułami zabezpieczeń Firebase, zapewniając kompleksowe możliwości weryfikacji.

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

Dowiedz się więcej o regułach zabezpieczeń Firebase i Firebase Authentication.

Zdefiniuj struktury danych i reguł

Zdefiniuj dane na potrzeby zabezpieczeń

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 Realtime Database 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 o tym, jak reguły są kaskadowe lub niekaskadowe w zależności od usługi. W przypadku Realtime Database, reguły działają od góry do dołu, a reguły na wyższym poziomie zastępują reguły na niższym poziomie. Jeśli reguła przyznaje uprawnienia do odczytu lub zapisu w określonej ścieżce, przyznaje też dostęp do wszystkich węzłów podrzędnych. Z kolei w przypadku Cloud Firestore i Cloud Storage reguły obowiązują tylko na określonych poziomach hierarchii danych, a dostęp do różnych poziomów kontrolujesz za pomocą jawnych reguł.

Dostęp do reguł

Aby wyświetlić dotychczasowe 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 reguł zabezpieczeń Firebase.

Aby uzyskać dostęp do reguł w Firebase konsoli, wybierz swój projekt, a następnie w panelu użytkownika po lewej stronie kliknij Baza danych czasu rzeczywistego. Gdy znajdziesz się w odpowiedniej bazie danych lub zasobniku, kliknij Security Rules.

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

Tworzenie podstawowych reguł

Podczas tworzenia aplikacji i poznawania Security Rules spróbuj wdrożyć Security Rules, 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 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ć piaskownicy reguł Firebase, aby szybko sprawdzić ich działanie. Zanim jednak wdrożysz zmiany w środowisku produkcyjnym, zalecamy dokładniejsze testowanie za pomocą Local Emulator Suite.

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żanie.