Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Firebase Security Rules
plat_iosplat_androidplat_webplat_flutterplat_node
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.
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 StorageRules 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 Rulesjęzyka i zachowania
zanim zaczniesz pisać Rules.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-24 UTC."],[],[],null,["Firebase Security Rules \nplat_ios plat_android plat_web plat_flutter plat_node \nUse our flexible, extensible Firebase Security Rules to\nsecure your data in Cloud Firestore, Firebase Realtime Database, and\nCloud Storage.\n\nFirebase Security Rules stand between your data and malicious users. You can write simple or\ncomplex rules that protect your app's data to the level of granularity that\nyour specific app requires.\n\nFirebase Security Rules leverage\nextensible, flexible configuration languages to define what data your users\ncan access for Realtime Database, Cloud Firestore, and Cloud Storage.\nFirebase Realtime Database Security Rules leverage JSON in rule definitions, while\nCloud Firestore Security Rules and Firebase Security Rules for Cloud Storage leverage a unique\nlanguage built to accommodate more complex rules-specific structures.\n\nLearn more about how to set up Rules for the specific Firebase products\nyou use in your app, and how Rules behavior differs across Firebase\nproducts.\n\n[Get started](/docs/rules/get-started)\n\nKey capabilities\n\n|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Flexibility | Write custom rules that make sense for your app's structure and behavior. Rules use languages that allow you to leverage your own data to authorize access. |\n| Granularity | Your rules can be as broad or as narrow as you need. |\n| Independent security | Because Rules are defined outside of your app (in the Firebase console or Firebase CLI), clients aren't responsible for enforcing security, bugs don't compromise data, and your data is always protected. |\n\nHow do they work?\n\nFirebase Security Rules work by matching a pattern against database paths, and then applying\ncustom conditions to allow access to data at those paths. All Rules\nacross Firebase products have a path-matching component and a conditional\nstatement allowing read or write access. You must define Rules for\neach Firebase product you use in your app.\n\nFor Cloud Firestore and Cloud Storage, Rules use the following\nsyntax: \n\n service \u003c\u003cname\u003e\u003e {\n // Match the resource path.\n match \u003c\u003cpath\u003e\u003e {\n // Allow the request if the following conditions are true.\n allow \u003c\u003cmethods\u003e\u003e : if \u003c\u003ccondition\u003e\u003e\n }\n }\n\nFor Realtime Database, JSON-based Rules use the following syntax: \n\n {\n \"rules\": {\n \"\u003c\u003cpath\u003e\u003e\": {\n // Allow the request if the condition for each method is true.\n \".read\": \u003c\u003ccondition\u003e\u003e,\n \".write\": \u003c\u003ccondition\u003e\u003e\n }\n }\n }\n\nRules are applied as `OR` statements, not `AND` statements.\nConsequently, if multiple rules match a path, and any of the matched\nconditions grants access, Rules grant access to the data at that\npath. Therefore, if a broad rule grants access to data, you can't restrict with\na more specific rule. You can, however, avoid this problem by making sure your\nRules don't overlap too much. Firebase Security Rules flag overlaps in your\nmatched paths as compiler warnings.\n\nFirebase Security Rules can also leverage Authentication to grant user-based permissions, and the\nconditions you set can be very basic or incredibly complex. Learn more\nabout Rules [language](/docs/rules/rules-language) and [behavior](/docs/rules/rules-behavior)\nbefore you start writing Rules.\n\nImplementation path\n\n|---|-------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|\n| | Integrate the product SDKs | Set up [Cloud Firestore](/docs/firestore), [Cloud Storage](/docs/storage), or [Realtime Database](/docs/database) for your app. |\n| | Write your Firebase Security Rules | Learn more about [how Rules work](/docs/rules/rules-behavior) and [set up some basic Rules](/docs/rules/basics) |\n| | Test your Firebase Security Rules | Use the Realtime Database and Cloud Firestore emulators to test your app's behavior and validate your rules before you deploy them to production. |\n| | Deploy your Firebase Security Rules | Use the Firebase console or the Firebase CLI to deploy your rules to production. |\n\nNext steps\n\n- [Understand the Firebase Security Rules language](/docs/rules/rules-language).\n- Learn more about [how Firebase Security Rules work](/docs/rules/rules-behavior).\n- Explore the [common mistakes you should avoid](/docs/rules/insecure-rules)."]]