Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Introdução às regras de segurança do Firebase

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

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 começar a usar as regras facilmente seguindo as etapas deste guia, protegendo seus dados e protegendo seu aplicativo contra usuários mal-intencionados.

Compreender a linguagem das regras de segurança do Firebase

Antes de começar a escrever regras, vale a pena dedicar algum tempo para revisar a linguagem específica das regras de segurança do Firebase para os produtos Firebase que você está usando. O Cloud Storage aproveita um superconjunto do Common Expression Language (CEL) que depende de match e allow instruções que definem uma condição de acesso em um caminho definido.

Comece aprendendo a sintaxe principal da linguagem Firebase Security Rules .

Configurar autenticação

Se você ainda não fez 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

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 em sua estrutura de regras.

Por exemplo, no Cloud Storage, você pode querer incluir um campo que denote uma função específica para cada usuário. Em seguida, suas regras podem ler esse campo e usá-lo para conceder acesso baseado em função.

Ao definir suas arquiteturas de dados e regras, lembre-se da forma como as regras são ou não em cascata, 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 filho sob ela. 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 Firebase CLI ou o Firebase console. Certifique-se de editar suas regras usando o mesmo método, de forma consistente, para evitar sobrescrever atualizações por engano. Se você não tiver certeza se suas regras definidas localmente refletem as atualizações mais recentes, o Firebase console sempre mostra a versão implantada mais recentemente das suas regras de segurança do Firebase.

Para acessar suas regras no console do Firebase , selecione seu projeto e, no painel de navegação à esquerda, clique em Armazenamento . Clique em Regras quando estiver no banco de dados ou bucket de armazenamento correto.

Para acessar suas regras da Firebase CLI, acesse o arquivo de regras indicado em seu arquivo firebase.json .

Escreva regras básicas

À medida que você desenvolve seu aplicativo e entende as regras, tente implementar as regras para abordar alguns casos de uso básicos , incluindo o seguinte:

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

Teste suas regras

Se você estiver configurando suas regras de segurança do Firebase no Firebase console, 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 Firebase console ou a Firebase CLI para implantar suas regras na produção. Siga as etapas descritas em Gerenciar e implantar regras de segurança do Firebase .