Exemples de règles de sécurité Firebase

Exemples de règles de sécurité Firebase : Firestore, Storage, RTDB | We.Inc

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.

Exemples de règles de sécurité Firebase

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.

Questions fréquentes

Qu'est-ce que le mode test de Firestore ?

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.

Pourquoi mon application reçoit-elle soudain des erreurs permission denied ?

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.

Combien d'appels get() une règle peut-elle faire ?

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.

Les règles de sécurité s'appliquent-elles à mon code serveur ?

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.

Comment tester les règles sans toucher aux données en production ?

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.

Comment se lit une règle

Des rôles sans backend

Les règles à supprimer avant le lancement

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

Tester les règles avec l'émulateur

Lancez l'émulateur Firestore, puis vérifiez que le propriétaire peut écrire et qu'un inconnu ne le peut pas.

Test unitaire des règles avec @firebase/rules-unit-testing

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.

Profils réservés au propriétaire

Chaque utilisateur lit et modifie uniquement le document dont l'identifiant est égal à son identifiant utilisateur.

Lecture publique, écriture admin

Tout le monde peut lire le catalogue de produits ; seuls les utilisateurs dont le profil a le rôle admin peuvent le modifier.

Valider les nouvelles commandes

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 utilisateurs ne peuvent pas changer leur propre rôle

Les modifications de profil ne sont autorisées que si le champ role reste exactement identique.

Les utilisateurs envoient leurs propres images de moins de 5MB

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.

Données réservées au propriétaire avec validation

Les règles de Realtime Database sont en JSON. $uid capture la clé ; newData est la valeur en cours d'écriture.

Recettes de règles

Afficher les recettes pour

Tous les produits

Cloud Firestore

Cloud Storage

Realtime Database

{n} recettes affichées

Commencer gratuitement · Sans carte bancaire

Voir aussi: Guides

Produit

Pour qui

Fonctionnalités

Ressources

Entreprise

Plan du site