Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

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 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 l' aire de jeu des règles , sélectionnez les options de votre test, notamment :
    • Tester des lectures ou des écritures.
    • Un emplacement spécifique dans votre base de données ou votre compartiment de stockage, en tant que chemin.
    • Type d'authentification — utilisateur anonyme non authentifié et authentifié, ou un 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 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 dans le menu déroulant Type de simulation et entrez un chemin valide dans le champ Emplacement .

  • Activez l' authentification et sélectionnez un type d'authentification dans le menu déroulant Fournisseur .

  • Saisissez 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.