Regras de segurança do Firebase

Use nossas regras de segurança flexíveis e extensíveis do Firebase para proteger seus dados no Cloud Firestore, Firebase Realtime Database e Cloud Storage.

As regras de segurança do Firebase ficam entre seus dados e usuários mal-intencionados. Você pode escrever regras simples ou complexas que protejam os dados do seu aplicativo com o nível de granularidade exigido pelo seu aplicativo específico.

As regras de segurança do Firebase aproveitam linguagens de configuração extensíveis e flexíveis para definir quais dados seus usuários podem acessar no Realtime Database, Cloud Firestore e Cloud Storage. As regras de segurança do Firebase Realtime Database aproveitam o JSON nas definições de regras, enquanto as regras de segurança do Cloud Firestore e as regras de segurança do Firebase para Cloud Storage aproveitam uma linguagem exclusiva criada para acomodar estruturas específicas de regras mais complexas.

Saiba mais sobre como configurar regras para os produtos específicos do Firebase que você usa no seu aplicativo e como o comportamento das regras difere entre os produtos do Firebase.

Principais capacidades

Flexibilidade Escreva regras personalizadas que façam sentido para a estrutura e o comportamento do seu aplicativo. As regras usam linguagens que permitem aproveitar seus próprios dados para autorizar o acesso.
Granularidade Suas regras podem ser tão amplas ou restritas quanto você precisar.
Segurança independente Como as regras são definidas fora do seu aplicativo (no console do Firebase ou na CLI do Firebase), os clientes não são responsáveis ​​por impor a segurança, os bugs não comprometem os dados e seus dados estão sempre protegidos.

Como eles funcionam?

As regras de segurança do Firebase funcionam combinando um padrão com caminhos de banco de dados e, em seguida, aplicando condições personalizadas para permitir o acesso aos dados nesses caminhos. Todas as regras dos produtos Firebase têm um componente de correspondência de caminho e uma instrução condicional que permite acesso de leitura ou gravação. Você deve definir regras para cada produto do Firebase usado no seu aplicativo.

Para Cloud Firestore e Cloud Storage, as regras usam 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 o Realtime Database, as regras baseadas em JSON usam a seguinte sintaxe:

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

As regras são aplicadas como instruções OR , não como instruções AND . Conseqüentemente, se diversas regras corresponderem a um caminho e qualquer uma das condições correspondentes conceder acesso, as Regras concederão acesso aos dados nesse caminho. Portanto, se uma regra ampla conceder acesso aos dados, não será possível restringir com uma regra mais específica. Você pode, no entanto, evitar esse problema certificando-se de que suas regras não se sobreponham demais. O sinalizador das regras de segurança do Firebase se sobrepõe nos caminhos correspondentes como avisos do compilador.

As regras de segurança do Firebase também podem aproveitar a autenticação para conceder permissões baseadas no usuário, e as condições definidas podem ser muito básicas ou incrivelmente complexas. Saiba mais sobre a linguagem e o comportamento das regras antes de começar a escrevê-las.

Caminho de implementação

Integre os SDKs do produto Configure o Cloud Firestore , o Cloud Storage ou o Realtime Database para seu aplicativo.
Escreva suas regras de segurança do Firebase Saiba mais sobre como as regras funcionam e configure algumas regras básicas
Teste suas regras de segurança do Firebase Use os emuladores Realtime Database e Cloud Firestore para testar o comportamento do seu aplicativo e validar suas regras antes de implantá-las na produção.
Implante suas regras de segurança do Firebase Use o console do Firebase ou a CLI do Firebase para implantar suas regras na produção.

Próximos passos