Firebase Security Rules

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

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

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

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

Rozpocznij

Najważniejsze funkcje

Elastyczność Twórz reguły niestandardowe, które pasują do struktury i działania Twojej aplikacji. Security 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ż Security 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 Twoje 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 zezwolić na dostęp do danych w tych ścieżkach. Wszystkie Security Rulesw usługach Firebase mają komponent dopasowywania ścieżek i instrukcję warunkową, która umożliwia dostęp do odczytu lub zapisu. Musisz zdefiniować Security Rules dla każdej usługi Firebase, której używasz w aplikacji.

W przypadku Cloud Firestore i Cloud Storage Security 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 Security Rules użyj tej składni:

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

Security Rules są stosowane jako instrukcje OR, a nie instrukcje AND. Jeśli do ścieżki pasuje kilka reguł, a którykolwiek z pasujących warunków przyznaje dostęp, Security 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 Security Rules nie pokrywały się zbyt mocno. Firebase Security Rules oznaczać nakładające się ścieżki 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ć Security Rules, dowiedz się więcej o języku i zachowaniuSecurity Rules.

Ścieżka implementacji

Integracja pakietów SDK usług Skonfiguruj Cloud Firestore, Cloud Storage lub Realtime Database w przypadku aplikacji.
Napisz Firebase Security Rules Dowiedz się więcej o działaniu Security Rules i skonfiguruj podstawowe Security Rules.
Testowanie Firebase Security Rules Użyj emulatorów Realtime Database i Cloud 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