Comece a usar as regras de segurança do Firebase

As regras de segurança do Firebase fornecem proteção robusta e totalmente personalizável para seus dados no Cloud Firestore, Realtime Database e Cloud Storage. Você pode facilmente começar a usar as regras seguindo as etapas deste guia, protegendo seus dados e seu aplicativo contra usuários mal-intencionados.

Entenda a linguagem das regras de segurança do Firebase

Antes de começar a escrever regras, vale a pena reservar algum tempo para revisar a linguagem específica das regras de segurança do Firebase para os produtos Firebase que você está usando. O Realtime Database aproveita uma sintaxe semelhante ao JavaScript e uma estrutura JSON para suas regras.

Comece aprendendo a sintaxe principal da linguagem das regras de segurança do Firebase .

Configurar autenticação

Se ainda não tiver feito isso, adicione o Firebase Authentication ao seu aplicativo . O Firebase Authentication oferece suporte a muitos métodos de autenticação comuns e integra-se às regras de segurança do Firebase para fornecer recursos de verificação abrangentes.

Você pode configurar informações de autenticação personalizadas adicionais para seu aplicativo.

Saiba mais sobre as regras de segurança do Firebase e o Firebase Authentication .

Defina suas estruturas de dados e regras

Defina dados para segurança

A maneira como você estrutura seus dados pode afetar a maneira como você estrutura e implementa suas regras. Ao definir suas estruturas de dados, considere as implicações que elas podem ter na estrutura de regras.

Por exemplo, no Realtime Database, talvez você queira incluir um campo que indique uma função específica para cada usuário. Então, suas regras poderão ler esse campo e usá-lo para conceder acesso baseado em função.

Ao definir suas arquiteturas de dados e regras, tenha em mente a forma como as regras são ou não cascateadas, dependendo do seu produto. Com o Realtime Database, as regras funcionam de cima para baixo, com regras mais superficiais substituindo regras mais profundas. Se uma regra conceder permissões de leitura ou gravação em um caminho específico, ela também concederá acesso a todos os nós filhos abaixo dele. Por outro lado, com o Cloud Firestore e o Cloud Storage, as regras se aplicam apenas a níveis especificados da hierarquia de dados, e você escreve regras explícitas para controlar o acesso a diferentes níveis.

Acesse suas regras

Para visualizar suas regras existentes, use a CLI do Firebase ou o console do Firebase. Certifique-se de editar suas regras usando o mesmo método, de forma consistente, para evitar substituir atualizações por engano. Se você não tiver certeza se suas regras definidas localmente refletem as atualizações mais recentes, o Console do Firebase sempre mostrará a versão implantada mais recentemente das suas regras de segurança do Firebase.

Para acessar suas regras no Firebase Console , selecione seu projeto e, no painel de navegação esquerdo, clique em Realtime Database . Clique em Regras quando estiver no banco de dados ou bucket de armazenamento correto.

Para acessar suas regras na CLI do Firebase, acesse o arquivo de regras anotado em seu arquivo firebase.json .

Escreva regras básicas

À medida que você desenvolve seu aplicativo e entende as regras, tente implementá-las para abordar alguns casos de uso básicos , incluindo os seguintes:

  • Somente proprietário do conteúdo: restrinja o acesso ao conteúdo por usuário.
  • Acesso misto: Restringe o acesso de gravação por usuário, mas permite acesso público de leitura.
  • Acesso baseado em atributos: restrinja o acesso a um grupo ou tipo de usuário.

Teste suas regras

Se estiver configurando suas regras de segurança do Firebase no Firebase console, você poderá usar o Firebase Rules Playground para validar rapidamente o comportamento. No entanto, recomendamos testes mais completos com o Local Emulator Suite antes de implantar suas alterações na produção.

Implantar regras

Use o console do Firebase ou a CLI do Firebase para implantar suas regras na produção. Siga as etapas descritas em Gerenciar e implantar regras de segurança do Firebase .