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

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 commencer à utiliser les règles de sécurité en suivant les étapes de ce guide, en sécurisant vos données et en protégeant votre application contre les utilisateurs malveillants.Security Rules

Comprendre le langageFirebase Security Rules

Avant de commencer à écrire des règles, il est utile de prendre le temps de consulter le langage spécifique Firebase Security Rules pour les produits Firebase que vous utilisez. Realtime Database utilise une syntaxe semblable à JavaScript et une structure JSON pour ses Security Rules. Cloud Firestore et Cloud Storage utilisent un sur-ensemble du langage CEL (Common Expression Language) qui repose sur match et allow définissant une condition d'accès à un chemin défini.Cloud FirestoreCloud Storage

En savoir plus sur le Firebase Security Rules langage.

Configurer Authentication

Si ce n'est 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 aux Firebase Security Rules pour fournir des fonctionnalités de validation complètes.

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

En savoir plus sur Firebase Security Rules et Firebase Authentication.

Définir les structures de vos données et de vos règles

La façon dont vous structurez vos données peut avoir une incidence sur la façon 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 Security Rules structure.

Par exemple, dans Cloud Firestore, vous pouvez inclure un champ indiquant un rôle spécifique pour chaque utilisateur. Vos règles peuvent ensuite 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, Firebase Security Rules accorde 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 de votre hiérarchie de données.

Accéder à vos règles

Pour afficher vos Security Rules existantes, utilisez la Firebase CLI ou la Firebase console. Veillez à modifier vos règles de manière cohérente à l'aide de la même méthode pour éviter d'écraser accidentellement les 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écemment déployée de vos Firebase Security Rules.

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

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

Écrire des règles de base

Lorsque vous développez votre application et que vous comprenez Security Rules, essayez d'implémenter quelques règles de sécurité de base, y compris les cas d'utilisation suivants :

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

Tester vos règles

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

Si vous configurez vos Firebase Security Rules dans la console Firebase, vous pouvez utiliser le simulateur de règles Firebase pour valider rapidement le comportement. Toutefois, nous vous recommandons d'effectuer 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 Firebase Security Rules.