Pierwsze kroki z regułami zabezpieczeń Firebase

Firebase Security Rules zapewniają solidną, w pełni konfigurowalną ochronę danych w Cloud Firestore, Realtime DatabaseCloud 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.

zrozumieć 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 używanym w usługach Firebase, z których korzystasz. Realtime Database używa składni podobnej do JavaScript i struktury JSON do Rules. Zamiast tego Cloud Firestore i Cloud Storage korzystają z superzbioru języka Common Expression Language (CEL), który opiera się na instrukcjach match i allow, które określają warunek dostępu na 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, zapewniając kompleksowe możliwości weryfikacji.

Możesz skonfigurować dodatkowe, niestandardowe informacje uwierzytelniające dla swojej aplikacji.

Dowiedz się więcej o Firebase Security RulesFirebase Authentication.

Definiowanie struktur danych i reguł

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 Cloud Firestore możesz uwzględnić pole oznaczające konkretną rolę dla każdego użytkownika. Następnie reguły mogą odczytać to pole i wykorzystać je do przyznania dostępu opartego na roli.

Podczas definiowania architektury danych i reguł pamiętaj, że jeśli jakakolwiek reguła przyznaje dostęp do zbioru danych, Firebase Security Rules również przyznaje do niego dostęp. Innymi słowy, nie możesz zawęzić dostępu na ścieżce podrzędnej, jeśli przyznałeś dostęp 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. Aby uniknąć przypadkowego zastąpienia aktualizacji, edytuj reguły, używając tej samej metody. Jeśli nie masz pewności, czy zdefiniowane lokalnie reguły odzwierciedlają najnowsze zmiany, konsola Firebase zawsze pokazuje najnowszą wersję Firebase Security Rules.

Aby uzyskać dostęp do reguł w konsoli Firebase, wybierz projekt, a potem przejdź do Realtime Database, Cloud Firestore lub Przechowywanie danych. Gdy znajdziesz się w odpowiedniej bazie danych lub pojemniku magazynu, kliknij Reguły.

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 zasad Rules warto wdrożyć kilka podstawowych reguł zabezpieczeń, w tym te:

  • 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ł

Aby w pełni sprawdzić działanie aplikacji i skonfigurować Firebase Security Rules
, użyj emulatora Firebase do uruchamiania i automatyzacji 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. Przed wdrożeniem zmian w produkcji zalecamy jednak przeprowadzenie bardziej dokładnych testów za pomocą emulatora Firebase.

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 i wdrażanie Firebase Security Rules.