Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Firebase Security Rules
plat_iosplat_androidplat_webplat_flutterplat_node
Use nossas regras de segurança flexíveis e extensíveis do Firebase para
proteger seus dados no Cloud Firestore, no Firebase Realtime Database e no
Cloud Storage.
As Firebase Security Rules protegem seus dados contra usuários mal-intencionados. É possível criar regras simples ou complexas que protejam os dados do seu aplicativo com o nível de granularidade necessário.
O Firebase Security Rules usa
linguagens de configuração extensível e flexível para definir quais dados os usuários
podem acessar para Realtime Database, Cloud Firestore e Cloud Storage.
As Firebase Realtime Database Security Rules usam JSON nas definições de regras, e
Cloud Firestore Security Rules e Firebase Security Rules para Cloud Storage usam uma linguagem
exclusiva desenvolvida para lidar com estruturas de regras mais complexas e específicas.
Saiba como configurar Rules para os produtos específicos do Firebase
usados no seu app e como o comportamento de Rules varia nos diferentes produtos do
Firebase.
Escreva regras personalizadas que façam sentido para a estrutura e o comportamento do seu aplicativo.
Rules utilizam linguagens que permitem usar dos seus dados para autorizar o acesso.
Granularidade
Suas regras podem ser tão amplas ou tão específicas quanto necessário.
Segurança independente
Como as Rules são definidas fora do aplicativo (no console do Firebase ou na Firebase CLI), os clientes não são responsáveis pela aplicação das medidas de segurança, os bugs não comprometem os dados e as informações permanecem protegidas.
Como elas funcionam?
O Firebase Security Rules faz a correspondência de um padrão com os caminhos do banco de dados e, em seguida, aplica
condições personalizadas para permitir o acesso aos dados nesses caminhos. Todas as Rules nos produtos do Firebase têm um componente de correspondência de caminho e uma declaração condicional que permite acesso de leitura ou gravação. É necessário definir Rules para cada produto do Firebase usado no aplicativo.
Para Cloud Firestore e Cloud Storage, Rules use a seguinte
sintaxe:
service <<name>> {
// Match the resource path.
match <<path>> {
// Allow the request if the following conditions are true.
allow <<methods>> : if <<condition>>
}
}
Para Realtime Database, o Rules baseado em JSON usa a seguinte sintaxe:
{
"rules": {
"<<path>>": {
// Allow the request if the condition for each method is true.
".read": <<condition>>,
".write": <<condition>>
}
}
}
As Rules são aplicadas como instruções OR, não como AND.
Dessa forma, se várias regras corresponderem a um caminho e qualquer uma das condições correspondentes conceder acesso, as Rules concederão acesso aos dados nesse caminho. Portanto, se uma regra ampla conceder acesso a dados, não será possível restringi-la com uma regra mais específica. No entanto, é possível evitar esse problema. Basta verificar se as Rules não se sobrepõem em excesso. A flag Firebase Security Rules se sobrepõe aos seus
caminhos correspondentes como avisos do compilador.
O Firebase Security Rules também pode usar Authentication para conceder permissões com base em usuários, e as
condições definidas podem ser muito básicas ou incrivelmente complexas. Saiba mais
sobre a linguagem e o comportamento do Rules
antes de começar a escrever Rules.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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)."]]