Règles de sécurité Firebase à copier pour des données réservées au propriétaire, des lectures publiques, des rôles admin et la validation dans Firestore, Storage et Realtime Database, avec la façon de les tester.
Les règles de sécurité Firebase décident qui peut lire et écrire chaque donnée de votre application. Commencez chaque fichier Firestore par rules_version = '2', n'autorisez l'accès que si request.auth est défini, comparez request.auth.uid avec le propriétaire du document et vérifiez les champs entrants avec request.resource.data. Testez avec l'émulateur avant de déployer.
Les variables les plus utilisées dans chaque produit
Si votre application, votre boutique ou votre espace membre stocke des données dans Firebase, les règles sont la seule chose qui sépare les données de vos clients de quiconque possède la configuration publique de votre projet. Les recettes ci-dessous couvrent les cas dont la plupart des petites applications ont besoin. Filtrez par produit, copiez-en une et adaptez les noms de collections aux vôtres.
L'un des deux choix de départ lors de la création d'une base de données. Firebase présente le mode test comme pratique pour démarrer, mais précise qu'il permet à n'importe qui de lire et d'écraser vos données. Le mode production refuse toutes les lectures et écritures des clients mobiles et web tant que vous n'avez pas écrit de règles.
Cherchez une condition qui compare request.time avec une date fixe, comme request.time < timestamp.date(2026, 11, 1). Une fois cette date passée, toutes les requêtes échouent. Remplacez-la par de vraies règles plutôt que de repousser la date.
Firebase documente une limite de 10 appels d'accès aux documents pour les requêtes portant sur un seul document et les requêtes de recherche, et de 20 pour les lectures de plusieurs documents, les transactions et les écritures groupées. Au-delà, vous obtenez une erreur permission denied.
Non. Les règles protègent les requêtes des clients mobiles et web. Firebase indique que les bibliothèques clientes serveur contournent toutes les Cloud Firestore Security Rules, vérifiez donc les entrées séparément dans votre code serveur.
Lancez l'émulateur avec firebase emulators:start --only firestore, puis écrivez des tests avec le package @firebase/rules-unit-testing, en utilisant assertSucceeds et assertFails pour les actions autorisées et bloquées.
Ces modèles apparaissent dans les projets de démarrage et les tutoriels. Chacun laisse les données ouvertes.
Règles risquées et remplacements plus sûrs
Lancez l'émulateur Firestore, puis vérifiez que le propriétaire peut écrire et qu'un inconnu ne le peut pas.
Utilise un identifiant de projet de démo pour que rien n'atteigne une base en production. Exécutez-le pendant que firebase emulators:start --only firestore tourne.
Chaque utilisateur lit et modifie uniquement le document dont l'identifiant est égal à son identifiant utilisateur.
Tout le monde peut lire le catalogue de produits ; seuls les utilisateurs dont le profil a le rôle admin peuvent le modifier.
Un client ne peut créer une commande que pour lui-même, avec un total positif et un statut connu, et ne peut plus la modifier ensuite.
Les modifications de profil ne sont autorisées que si le champ role reste exactement identique.
Les fichiers sont rangés dans le dossier de chaque utilisateur ; les envois doivent être des images de moins de 5MB, et toute personne connectée peut les voir.
Les règles de Realtime Database sont en JSON. $uid capture la clé ; newData est la valeur en cours d'écriture.
Afficher les recettes pour
Tous les produits
Cloud Firestore
Cloud Storage
Realtime Database
{n} recettes affichées
Commencer gratuitement · Sans carte bancaire