Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Firebase Security Rules
plat_iosplat_androidplat_webplat_flutterplat_node
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
Firebase Security Rules se situe entre vos données et les utilisateurs malveillants. Vous pouvez écrire
des phrases simples ou
des règles complexes qui protègent les données de votre application avec le niveau de précision
spécifiques à votre application.
Levier de Firebase Security Rules
des langages de configuration extensibles et flexibles pour définir quelles données vos utilisateurs
peut accéder pour Realtime Database, Cloud Firestore et Cloud Storage.
Les Firebase Realtime Database Security Rules utilisent le format JSON dans les définitions de règles, tandis que
Cloud Firestore Security Rules et Firebase Security Rules pour Cloud Storage exploitent une
conçu pour s'adapter à des structures
spécifiques aux règles complexes.
En savoir plus sur la configuration de Rules pour des produits Firebase spécifiques
que vous utilisez dans votre application, et en quoi le comportement de Rules diffère selon les Firebase
produits.
Rédigez des règles personnalisées qui ont du sens pour la structure et le comportement de votre application.
Rules utilisent des langages qui vous permettent d'exploiter vos propres données
pour autoriser l'accès.
Précision
Vous pouvez définir des règles aussi larges qu'étroites selon vos besoins.
Sécurité indépendante
Parce que les Rules sont définies en dehors de votre application (dans la console Firebase ou
Firebase CLI), 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 fonctionnent-ils ?
Firebase Security Rules fonctionnent en mettant en correspondance un modèle avec les chemins d'accès de la base de données, puis en appliquant
des conditions personnalisées pour permettre
l'accès aux données à ces chemins. Tous les Rules des produits Firebase comportent un composant de mise en correspondance de chemin d'accès et une instruction conditionnelle permettant d'accéder en lecture ou en écriture. Vous devez définir Rules pour
chaque produit Firebase
utilisé dans votre application.
Pour Cloud Firestore et Cloud Storage, Rules utilise les éléments suivants :
syntaxe:
service <<name>> {
// Match the resource path.
match <<path>> {
// Allow the request if the following conditions are true.
allow <<methods>> : if <<condition>>
}
}
Pour Realtime Database, la méthode Rules basée sur JSON utilise la syntaxe suivante:
{
"rules": {
"<<path>>": {
// Allow the request if the condition for each method is true.
".read": <<condition>>,
".write": <<condition>>
}
}
}
Les instructions Rules sont appliquées en tant qu'instructions OR, et non en tant qu'instructions AND.
Par conséquent, si plusieurs règles correspondent à un chemin d'accès, et si l'une des correspondances
accorde l'accès, Rules accorde l'accès aux données à ce
chemin d'accès. Par conséquent, si une règle large 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
Les Rules ne se chevauchent pas trop. Chevauchement de l'indicateur Firebase Security Rules dans votre
les chemins correspondants en tant qu'avertissements du compilateur.
Firebase Security Rules peut également utiliser Authentication pour accorder des autorisations basées sur l'utilisateur.
conditions que vous définissez peuvent être
très basiques ou incroyablement complexes. En savoir plus
sur la langue et le comportementRules
avant de commencer à écrire Rules.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/24 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/24 (UTC)."],[],[],null,["Firebase Security Rules \nplat_ios plat_android plat_web plat_flutter plat_node \nUse our flexible, extensible Firebase Security Rules to\nsecure your data in Cloud Firestore, Firebase Realtime Database, and\nCloud Storage.\n\nFirebase Security Rules stand between your data and malicious users. You can write simple or\ncomplex rules that protect your app's data to the level of granularity that\nyour specific app requires.\n\nFirebase Security Rules leverage\nextensible, flexible configuration languages to define what data your users\ncan access for Realtime Database, Cloud Firestore, and Cloud Storage.\nFirebase Realtime Database Security Rules leverage JSON in rule definitions, while\nCloud Firestore Security Rules and Firebase Security Rules for Cloud Storage leverage a unique\nlanguage built to accommodate more complex rules-specific structures.\n\nLearn more about how to set up Rules for the specific Firebase products\nyou use in your app, and how Rules behavior differs across Firebase\nproducts.\n\n[Get started](/docs/rules/get-started)\n\nKey capabilities\n\n|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Flexibility | Write custom rules that make sense for your app's structure and behavior. Rules use languages that allow you to leverage your own data to authorize access. |\n| Granularity | Your rules can be as broad or as narrow as you need. |\n| Independent security | Because Rules are defined outside of your app (in the Firebase console or Firebase CLI), clients aren't responsible for enforcing security, bugs don't compromise data, and your data is always protected. |\n\nHow do they work?\n\nFirebase Security Rules work by matching a pattern against database paths, and then applying\ncustom conditions to allow access to data at those paths. All Rules\nacross Firebase products have a path-matching component and a conditional\nstatement allowing read or write access. You must define Rules for\neach Firebase product you use in your app.\n\nFor Cloud Firestore and Cloud Storage, Rules use the following\nsyntax: \n\n service \u003c\u003cname\u003e\u003e {\n // Match the resource path.\n match \u003c\u003cpath\u003e\u003e {\n // Allow the request if the following conditions are true.\n allow \u003c\u003cmethods\u003e\u003e : if \u003c\u003ccondition\u003e\u003e\n }\n }\n\nFor Realtime Database, JSON-based Rules use the following syntax: \n\n {\n \"rules\": {\n \"\u003c\u003cpath\u003e\u003e\": {\n // Allow the request if the condition for each method is true.\n \".read\": \u003c\u003ccondition\u003e\u003e,\n \".write\": \u003c\u003ccondition\u003e\u003e\n }\n }\n }\n\nRules are applied as `OR` statements, not `AND` statements.\nConsequently, if multiple rules match a path, and any of the matched\nconditions grants access, Rules grant access to the data at that\npath. Therefore, if a broad rule grants access to data, you can't restrict with\na more specific rule. You can, however, avoid this problem by making sure your\nRules don't overlap too much. Firebase Security Rules flag overlaps in your\nmatched paths as compiler warnings.\n\nFirebase Security Rules can also leverage Authentication to grant user-based permissions, and the\nconditions you set can be very basic or incredibly complex. Learn more\nabout Rules [language](/docs/rules/rules-language) and [behavior](/docs/rules/rules-behavior)\nbefore you start writing Rules.\n\nImplementation path\n\n|---|-------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|\n| | Integrate the product SDKs | Set up [Cloud Firestore](/docs/firestore), [Cloud Storage](/docs/storage), or [Realtime Database](/docs/database) for your app. |\n| | Write your Firebase Security Rules | Learn more about [how Rules work](/docs/rules/rules-behavior) and [set up some basic Rules](/docs/rules/basics) |\n| | Test your Firebase Security Rules | Use the Realtime Database and Cloud Firestore emulators to test your app's behavior and validate your rules before you deploy them to production. |\n| | Deploy your Firebase Security Rules | Use the Firebase console or the Firebase CLI to deploy your rules to production. |\n\nNext steps\n\n- [Understand the Firebase Security Rules language](/docs/rules/rules-language).\n- Learn more about [how Firebase Security Rules work](/docs/rules/rules-behavior).\n- Explore the [common mistakes you should avoid](/docs/rules/insecure-rules)."]]