Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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 Rules en suivant les étapes de ce guide, en sécurisant vos données et en protégeant votre application des 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 utilise une syntaxe de type JavaScript et une structure JSON pour ses règles.

Commencez par l' apprentissage de la syntaxe de base du langage Règles de sécurité Firebase .

Configurer l'authentification

Si vous ne l' avez pas déjà fait, ajoutez Firebase authentification à votre application . L'authentification Firebase prend en charge de nombreuses méthodes d'authentification courantes et s'intègre aux règles de sécurité Firebase pour fournir des capacités de vérification complètes.

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

En savoir plus sur Firebase Règles et Firebase d' authentification de sécurité .

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

Définir les données pour la sécurité

La façon dont vous structurez vos données peut affecter la façon dont vous structurez et implémentez vos règles. Lorsque vous définissez vos structures de données, réfléchissez aux implications qu'elles pourraient avoir sur votre structure de règles.

Par exemple, dans Realtime Database, vous souhaiterez peut-être inclure un champ qui désigne 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 la façon dont les règles sont en cascade ou non, en fonction de votre produit. Avec la base de données en temps réel, les règles fonctionnent de haut en bas, les règles moins profondes remplaçant les règles plus profondes. Si une règle accorde des autorisations de lecture ou d'écriture sur un chemin particulier, elle accorde également l'accès à tous les nœuds enfants qu'elle contient. En revanche, avec Cloud Firestore et Cloud Storage, les règles s'appliquent uniquement à des niveaux spécifiés de la hiérarchie des données, et vous écrivez des règles explicites pour contrôler l'accès à différents niveaux.

Accédez à vos règles

Pour afficher vos règles existantes, utilisez l'interface de ligne de commande 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 de la console Firebase , sélectionnez votre projet, puis dans le panneau de navigation à gauche, cliquez sur Base de données en temps réel. Cliquez sur Règles une fois que vous êtes dans le seau de base de données ou de stockage correcte.

Pour accéder à vos règles de la CLI Firebase, allez dans le fichier de règles indiqué dans votre fichier firebase.json .

Écrire des règles de base

Comme vous développez votre application et règles compréhension, essayez la mise en œuvre les règles pour traiter quelques cas d'utilisation de base , y compris les éléments suivants:

  • Content-propriétaire uniquement: Limiter l' accès au contenu par l' utilisateur.
  • Accès mixte: Baliser l' accès en écriture par l' utilisateur, mais permettre l' accès de lecture publique.
  • Un accès basé sur les attributs: restreindre l' accès à un groupe ou un type d'utilisateur.

Testez vos règles

Si vous configurez vos règles de sécurité Firebase dans la console Firebase, vous pouvez utiliser les règles Firebase Aire de jeu pour comportement validate rapidement. Cependant, nous recommandons de tester plus en profondeur avec l' émulateur local Suite avant de déployer vos modifications à la 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 règles de sécurité .