获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

Regras de segurança do Firebase

Use nossas regras de segurança do Firebase flexíveis e extensíveis 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 protegem os dados do seu aplicativo no nível de granularidade que seu aplicativo específico exige.

As regras de segurança do Firebase utilizam linguagens de configuração extensíveis e flexíveis para definir quais dados seus usuários podem acessar para o Realtime Database, Cloud Firestore e Cloud Storage. As regras do Firebase Realtime Database aproveitam o JSON nas definições de regras, enquanto o Cloud Firestore Security Rules e o Firebase Security Rules for 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 recursos

Flexibilidade Escreva regras personalizadas que façam sentido para a estrutura e o comportamento do seu aplicativo. As regras usam linguagens que permitem que você aproveite seus próprios dados para autorizar o acesso.
Granularidade Suas regras podem ser tão amplas ou tão restritas quanto você precisar.
Segurança independente Como as regras são definidas fora do seu aplicativo (no Firebase console ou Firebase CLI), os clientes não são responsáveis ​​por aplicar 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 os caminhos do banco de dados e, em seguida, aplicando condições personalizadas para permitir o acesso aos dados nesses caminhos. Todas as regras nos 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 Firebase que usa 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 várias 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, você não poderá restringir com uma regra mais específica. No entanto, você pode evitar esse problema certificando-se de que suas regras não se sobreponham muito. A sinalização 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 que você define podem ser muito básicas ou incrivelmente complexas. Saiba mais sobre a linguagem e o comportamento das regras antes de começar a escrever as regras.

Caminho de implementação

Integrar os SDKs do produto Configure o Cloud Firestore , Cloud Storage ou 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 do Realtime Database e do 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 Firebase console ou a Firebase CLI para implantar suas regras na produção.

Próximos passos

,

Regras de segurança do Firebase

Use nossas regras de segurança do Firebase flexíveis e extensíveis 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 protegem os dados do seu aplicativo no nível de granularidade que seu aplicativo específico exige.

As regras de segurança do Firebase utilizam linguagens de configuração extensíveis e flexíveis para definir quais dados seus usuários podem acessar para o Realtime Database, Cloud Firestore e Cloud Storage. As regras do Firebase Realtime Database aproveitam o JSON nas definições de regras, enquanto o Cloud Firestore Security Rules e o Firebase Security Rules for 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 recursos

Flexibilidade Escreva regras personalizadas que façam sentido para a estrutura e o comportamento do seu aplicativo. As regras usam linguagens que permitem que você aproveite seus próprios dados para autorizar o acesso.
Granularidade Suas regras podem ser tão amplas ou tão restritas quanto você precisar.
Segurança independente Como as regras são definidas fora do seu aplicativo (no Firebase console ou Firebase CLI), os clientes não são responsáveis ​​por aplicar 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 os caminhos do banco de dados e, em seguida, aplicando condições personalizadas para permitir o acesso aos dados nesses caminhos. Todas as regras nos 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 Firebase que usa 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 várias 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, você não poderá restringir com uma regra mais específica. No entanto, você pode evitar esse problema certificando-se de que suas regras não se sobreponham muito. A sinalização 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 que você define podem ser muito básicas ou incrivelmente complexas. Saiba mais sobre a linguagem e o comportamento das regras antes de começar a escrever as regras.

Caminho de implementação

Integrar os SDKs do produto Configure o Cloud Firestore , Cloud Storage ou 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 do Realtime Database e do 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 Firebase console ou a Firebase CLI para implantar suas regras na produção.

Próximos passos