Pierwsze kroki z regułami zabezpieczeń Firebase

Reguły zabezpieczeń Firebase zapewniają solidną i w pełni konfigurowalną ochronę danych w Cloud Firestore, Bazie danych czasu rzeczywistego i Cloud Storage. Aby łatwo zacząć korzystać z reguł, wykonaj czynności opisane w tym przewodniku, aby zabezpieczyć swoje dane i chronić aplikację przed złośliwymi użytkownikami.

Omówienie języka reguł zabezpieczeń Firebase

Zanim zaczniesz pisać reguły, poświęć trochę czasu na zapoznanie się z językami reguł zabezpieczeń Firebase dla używanych przez Ciebie usług Firebase. Cloud Storage korzysta z zestawu nadrzędnego języka CEL (Common Expression Language), który opiera się na instrukcjach match i allow, które określają warunek dostępu na określonej ścieżce.

Zacznij od poznania głównej składni języka reguł zabezpieczeń Firebase.

Skonfiguruj uwierzytelnianie

Dodaj Uwierzytelnianie Firebase do swojej aplikacji, jeśli jeszcze z niego nie korzystasz. Uwierzytelnianie Firebase obsługuje wiele popularnych metod uwierzytelniania i integruje się z regułami zabezpieczeń Firebase, aby zapewnić 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 Uwierzytelnianiu Firebase.

Definiowanie struktury danych i reguł

Sposób, w jaki uporządkujesz dane, może wpłynąć na sposób tworzenia struktury i wdrażania reguł. Definiując struktury danych, zastanów się, jaki wpływ mogą one mieć na strukturę reguł.

W Cloud Storage można na przykład uwzględnić pole oznaczające konkretną rolę każdego użytkownika. Dzięki temu reguły mogą odczytywać to pole i używać go do przyznawania dostępu opartego na rolach. Możesz też utworzyć bazę danych Cloud Firestore, zapisać kryteria dostępu w dokumentach Cloud Firestore, a następnie uzyskać dostęp do tych dokumentów za pomocą reguł zabezpieczeń Cloud Storage.

Definiując architektury danych i reguł, pamiętaj, że reguły działają kaskadowo lub nie kaskadowo, w zależności od usługi. W Bazie danych czasu rzeczywistego reguły działają od góry, a bardziej szczegółowe reguły zastępują te mniej szczegółowe. Jeśli reguła przyznaje uprawnienia do odczytu lub zapisu w określonej ścieżce, przyznaje też dostęp do wszystkich jej podrzędnych węzłów. Z kolei w Cloud Firestore i Cloud Storage reguły są stosowane tylko na określonych poziomach w hierarchii danych, a dodatkowo tworzysz jawne reguły kontrolujące dostęp na różnych poziomach.

Dostęp do reguł

Aby wyświetlić istniejące reguły, użyj interfejsu wiersza poleceń Firebase lub konsoli Firebase. Pamiętaj, aby w spójny sposób edytować reguły w ten sam sposób, aby uniknąć przypadkowego zastąpienia aktualizacji. Jeśli nie masz pewności, czy Twoje lokalnie zdefiniowane reguły odzwierciedlają najnowsze aktualizacje, w konsoli Firebase zawsze wyświetla się ostatnia wdrożona wersja reguł zabezpieczeń Firebase.

Aby uzyskać dostęp do reguł w konsoli Firebase, wybierz swój projekt, a potem w panelu użytkownika po lewej stronie kliknij Miejsce na dane. Po przejściu do właściwego zasobnika na dane lub bazy danych kliknij Reguły.

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

Napisać podstawowe zasady

Tworząc aplikację i zapoznając się z regułami, spróbuj wdrożyć reguły, by rozwiązać kilka podstawowych przypadków użycia. Oto niektóre z nich:

  • Tylko właściciel treści: ogranicza dostęp do treści według użytkowników.
  • 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ł

Jeśli konfigurujesz reguły zabezpieczeń Firebase w konsoli Firebase, możesz szybko sprawdzić ich działanie, korzystając z Playground reguł Firebase. Zalecamy jednak przeprowadzenie bardziej dokładnych testów w Pakietie emulatorów lokalnych przed wdrożeniem zmian w środowisku produkcyjnym.

Wdrażanie reguł

Użyj konsoli Firebase lub interfejsu wiersza poleceń Firebase, aby wdrożyć reguły w środowisku produkcyjnym. Wykonaj czynności opisane w artykule Wdrażanie reguł zabezpieczeń Firebase i zarządzanie nimi.