Catch up on highlights from Firebase at Google I/O 2023. Learn more

Zacznij korzystać z reguł zabezpieczeń Firebase

Reguły bezpieczeństwa Firebase zapewniają solidną, w pełni konfigurowalną ochronę Twoich danych w Cloud Firestore, Realtime Database i Cloud Storage. Możesz łatwo rozpocząć korzystanie z Reguł, wykonując czynności opisane w tym przewodniku, zabezpieczając swoje dane i chroniąc aplikację przed złośliwymi użytkownikami.

Zrozumieć język Reguł bezpieczeństwa Firebase

Zanim zaczniesz pisać reguły, warto poświęcić trochę czasu na przejrzenie konkretnego języka Reguł bezpieczeństwa Firebase dla używanych produktów Firebase. Cloud Storage wykorzystuje nadzbiór języka Common Expression Language (CEL), który opiera się na match i allow , które określają warunek dostępu w zdefiniowanej ścieżce.

Zacznij od poznania podstawowej składni języka Firebase Security Rules .

Skonfiguruj uwierzytelnianie

Jeśli jeszcze tego nie zrobiłeś, dodaj uwierzytelnianie Firebase do swojej aplikacji . Uwierzytelnianie Firebase obsługuje wiele popularnych metod uwierzytelniania i integruje się z Regułami bezpieczeństwa Firebase, aby zapewnić wszechstronne możliwości weryfikacji.

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

Dowiedz się więcej o Regułach bezpieczeństwa Firebase i Uwierzytelnianiu Firebase .

Zdefiniuj swoje struktury danych i reguł

Sposób, w jaki ustrukturyzujesz swoje dane, może wpłynąć na sposób ustrukturyzowania i wdrożenia reguł. Podczas definiowania struktur danych należy wziąć pod uwagę wpływ, jaki mogą one mieć na strukturę reguł.

Na przykład w Cloud Storage możesz chcieć dołączyć pole określające określoną rolę dla każdego użytkownika. Następnie Twoje reguły mogą odczytywać to pole i używać go do przyznawania dostępu opartego na rolach. Możesz także utworzyć bazę danych Cloud Firestore, przechowywać kryteria dostępu w dokumentach Cloud Firestore, a następnie uzyskiwać dostęp do tych dokumentów z Cloud Storage Security Rules.

Definiując architekturę danych i reguł, pamiętaj o tym, w jaki sposób reguły kaskadują się lub nie kaskadują, w zależności od produktu. W bazie danych czasu rzeczywistego reguły działają od góry do dołu, przy czym płytsze reguły zastępują głębsze reguły. Jeśli reguła przyznaje uprawnienia do odczytu lub zapisu w określonej ścieżce, przyznaje również dostęp do wszystkich węzłów podrzędnych pod nią. W przeciwieństwie do Cloud Firestore i Cloud Storage, reguły obowiązują tylko na określonych poziomach hierarchii danych, a ty piszesz wyraźne reguły, aby kontrolować dostęp do różnych poziomów.

Uzyskaj dostęp do swoich zasad

Aby wyświetlić istniejące reguły, użyj interfejsu wiersza polecenia Firebase lub konsoli Firebase. Upewnij się, że edytujesz swoje reguły przy użyciu tej samej metody, konsekwentnie, aby uniknąć omyłkowego nadpisania aktualizacji. Jeśli nie masz pewności, czy Twoje reguły zdefiniowane lokalnie odzwierciedlają najnowsze aktualizacje, konsola Firebase zawsze pokazuje najnowszą wdrożoną wersję Reguł bezpieczeństwa Firebase.

Aby uzyskać dostęp do reguł z konsoli Firebase , wybierz swój projekt, a następnie w panelu nawigacyjnym po lewej stronie kliknij Pamięć . Kliknij Reguły , gdy znajdziesz się we właściwej bazie danych lub zasobniku pamięci.

Aby uzyskać dostęp do swoich reguł z Firebase CLI, przejdź do pliku reguł zapisanego w pliku firebase.json .

Napisz podstawowe zasady

Tworząc aplikację i zapoznając się z Regułami, spróbuj zaimplementować Reguły, aby rozwiązać kilka podstawowych przypadków użycia , w tym te:

  • Tylko właściciel treści: ogranicz dostęp do treści dla użytkownika.
  • Dostęp mieszany: ogranicz dostęp użytkownika do zapisu, ale zezwól na publiczny dostęp do odczytu.
  • Dostęp oparty na atrybutach: Ogranicz dostęp do grupy lub typu użytkownika.

Przetestuj swoje zasady

Jeśli konfigurujesz reguły bezpieczeństwa Firebase w konsoli Firebase, możesz użyć Firebase Rules Playground , aby szybko zweryfikować zachowanie. Zalecamy jednak dokładniejsze przetestowanie za pomocą pakietu Local Emulator Suite przed wdrożeniem zmian w środowisku produkcyjnym.

Zasady wdrażania

Użyj konsoli Firebase lub Firebase CLI, aby wdrożyć swoje reguły w środowisku produkcyjnym. Wykonaj czynności opisane w artykule Zarządzanie i wdrażanie reguł bezpieczeństwa Firebase .