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 Rules Playground.

Le Rules Playground est un outil pratique à utiliser lorsque vous explorez de nouveaux comportements ou 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 Base de données en temps réel , Cloud Firestore ou Stockage , selon le cas, puis cliquez sur Règles pour accéder à l'éditeur de règles.
  3. Une fois que vous avez effectué vos modifications, cliquez sur Rules Playground dans l'éditeur.
  4. Dans les paramètres de Rules Playground , sélectionnez des options pour votre test, notamment :
    • Tester les lectures ou les écritures.
    • Emplacement spécifique dans votre base de données ou compartiment de stockage, sous forme de chemin.
    • Type d'authentification — utilisateur anonyme non authentifié ou 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 exigent 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 au-dessus de l'éditeur.

Exemple de scénario Rules Playground

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 dans le menu déroulant Type de simulation et saisissez un chemin valide dans le champ Emplacement .

  • Activez l' authentification et sélectionnez un type d'authentification dans le 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 saisis, vous devriez voir une bannière confirmant que la lecture a été autorisée ou refusée avec succès.