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 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 rédigez. 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 Realtime Database , Cloud Firestore ou Storage , selon le cas, puis cliquez sur Rules 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 les options pour votre test, notamment :
    • Test de lecture ou d'écriture.
    • Un emplacement spécifique dans votre base de données ou compartiment de stockage, sous forme de chemin.
    • Type d'authentification : utilisateur anonyme non authentifié, 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 au-dessus de l'éditeur.

Exemple de scénario de règles de terrain de jeu

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 entrez un chemin valide dans le champ Emplacement .

  • Activez Authentification et sélectionnez un type d'authentification dans le menu déroulant 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. En fonction des 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.