Validez rapidement les règles de sécurité Firebase

Pour tester rapidement vos règles de sécurité Firebase mises à jour dans la console Firebase, utilisez le jeu de règles.

Le terrain de jeu des règles est un outil pratique à utiliser lorsque vous explorez de nouveaux comportements ou que vous validez rapidement des règles au fur et à mesure que vous les écrivez. Il affiche un message confirmant que l'accès a été autorisé ou refusé selon les paramètres que vous avez définis pour la simulation.

Utilisez le terrain de jeu des règles

  1. Ouvrez la console Firebase et sélectionnez votre projet.
  2. Ensuite, à partir de la navigation du produit, effectuez l'une des opérations suivantes :
    • Sélectionnez la base de données en temps réel, Nuage Firestore, ou le stockage, le cas échéant, puis cliquez sur Règles pour accéder à l'éditeur Règles.
  3. Une fois que vous avez fait vos modifications, cliquez sur Règles de jeux de l'éditeur.
  4. Dans les règles paramètres Plaine de jeux, sélectionnez les options pour votre test, notamment:
    • Tester des lectures ou des écritures.
    • Un emplacement spécifique dans votre base de données ou un seau de stockage, comme un chemin.
    • Type d'authentification : utilisateur anonyme non authentifié et authentifié ou ID utilisateur spécifique.
    • Données spécifiques au document auxquelles vos règles font spécifiquement référence (par exemple, si vos règles nécessitent la présence d'un champ spécifique avant d'autoriser une écriture).
  5. Cliquez sur Exécuter et recherchez les résultats dans la bannière ci - dessus l'éditeur.

Exemple de scénario de jeu de règles

Testez le comportement de Rules Playground avec l'exemple de scénario et les règles de base suivants.

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

Base de données en temps réel

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

Stockage en ligne

// 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;
    }
  }
}
  • Dans l'éditeur de règles, ajoutez la règle indiquée ci-dessus.

  • Sélectionnez obtenir du type de simulation menu déroulant et entrez un chemin valide dans le champ de localisation.

  • Activez l' authentification et sélectionnez un type d'authentification du drodpdown du fournisseur.

  • Entrez les détails de l' ID utilisateur et cliquez sur Exécuter.

Les résultats de la simulation apparaissent en haut de l'éditeur. Selon les détails de l'ID utilisateur que vous avez entrés, vous devriez voir une bannière confirmant que la lecture a été autorisée ou refusée avec succès.