Règles de sécurité Firebase
Utilisez nos règles de sécurité Firebase flexibles et extensibles pour sécuriser vos données dans Cloud Firestore, Firebase Realtime Database et Cloud Storage.
Les règles de sécurité de Firebase se situent entre vos données et les utilisateurs malveillants. Vous pouvez écrire des règles simples ou complexes qui protègent les données de votre application au niveau de granularité requis par votre application spécifique.
Les règles de sécurité Firebase exploitent des langages de configuration extensibles et flexibles pour définir les données auxquelles vos utilisateurs peuvent accéder pour Realtime Database, Cloud Firestore et Cloud Storage. Les règles de sécurité de base de données en temps réel Firebase exploitent JSON dans les définitions de règles, tandis que les règles de sécurité Cloud Firestore et les règles de sécurité Firebase pour Cloud Storage exploitent un langage unique conçu pour s'adapter à des structures spécifiques à des règles plus complexes.
Découvrez comment configurer des règles pour les produits Firebase spécifiques que vous utilisez dans votre application et comment le comportement des règles diffère d'un produit Firebase à l'autre.
Capacités clés
La flexibilité | Écrivez des règles personnalisées adaptées à la structure et au comportement de votre application. Les règles utilisent des langages qui vous permettent d'exploiter vos propres données pour autoriser l'accès. |
Granularité | Vos règles peuvent être aussi larges ou aussi étroites que vous le souhaitez. |
Sécurité indépendante | Étant donné que les règles sont définies en dehors de votre application (dans la console Firebase ou la CLI Firebase), les clients ne sont pas responsables de l'application de la sécurité, les bogues ne compromettent pas les données et vos données sont toujours protégées. |
Comment travaillent-ils?
Les règles de sécurité Firebase fonctionnent en faisant correspondre un modèle aux chemins de base de données, puis en appliquant des conditions personnalisées pour autoriser l'accès aux données sur ces chemins. Toutes les règles des produits Firebase ont un composant de correspondance de chemin et une instruction conditionnelle permettant un accès en lecture ou en écriture. Vous devez définir des règles pour chaque produit Firebase que vous utilisez dans votre application.
Pour Cloud Firestore et Cloud Storage, les règles utilisent la syntaxe suivante :
service <<name>> {
// Match the resource path.
match <<path>> {
// Allow the request if the following conditions are true.
allow <<methods>> : if <<condition>>
}
}
Pour la base de données en temps réel, les règles basées sur JSON utilisent la syntaxe suivante :
{
"rules": {
"<<path>>": {
// Allow the request if the condition for each method is true.
".read": <<condition>>,
".write": <<condition>>
}
}
}
Les règles sont appliquées sous forme d'instructions OR
, et non d'instructions AND
. Par conséquent, si plusieurs règles correspondent à un chemin et que l'une des conditions correspondantes accorde l'accès, les règles accordent l'accès aux données de ce chemin. Par conséquent, si une règle générale accorde l'accès aux données, vous ne pouvez pas restreindre avec une règle plus spécifique. Vous pouvez toutefois éviter ce problème en vous assurant que vos règles ne se chevauchent pas trop. L'indicateur des règles de sécurité Firebase se chevauche dans vos chemins correspondants en tant qu'avertissements du compilateur.
Les règles de sécurité Firebase peuvent également tirer parti de l'authentification pour accorder des autorisations basées sur l'utilisateur, et les conditions que vous définissez peuvent être très basiques ou incroyablement complexes. En savoir plus sur le langage et le comportement des règles avant de commencer à écrire des règles.
Chemin de mise en œuvre
Intégrer les SDK du produit | Configurez Cloud Firestore , Cloud Storage ou Realtime Database pour votre application. | |
Rédigez vos règles de sécurité Firebase | En savoir plus sur le fonctionnement des règles et configurer quelques règles de base | |
Testez vos règles de sécurité Firebase | Utilisez les émulateurs Realtime Database et Cloud Firestore pour tester le comportement de votre application et valider vos règles avant de les déployer en production. | |
Déployez vos règles de sécurité Firebase | Utilisez la console Firebase ou la CLI Firebase pour déployer vos règles en production. |
Prochaines étapes
- Comprendre le langage des règles de sécurité Firebase .
- En savoir plus sur le fonctionnement des règles de sécurité Firebase .
- Explorez les erreurs courantes que vous devriez éviter .