Firebase Security Rules

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 protègent vos données contre les utilisateurs malveillants. Vous pouvez écrire des règles simples ou complexes qui protègent les données de votre application au niveau de précision requis par votre application spécifique.

Firebase Security Rules 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. Firebase Realtime Database Security Rules exploitent JSON dans les définitions de règles, tandis que Cloud Firestore Security Rules et Firebase Security Rules pour Cloud Storage exploitent un langage unique conçu pour s'adapter à des structures plus complexes spécifiques aux règles.

Découvrez comment configurer des Security Rules pour les produits Firebase spécifiques que vous utilisez dans votre application et comment le comportement des Security Rules diffère selon les produits Firebase.

Commencer

Capacités clés

Flexibilité Écrivez des règles personnalisées adaptées à la structure et au comportement de votre application. Security Rules utilisent des langages qui vous permettent d'exploiter vos propres données pour autoriser l'accès.
Précision Vos règles peuvent être aussi larges ou aussi précises que vous le souhaitez.
Sécurité indépendante Étant donné que Security Rules sont définies en dehors de votre application (dans la console Firebase ou l'interface de ligne de commande Firebase), les clients ne sont pas responsables de l'application de la sécurité, les bugs ne compromettent pas les données et vos données sont toujours protégées.

Comment fonctionnent-elles ?

Firebase Security Rules fonctionnent en faisant correspondre un modèle à des chemins de base de données, puis en appliquant des conditions personnalisées pour autoriser l'accès aux données de ces chemins. Tous les Security Rules des produits Firebase comportent un composant de correspondance de chemin et une instruction conditionnelle autorisant l'accès en lecture ou en écriture. Vous devez définir Security Rules pour chaque produit Firebase que vous utilisez dans votre application.

Pour Cloud Firestore et Cloud Storage, Security Rules 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 Realtime Database, les Security Rules 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>>
    }
  }
}

Security Rules sont appliquées en tant qu'OR instructions, et non AND instructions. Par conséquent, si plusieurs règles correspondent à un chemin et que l'une des conditions correspondantes accorde l'accès, Security Rules 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 le restreindre avec une règle plus spécifique. Vous pouvez toutefois éviter ce problème en vous assurant que vos Security Rules ne se chevauchent pas trop. Firebase Security Rules signalent les chevauchements dans vos chemins correspondants en tant qu'avertissements du compilateur.

Firebase Security Rules peuvent également exploiter Authentication pour accorder des autorisations basées sur l'utilisateur. Les conditions que vous définissez peuvent être très simples ou incroyablement complexes. Découvrez le langage et le comportement des règles de sécurité avant de commencer à les écrire Security Rules.Security Rules

Chemin d'accès de l'exécution

Intégrer les SDK des produits Configurez Cloud Firestore, Cloud Storage, ou Realtime Database pour votre application.
Écrire vos Firebase Security Rules Découvrez comment fonctionnent Security Rules et configurez des règles de sécurité de base Security Rules
Tester votre Firebase Security Rules 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éployer vos Firebase Security Rules Utilisez la Firebase console ou la Firebase CLI pour déployer vos règles en production.

Étapes suivantes