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.

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

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

// 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.