Firebase Security Rules

Używaj naszych elastycznych reguł zabezpieczeń Firebase, aby zabezpiecz Twoje dane w usługach Cloud Firestore, Firebase Realtime Database i Cloud Storage

Firebase Security Rules dzielą Twoje dane od złośliwych użytkowników. Możesz napisać prostą albo złożonych reguł, które chronią dane aplikacji do poziomu szczegółowości, wymaga konkretnej aplikacji.

Firebase Security Rules dźwignia elastycznych języków konfiguracji umożliwiających określenie, jakie dane ma dostęp w usługach Realtime Database, Cloud Firestore i Cloud Storage. Firebase Realtime Database Security Rules wykorzystują JSON w definicjach reguł, a Cloud Firestore Security Rules i Firebase Security Rules w domenie Cloud Storage wykorzystują unikalne stworzony z myślą o bardziej złożonych strukturach specyficznych dla reguł.

Więcej informacji o tym, jak skonfigurować Rules dla poszczególnych usług Firebase , których używasz w swojej aplikacji, i czym różni się działanie Rules w różnych Firebase usług.

Najważniejsze funkcje

Elastyczność Napisz reguły niestandardowe, które mają sens w przypadku struktury i działania Twojej aplikacji. Rules używa języków, które umożliwiają wykorzystywanie własnych danych w celu autoryzowania dostępu.
Szczegółowość Reguły mogą być tak ogólne, jak i bardzo wąskie.
Niezależne zabezpieczenia Ponieważ Rules są zdefiniowane poza aplikacją (w konsoli Firebase lub Firebase interfejs wiersza poleceń), klienty nie dbają o bezpieczeństwo, błędy nie narażają danych Twoje dane są zawsze chronione.

Jak to działa?

Funkcja Firebase Security Rules działa, dopasowując wzorzec do ścieżek bazy danych, a następnie stosując warunki niestandardowe, które umożliwiają dostęp do danych na tych ścieżkach. Wszystkie Rules w usługach Firebase mają komponent dopasowywania ścieżek i warunek instrukcja umożliwiająca dostęp do odczytu lub zapisu. Musisz określić atrybut Rules dla z każdej usługi Firebase, której używasz w swojej aplikacji.

W przypadku funkcji Cloud Firestore i Cloud Storage Rules użyj tego składnia:

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

W przypadku Realtime Database w tagu Rules w formacie JSON użyj tej składni:

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

Rules są stosowane jako instrukcje OR, a nie AND. Jeśli do ścieżki pasuje wiele reguł i dowolna warunki przyznające dostęp, Rules przyzna dostęp do danych w tym miejscu ścieżki konwersji. Dlatego, jeśli dostęp do danych zapewnia szeroka reguła, nie możesz go ograniczyć, bardziej szczegółową regułę. Można jednak uniknąć tego problemu, upewniając się, Rules za bardzo się nie nakładają. Firebase Security Rules flagi pokrywa się w ale dopasowane ścieżki mogą być ostrzeżeniami kompilatora.

Firebase Security Rules może również wykorzystywać Authentication do przyznawania uprawnień opartych na użytkownikach. mogą być bardzo podstawowe lub bardzo złożone. Więcej informacji około Rules języka i zachowania zanim zaczniesz pisać Rules.

Ścieżka implementacji

Zintegruj pakiety SDK usług Skonfiguruj Cloud Firestore. Cloud Storage lub Realtime Database dla Twojego .
Wpisz tekst w polu Firebase Security Rules Więcej informacji o jak działa Rules skonfiguruj podstawowe Rules
Przetestuj urządzenie Firebase Security Rules Użyj emulatorów Realtime Database i Cloud Firestore, by przetestować działania i weryfikowanie reguł przed wdrożeniem ich w środowisku produkcyjnym.
Wdróż Firebase Security Rules Wdróż reguły za pomocą konsoli Firebase lub interfejsu wiersza poleceń Firebase do produkcji.

Dalsze kroki