Para testar rapidamente as regras de segurança atualizadas do Firebase no Console do Firebase, use o simulador de regras.
O simulador de regras é uma ferramenta conveniente para usar quando você estiver explorando novos comportamentos ou validando regras rapidamente enquanto as cria. Ele exibe uma mensagem confirmando que o acesso foi permitido ou negado de acordo com os parâmetros definidos para a simulação.
Como usar o simulador de regras
- Abra o Console do Firebase e selecione o projeto.
- 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.
- Depois de fazer as edições, clique em Simulador de regras no editor.
- Nas configurações do Simulador de regras, selecione as opções para seu teste, incluindo:
- Gravações ou leituras de teste
- Um Local específico no seu banco de dados ou intervalo de armazenamento, como um caminho.
- O tipo de autenticação: usuário anônimo autenticado, não autenticado ou um ID de usuário específico
- Dados específicos do documento que suas regras mencionam especificamente (por exemplo, se as regras exigem a presença de um campo específico antes de permitir uma gravação)
- Clique em Executar e procure os resultados no banner acima do editor.
Exemplo de cenário do simulador de regras
Teste o comportamento do simulador de regras com o seguinte cenário de amostra 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
}
}
}
Realtime Database
// 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" } } } }
Cloud Storage
// 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 receber no menu suspenso Tipo de simulação e insira um caminho válido no campo Local.
Ative a Autenticação e selecione um tipo de autenticação na lista suspensa do Provedor.
Digite os detalhes do código do usuário e clique em Executar.
Os resultados da simulação aparecem no topo do editor. Dependendo dos detalhes do código do usuário que inseriu, você verá um banner confirmando que a leitura foi permitida ou negada.