Reguły bezpieczeństwa Firebase

Skorzystaj z naszych elastycznych, rozszerzalnych reguł bezpieczeństwa Firebase, aby zabezpieczyć swoje dane w Cloud Firestore, Firebase Realtime Database i Cloud Storage.

Reguły bezpieczeństwa Firebase stoją pomiędzy Twoimi danymi a złośliwymi użytkownikami. Możesz napisać proste lub złożone reguły, które chronią dane aplikacji do poziomu szczegółowości wymaganego przez Twoją aplikację.

Reguły bezpieczeństwa Firebase wykorzystują rozszerzalne, elastyczne języki konfiguracji, aby określić, do jakich danych użytkownicy mogą uzyskać dostęp w bazach danych Realtime Database, Cloud Firestore i Cloud Storage. Reguły bezpieczeństwa bazy danych Firebase Realtime wykorzystują JSON w definicjach reguł, podczas gdy reguły bezpieczeństwa Cloud Firestore i reguły bezpieczeństwa Firebase dla Cloud Storage wykorzystują unikalny język zbudowany w celu obsługi bardziej złożonych struktur specyficznych dla reguł.

Dowiedz się więcej o tym, jak skonfigurować reguły dla konkretnych produktów Firebase, których używasz w swojej aplikacji, oraz o tym, jak zachowanie reguł różni się w poszczególnych produktach Firebase.

Kluczowe możliwości

Elastyczność Napisz niestandardowe reguły, które mają sens dla struktury i zachowania Twojej aplikacji. Reguły korzystają z języków, które umożliwiają wykorzystanie własnych danych w celu autoryzacji dostępu.
Szczegółowość Twoje reguły mogą być tak szerokie lub tak wąskie, jak potrzebujesz.
Niezależne bezpieczeństwo Ponieważ reguły są definiowane poza aplikacją (w konsoli Firebase lub interfejsie wiersza poleceń Firebase), klienci nie są odpowiedzialni za egzekwowanie bezpieczeństwa, błędy nie naruszają bezpieczeństwa danych, a Twoje dane są zawsze chronione.

Jak oni pracują?

Reguły bezpieczeństwa Firebase działają poprzez dopasowywanie wzorca do ścieżek bazy danych, a następnie stosowanie niestandardowych warunków, aby umożliwić dostęp do danych w tych ścieżkach. Wszystkie reguły w produktach Firebase zawierają komponent dopasowywania ścieżek i instrukcję warunkową umożliwiającą dostęp do odczytu lub zapisu. Musisz zdefiniować reguły dla każdego produktu Firebase, którego używasz w swojej aplikacji.

W przypadku Cloud Firestore i Cloud Storage reguły mają następującą składnię:

service <<name>> {
  // Match the resource path.
  match <<path>> {
    // Allow the request if the following conditions are true.
    allow <<methods>> : if <<condition>>
  }
}

W przypadku bazy danych czasu rzeczywistego reguły oparte na formacie JSON korzystają z następującej składni:

{
  "rules": {
    "<<path>>": {
    // Allow the request if the condition for each method is true.
      ".read": <<condition>>,
      ".write": <<condition>>
    }
  }
}

Reguły są stosowane jako instrukcje OR , a nie AND . W rezultacie, jeśli do ścieżki pasuje wiele reguł i którykolwiek z dopasowanych warunków zapewnia dostęp, Reguły zapewniają dostęp do danych na tej ścieżce. Dlatego jeśli ogólna reguła zapewnia dostęp do danych, nie można ograniczyć bardziej szczegółową regułą. Możesz jednak uniknąć tego problemu, upewniając się, że reguły nie nakładają się zbytnio na siebie. Flaga reguł bezpieczeństwa Firebase nakłada się na dopasowane ścieżki jako ostrzeżenia kompilatora.

Reguły bezpieczeństwa Firebase mogą również wykorzystywać uwierzytelnianie do przyznawania uprawnień użytkownikom, a ustawione warunki mogą być bardzo proste lub niezwykle złożone. Zanim zaczniesz pisać Reguły, dowiedz się więcej o języku i zachowaniu Reguł.

Ścieżka realizacji

Zintegruj zestawy SDK produktu Skonfiguruj Cloud Firestore , Cloud Storage lub Bazę danych czasu rzeczywistego dla swojej aplikacji.
Napisz reguły bezpieczeństwa Firebase Dowiedz się więcej o działaniu reguł i skonfiguruj kilka podstawowych reguł
Przetestuj reguły bezpieczeństwa Firebase Użyj emulatorów Realtime Database i Cloud Firestore, aby przetestować zachowanie aplikacji i zweryfikować reguły przed wdrożeniem ich w środowisku produkcyjnym.
Wdróż reguły zabezpieczeń Firebase Użyj konsoli Firebase lub interfejsu wiersza polecenia Firebase, aby wdrożyć reguły w środowisku produkcyjnym.

Następne kroki