Firebase Security Rules

Korzystaj z elastycznych i rozszerzalnych reguł zabezpieczeń Firebase, aby chronić dane w Cloud Firestore, Firebase Realtime DatabaseCloud Storage.

Firebase Security Rules chronić Twoje dane przed złośliwymi użytkownikami. Możesz tworzyć proste lub złożone reguły, które chronią dane aplikacji na poziomie szczegółowości wymaganym przez Twoją aplikację.

Firebase Security Rules wykorzystywać rozszerzalne i elastyczne języki konfiguracji, aby określać, do jakich danych użytkownicy mogą mieć dostęp w przypadku Realtime Database, Cloud FirestoreCloud Storage. Firebase Realtime Database Security Rules wykorzystują JSON w definicjach reguł, a Cloud Firestore Security RulesFirebase Security Rules w przypadku Cloud Storage korzystają z unikalnego języka stworzonego z myślą o bardziej złożonych strukturach specyficznych dla reguł.

Dowiedz się więcej o konfigurowaniu Rules w przypadku konkretnych usług Firebase, z których korzystasz w aplikacji, oraz o tym, jak Rules działa w różnych usługach Firebase.

Rozpocznij

Najważniejsze funkcje

Elastyczność Twórz reguły niestandardowe, które pasują do struktury i działania Twojej aplikacji. Rules używać języków, które umożliwiają wykorzystywanie własnych danych do autoryzacji dostępu;
Szczegółowość Reguły mogą być tak ogólne lub szczegółowe, jak tego potrzebujesz.
Niezależne zabezpieczenia Ponieważ Rules są zdefiniowane poza aplikacją (w konsoli Firebase lub Firebase CLI), klienci nie odpowiadają za egzekwowanie bezpieczeństwa, błędy nie zagrażają danym, a dane są zawsze chronione.

Jak to działa?

Firebase Security Rules działają poprzez dopasowywanie wzorca do ścieżek w bazie danych, a następnie stosowanie niestandardowych warunków, aby umożliwić dostęp do danych w tych ścieżkach. Wszystkie Rulesw usługach Firebase mają komponent dopasowywania ścieżki i instrukcję warunkową, która umożliwia dostęp do odczytu lub zapisu. Musisz zdefiniować Rules dla każdej usługi Firebase, której używasz w aplikacji.

W przypadku atrybutów Cloud FirestoreCloud Storage Rules użyj tej 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 Realtime Database ustawień opartych na formacie JSON Rules 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 instrukcje AND. Jeśli do ścieżki pasuje kilka reguł, a którykolwiek z dopasowanych warunków przyznaje dostęp, Rules przyznaj dostęp do danych w tej ścieżce. Jeśli więc ogólna reguła przyznaje dostęp do danych, nie możesz go ograniczyć za pomocą bardziej szczegółowej reguły. Możesz jednak uniknąć tego problemu, dbając o to, aby Rules nie pokrywały się zbyt mocno. Firebase Security Rules nakładające się flagi w dopasowanych ścieżkach jako ostrzeżenia kompilatora.

Firebase Security Rules może też wykorzystywać Authentication do przyznawania uprawnień na podstawie użytkownika, a ustawiane przez Ciebie warunki mogą być bardzo proste lub niezwykle złożone. Zanim zaczniesz pisać Rules, dowiedz się więcej o Rules językuzachowaniu.

Ścieżka implementacji

Integracja pakietów SDK usług Skonfiguruj Cloud Firestore, Cloud Storage lub Realtime Database w przypadku swojej aplikacji.
Napisz Firebase Security Rules Dowiedz się więcej o działaniu Rulesskonfiguruj podstawowe Rules.
Testowanie Firebase Security Rules Użyj emulatorów Realtime DatabaseCloud Firestore, aby przetestować działanie aplikacji i sprawdzić reguły, zanim wdrożysz je w środowisku produkcyjnym.
Wdróż Firebase Security Rules Aby wdrożyć reguły w środowisku produkcyjnym, użyj konsoli Firebase lub interfejsu wiersza poleceń Firebase.

Dalsze kroki