Premiers pas avec les règles de sécurité Firebase

Les règles de sécurité Firebase offrent une protection robuste et entièrement personnalisable pour vos données dans Cloud Firestore, Realtime Database et Cloud Storage. Vous pouvez facilement démarrer avec les règles en suivant les étapes de ce guide, en sécurisant vos données et en protégeant votre application contre les utilisateurs malveillants.

Comprendre le langage des règles de sécurité Firebase

Avant de commencer à écrire des règles, il vaut la peine de prendre le temps d'examiner le langage spécifique des règles de sécurité Firebase pour les produits Firebase que vous utilisez. La base de données en temps réel exploite une syntaxe de type JavaScript et une structure JSON pour ses règles. Alternativement, Cloud Firestore et Cloud Storage exploitent un sur-ensemble du Common Expression Language (CEL) qui s'appuie sur des déclarations de match et allow qui définissent une condition d'accès à un chemin défini.

En savoir plus sur le langage des règles de sécurité Firebase .

Configurer l'authentification

Si vous ne l'avez pas déjà fait, identifiez vos utilisateurs avec Firebase Authentication . Firebase Authentication prend en charge de nombreuses méthodes d'authentification courantes et s'intègre aux règles de sécurité Firebase pour fournir des fonctionnalités de vérification complètes.

Vous pouvez configurer des informations d'authentification personnalisées supplémentaires pour votre application.

En savoir plus sur les règles de sécurité Firebase et l'authentification Firebase .

Définissez vos structures de données et de règles

La manière dont vous structurez vos données peut affecter la manière dont vous structurez et implémentez vos règles. Lorsque vous définissez vos structures de données, tenez compte des implications qu'elles peuvent avoir sur votre structure de règles.

Par exemple, dans Cloud Firestore, vous pouvez inclure un champ indiquant un rôle spécifique pour chaque utilisateur. Ensuite, vos règles peuvent lire ce champ et l'utiliser pour accorder un accès basé sur les rôles.

Lorsque vous définissez vos architectures de données et de règles, gardez à l'esprit que, si une règle accorde l'accès à un ensemble de données, les règles de sécurité Firebase accordent l'accès à cet ensemble de données. En d'autres termes, vous ne pouvez pas affiner l'accès à un sous-chemin si vous avez accordé l'accès à un niveau supérieur dans votre hiérarchie de données.

Accédez à vos règles

Pour afficher vos règles existantes, utilisez la CLI Firebase ou la console Firebase. Assurez-vous de modifier vos règles en utilisant la même méthode, de manière cohérente, pour éviter d'écraser par erreur les mises à jour. Si vous n'êtes pas sûr que 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écemment déployée de vos règles de sécurité Firebase.

Pour accéder à vos règles depuis la console Firebase , sélectionnez votre projet, puis accédez à Realtime Database , Cloud Firestore ou Storage . Cliquez sur Règles une fois que vous vous trouvez dans la bonne base de données ou le bon compartiment de stockage.

Pour accéder à vos règles à partir de la CLI Firebase, accédez au fichier de règles noté dans votre fichier firebase.json .

Rédiger les règles de base

Au fur et à mesure que vous développez votre application et que vous comprenez les règles, essayez de mettre en œuvre quelques règles de sécurité de base , notamment les cas d'utilisation suivants :

  • Propriétaire de contenu uniquement : limitez l'accès au contenu par utilisateur.
  • Accès mixte : restreignez l'accès en écriture par utilisateur, mais autorisez l'accès en lecture public.
  • Accès basé sur les attributs : restreignez l'accès à un groupe ou à un type d'utilisateur.

Testez vos règles

Pour valider entièrement le comportement de votre application et vérifier vos règles de sécurité Firebase
configurations, utilisez l' émulateur Firebase pour exécuter et automatiser les tests unitaires dans un environnement local.

Si vous configurez vos règles de sécurité Firebase dans la console Firebase, vous pouvez utiliser le simulateur de règles Firebase pour valider rapidement le comportement. Cependant, nous recommandons des tests plus approfondis avec l'émulateur Firebase avant de déployer vos modifications en production.

Déployer des règles

Utilisez la console Firebase ou la CLI Firebase pour déployer vos règles en production. Suivez les étapes décrites dans Gérer et déployer les règles de sécurité Firebase .