Les Firebase Security Rules offrent une protection robuste et entièrement personnalisable pour vos données dans Cloud Firestore, Realtime Database et Cloud Storage. Vous pouvez facilement obtenir avec Rules en suivant les étapes de ce guide, en sécurisant votre et protéger votre appli contre les utilisateurs malveillants.
Comprendre la langue suivante : Firebase Security Rules
Avant de commencer à rédiger des règles, prenez le temps de les examiner
la langue Firebase Security Rules spécifique aux produits Firebase que vous utilisez.
Realtime Database utilise une syntaxe semblable à JavaScript et une structure JSON pour ses Rules. Cloud Firestore et Cloud Storage exploitent également un sur-ensemble.
du langage CEL (Common Expression Language), qui repose sur match
et allow
qui définissent une condition d'accès selon un chemin défini.
En savoir plus sur la langue Firebase Security Rules
Configurer Authentication
Si vous ne l'avez pas déjà fait, identifiez vos utilisateurs avec Firebase Authentication. Firebase Authentication est compatible avec de nombreuses méthodes d'authentification courantes et s'intègre à Firebase Security Rules pour fournir des fonctionnalités de validation complètes.
Vous pouvez configurer des informations d'authentification supplémentaires et personnalisées pour votre application.
En savoir plus sur Firebase Security Rules et Firebase Authentication
Définir vos structures de données et de règles
La façon dont vous structurez vos données peut avoir une incidence sur la façon dont vous structurez et pour implémenter vos règles. Lorsque vous définissez vos structures de données, leur impact sur la structure de votre Rules.
Par exemple, dans Cloud Firestore, vous pouvez inclure un champ qui indique un rôle spécifique pour chaque utilisateur. Vos règles peuvent alors lire ce champ et l'utiliser pour accorder un accès basé sur des rôles.
Lorsque vous définissez vos architectures de données et de règles, gardez à l'esprit que, le cas échéant accorde l'accès à un ensemble de données, Firebase Security Rules autorise l'accès à cet ensemble de données. Dans d'autres termes, vous ne pouvez pas affiner l'accès au niveau d'un sous-chemin si vous avez accordé l'accès à à un niveau supérieur de la hiérarchie des données.
Accéder à vos règles
Pour afficher votre Rules existante, utilisez la CLI Firebase ou la Firebase. Veillez à modifier vos règles en utilisant la même méthode, régulièrement, pour éviter d'écraser par erreur des mises à jour. Si vous ne savez pas si vos règles définies localement reflètent les mises à jour les plus récentes, la console Firebase affiche toujours la version la plus récente de votre Firebase Security Rules.
Pour accéder à vos règles depuis la console Firebase, sélectionnez votre projet, puis accédez à Realtime Database, Cloud Firestore ou Stockage : Cliquez sur Règles une fois que vous êtes dans la base de données ou l'espace de stockage approprié. bucket.
Pour accéder à vos règles à partir de la CLI Firebase, accédez à de règles indiqué dans votre fichier firebase.json.
Écrire des règles de base
Lorsque vous développez votre application et que vous comprenez Rules, essayez d'implémenter quelques règles de sécurité de base, y compris les cas d'utilisation suivants :
- Propriétaire de contenu uniquement:limitez l'accès au contenu par utilisateur.
- Accès mixte : limitez l'accès en écriture par l'utilisateur, mais autorisez l'accès en lecture public.
- Accès basé sur des attributs:limitez l'accès à un groupe ou à un type d'utilisateur.
Tester vos règles
Pour valider entièrement le comportement de votre appli et valider votre Firebase Security Rules
de configuration, utilisez l'émulateur Firebase pour exécuter et automatiser les unités
dans un environnement local.
Si vous configurez votre Firebase Security Rules dans la console Firebase, vous pouvez utiliser le simulateur de règles Firebase pour valider rapidement leur comportement. Cependant, nous recommandez des tests plus approfondis avec l'émulateur Firebase avant de déployer votre les modifications en production.
Règles de déploiement
Utilisez la console Firebase ou la CLI Firebase pour déployer vos règles à la production. Suivez les étapes décrites dans la section Gérez et déployez Firebase Security Rules.