Firebase Security Rules
Aby zabezpieczyć dane w Cloud Firestore, Firebase Realtime Database i Cloud Storage, użyj naszych elastycznych i rozszerzalnych reguł bezpieczeństwa Firebase.
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 konkretną aplikację.
Firebase Security Rules wykorzystują rozszerzalne i elastyczne języki konfiguracji, aby określić, do jakich danych użytkownicy mogą mieć dostęp w 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 dla Cloud Storage wykorzystują unikalny język stworzony z myślą o bardziej złożonych strukturach specyficznych dla reguł.
Dowiedz się więcej o tym, jak skonfigurować Security Rules dla konkretnych usług Firebase używanych w aplikacji oraz jak różni się działanie Security Rules w poszczególnych usługach Firebase.
Najważniejsze funkcje
| Elastyczność | Twórz niestandardowe reguły, które pasują do struktury i działania Twojej aplikacji. Security Rules używają języków, które umożliwiają wykorzystanie własnych danych do autoryzacji dostępu. |
| Szczegółowość | Reguły mogą być tak ogólne lub szczegółowe, jak potrzebujesz. |
| Niezależne zabezpieczenia | Ponieważ Security Rules są definiowane poza aplikacją (w konsoli Firebase lub interfejsie wiersza poleceń Firebase), klienci nie są odpowiedzialni za egzekwowanie bezpieczeństwa, błędy nie naruszają danych, a Twoje dane są zawsze chronione. |
Jak to działa?
Firebase Security Rules działają przez 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 Security Rules w usługach Firebase mają komponent dopasowywania ścieżek i instrukcję warunkową umożliwiającą dostęp do odczytu lub zapisu. Musisz zdefiniować Security Rules dla każdej usługi Firebase używanej w aplikacji.
W przypadku Cloud Firestore i Cloud Storage, Security Rules używają 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, oparte na JSON Security Rules używają 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 AND.
W związku z tym, jeśli wiele reguł pasuje do ścieżki, a którykolwiek z dopasowanych
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, upewniając się, że Twoje
Security Rules nie pokrywają się zbyt mocno. Firebase Security Rules oznaczają nakładające się ścieżki w
jako ostrzeżenia kompilatora.
Firebase Security Rules mogą też wykorzystywać Authentication do przyznawania uprawnień opartych na użytkownikach, a ustawiane warunki mogą być bardzo proste lub niezwykle złożone. Zanim zaczniesz pisać Security Rules, dowiedz się więcej o Security Rules języku i działaniu.
Ścieżka implementacji
| Zintegruj pakiety SDK usług | Skonfiguruj Cloud Firestore, Cloud Storage lub Realtime Database dla swojej aplikacji. | |
| Napisz swoje Firebase Security Rules | Dowiedz się więcej o tym, jak Security Rules działają i skonfiguruj podstawowe Security Rules | |
| Przetestuj swoje 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óż swoje Firebase Security Rules | Aby wdrożyć reguły w środowisku produkcyjnym, użyj konsoli Firebase lub interfejsu wiersza poleceń Firebase. |
Dalsze kroki
- Poznaj Firebase Security Rules język.
- Dowiedz się więcej o tym, jak działają Firebase Security Rules.
- Poznaj typowe błędy, których należy unikać.