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

Pour tester rapidement votre Firebase Security Rules mis à jour dans la console Firebase, utilisez l'espace de test dédié aux règles.

L'espace de test dédié aux 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 une confirmant que l'accès a été autorisé ou refusé conformément à l' que vous avez définis pour la simulation.

Utiliser l'espace de test dédié aux règles

  1. Ouvrez la console Firebase et sélectionnez votre projet.
  2. Ensuite, dans la navigation des produits, effectuez l'une des opérations suivantes :
    • Sélectionnez Realtime Database, Cloud Firestore ou Stockage. le cas échéant, puis cliquez sur Règles pour accéder à Rules éditeur.
  3. Une fois les modifications effectuées, cliquez sur Rules Playground dans l'éditeur.
  4. Dans les paramètres Rules Playground, sélectionnez les options de votre test, y compris: <ph type="x-smartling-placeholder">
      </ph>
    • Tester les lectures ou les écritures
    • Un emplacement spécifique dans votre base de données ou votre bucket de stockage, sous forme de chemin d'accès
    • Type d'authentification : utilisateur anonyme non authentifié, ou utilisateur anonyme un ID utilisateur spécifique.
    • Données du document auxquelles vos règles font 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 Run (Exécuter), puis recherchez les résultats dans la bannière située au-dessus de l'éditeur.

Exemple de scénario du Playground de règles

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

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/&lt;UID&gt;/path/to/file.txt"
    match /user/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • Dans l'éditeur Rules, ajoutez la règle indiquée ci-dessus.

  • Sélectionnez get dans le menu déroulant Type de simulation, puis saisissez un chemin d'accès valide dans le champ Emplacement.

  • Activez l'option Authentication (Authentification) et sélectionnez un type d'authentification dans le Fournisseur drodpdown.

  • Saisissez les détails de l'ID utilisateur, puis cliquez sur Exécuter.

Les résultats de la simulation s'affichent en haut de l'éditeur. En fonction du les détails de l'ID utilisateur que vous avez saisis, une bannière de confirmation doit s'afficher. a été autorisée ou refusée.