Anúncio do Cloud Firestore (Beta): conheça o novo banco de dados flexível e escalável do Firebase e do Google Cloud Platform. Saiba mais sobre o Cloud Firestore.

Primeiros passos com as regras de bancos de dados

O Firebase Realtime Database fornece uma linguagem de regras flexíveis e baseadas em expressão com sintaxe parecida com a do JavaScript. Com ela, você define como os dados são estruturados, indexados e quando podem ser lidos e gravados. Em conjunto com nossos serviços de autenticação, defina quem tem acesso a quais dados e proteja as informações pessoais dos usuários contra acesso não autorizado.

Configurar regras

Encontre e altere as regras do banco de dados no Firebase console. Basta escolher o projeto, clicar na seção Database à esquerda e selecionar a guia Regras. Caso queira testar as regras de segurança antes de colocá-las em produção, simule as operações no console usando o botão "Simular" no canto superior direito do editor de regras.

Também é possível atualizar suas regras com nossa Interface de linha de comando, que permite atualizá-las de maneira programática, como em um sistema de implantação automatizado. A CLI também aceita a implementação de regras em vários bancos de dados não padrão por meio de destinos de implementação.

Exemplos de regras

As regras do banco de dados exigem o Firebase Authentication e concedem permissões de leitura e gravação somente a usuários autenticados. As regras padrão garantem que o banco de dados não seja acessado por ninguém antes de ser configurado. Depois, personalize-as de acordo com suas necessidades. Confira alguns exemplos comuns:

Padrão

As regras padrão exigem autenticação. Elas concedem acesso completo de leitura e gravação a usuários autenticados do app. Essas regras também são úteis para deixar os dados abertos aos usuários do app, mas não para todo o mundo.

// These rules require authentication
{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

Público

Durante o desenvolvimento, use regras públicas em vez de regras padrão para definir a leitura ou gravação pública dos arquivos. Isso é útil durante a prototipagem, pois você pode dar os primeiros passos sem precisar configurar a autenticação. Nesse nível de acesso, qualquer pessoa pode ler ou gravar no banco de dados. Você precisa configurar regras mais seguras antes de lançar o app.

// These rules give anyone, even people who are not users of your app,
// read and write access to your database
{
  "rules": {
    ".read": true,
    ".write": true
  }
}

Usuário

No exemplo de regra a seguir, cada usuário autenticado recebe um node pessoal em /users/$user_id, em que $user_id é o código do usuário recebido por meio do Firebase Authentication. Esse é um cenário comum para todos os apps que tenham dados privados de um usuário.

// These rules grant access to a node matching the authenticated
// user's ID from the Firebase auth token
{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}

Privado

As regras privadas desativam o acesso de leitura e gravação dos usuários no banco de dados. Com elas, só é possível acessar o banco de dados por meio do Firebase console.

// These rules don't allow anyone read or write access to your database
{
  "rules": {
    ".read": false,
    ".write": false
  }
}

É essencial configurar essas regras corretamente antes de lançar o app para garantir que os usuários acessem apenas os dados necessários.

Próximas etapas

Enviar comentários sobre…

Firebase Realtime Database
Precisa de ajuda? Acesse nossa página de suporte.