Valide rapidamente as regras de segurança do Firebase

Para testar rapidamente suas regras de segurança atualizadas do Firebase no console do Firebase, use o Rules Playground.

O Rules Playground é uma ferramenta conveniente para usar enquanto você explora novos comportamentos ou valida regras rapidamente à medida que as escreve. Apresenta uma mensagem confirmando que o acesso foi permitido ou negado de acordo com os parâmetros definidos para a simulação.

Use o playground de regras

  1. Abra o console do Firebase e selecione seu projeto.
  2. Em seguida, na navegação do produto, siga um destes procedimentos:
    • Selecione Realtime Database , Cloud Firestore ou Storage , conforme apropriado, e clique em Regras para navegar até o editor de regras.
  3. Depois de fazer suas edições, clique em Rules Playground no editor.
  4. Nas configurações do Rules Playground , selecione opções para o seu teste, incluindo:
    • Testando leituras ou gravações.
    • Um local específico em seu banco de dados ou bucket de armazenamento, como caminho.
    • Tipo de autenticação — usuário anônimo não autenticado e autenticado ou um ID de usuário específico.
    • Dados específicos do documento aos quais suas regras fazem referência específica (por exemplo, se suas regras exigirem a presença de um campo específico antes de permitir uma gravação).
  5. Clique em Executar e procure os resultados no banner acima do editor.

Exemplo de cenário de regras de playground

Teste o comportamento do Rules Playground com o seguinte cenário de exemplo e regras básicas.

Cloud Firestore

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow only authenticated content owners access
    match /some_collection/{document} {
      allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
      }
    }
  }

Banco de dados em tempo real

 // 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"
       }
     }
   }
 }
 

Armazenamento na núvem

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/path/to/file.txt"
    match /user/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • No editor de regras, adicione a regra fornecida acima.

  • Selecione obter no menu suspenso Tipo de simulação e insira um caminho válido no campo Local .

  • Ative Autenticação e selecione um tipo de autenticação no menu suspenso Provedor .

  • Insira os detalhes do ID do usuário e clique em Executar .

Os resultados da simulação aparecem na parte superior do editor. Dependendo dos detalhes do ID do usuário inseridos, você verá um banner confirmando que a leitura foi permitida ou negada com sucesso.