FirexportGuides

Comment exporter les règles de sécurité et les index Firestore

La console Firebase affiche vos règles de sécurité Firestore dans un éditeur et vos index dans un tableau, mais aucun bouton ne permet de les enregistrer dans un fichier. Les fichiers que déploie la Firebase CLI sont firestore.rules et firestore.indexes.json. Il existe trois façons de les obtenir. Celle qui convient dépend de deux choses : si vous déployez depuis un dossier de projet, et quelle version des règles il vous faut.

Mis à jour le 27 octobre 2026. Firexport, l’extension de la méthode 1, est la nôtre. Les méthodes 2 et 3 n’en ont pas besoin.

La réponse courte

  • Les règles ou les index dans un fichier, depuis la console, sans la CLI: exportez-les depuis les onglets Règles (Rules) et Index (Indexes) avec une extension de navigateur. Méthode 1
  • Un dossier de projet depuis lequel vous déployez avec firebase deploy: firebase init firestore, ou firebase firestore:indexes. Méthode 2
  • Seulement les règles, une seule fois: copiez-les depuis l’onglet Règles (Rules). Méthode 3
1. Console + extension2. Firebase CLI3. Copie depuis la console
Mise en placeInstaller une extension ChromeNode.js et la Firebase CLIAucune
Règlesfirestore.rules, gratuitfirestore.rulesCollées dans un fichier
Versions précédentes et brouillonsOui, celle qu’affiche l’éditeurNon, les dernières règles publiéesOui
IndexLe tableau en JSON, gratuit. firestore.indexes.json avec Advancedfirestore.indexes.jsonNon

1. Exporter depuis la console Firebase avec Firexport

Firexport est une extension Chrome gratuite qui ajoute un bouton Exporter aux onglets Règles (Rules) et Index (Indexes) de Firestore. Aucune connexion n’est demandée, et rien n’est lu dans votre base de données : Firexport enregistre ce que la console affiche déjà.

Règles de sécurité

  1. Installez Firexport depuis le Chrome Web Store.
  2. Dans la console Firebase, ouvrez Firestore Database > Règles (Rules).
  3. Pour exporter une version précédente, choisissez-la dans la liste de gauche. Les modifications non publiées de l’éditeur sont exportées telles quelles.
  4. Cliquez sur Exporter, à l’extrémité droite de la barre au-dessus de l’éditeur. Firexport enregistre le texte de l’éditeur sous firestore.rules.

Le fichier contient exactement ce que contient l’éditeur, octet pour octet, commentaires et lignes vides compris. L’export des règles est gratuit dans toutes les formules.

L’onglet Règles de Firestore dans la console Firebase, avec les versions précédentes à gauche et le bouton Exporter que Firexport ajoute au-dessus de l’éditeur de règles
Le bouton Exporter se trouve au-dessus de l’éditeur et enregistre la version choisie à gauche.

Index

  1. Ouvrez Firestore Database > Index (Indexes).
  2. Cliquez sur Exporter, à côté du bouton Ajouter un index (Add index).
  • Dans la version gratuite, Firexport enregistre en JSON le tableau affiché, toutes ses pages comprises : les index composites sous Manuel (Manual), les exemptions d’index à champ unique sous Automatique (Automatic). C’est le tableau tel que la console l’affiche : firebase deploy ne peut donc pas le lire, et le fichier ne s’appelle pas firestore.indexes.json.
  • Avec Advanced, Firexport enregistre firestore.indexes.json : les index composites et les remplacements de champ ensemble, quel que soit le tableau affiché, au format que produit firebase firestore:indexes. Pour une base de données nommée, le fichier s’appelle firestore.<database>.indexes.json.
  • Une différence avec le fichier de la CLI : un champ doté d’une règle TTL mais sans exemption d’index n’y figure pas, car la console ne charge pas ces champs.
L’onglet Index de Firestore dans la console Firebase, avec la liste des index composites et le bouton Exporter que Firexport ajoute à côté du bouton Ajouter un index
Le bouton Exporter se trouve à côté du bouton Ajouter un index. Tourner les pages du tableau ne lit rien dans votre base de données.

Exportez les règles et les index Firestore depuis la console, sans installer la Firebase CLI.

Ajouter à Chrome — gratuit

2. Les télécharger avec la Firebase CLI

La Firebase CLI écrit les deux fichiers quand elle configure Firestore dans un dossier : firebase init firestore télécharge les règles et les index déployés sur le projet. Pour les index seuls, firebase firestore:indexes affiche le contenu de firestore.indexes.json. Les deux commandes sont gratuites et nécessitent Node.js.

npm install -g firebase-tools
firebase login

# Rules and indexes, into firestore.rules and firestore.indexes.json
firebase init firestore

# Or only the indexes
firebase firestore:indexes --project your-project-id > firestore.indexes.json
  • init demande le projet et les noms des fichiers, et écrit un firebase.json qui pointe vers eux. La commande télécharge les dernières règles publiées, et non une version précédente ou un brouillon non publié.
  • Pour une base de données autre que (default), ajoutez --database <id> à firestore:indexes. init demande quelle base de données configurer, mais récupère les règles sans le nom de la base : vérifiez donc que firestore.rules provient bien de celle que vous vouliez.

3. Copier les règles depuis la console

Pour les règles actuelles, une seule fois, la console suffit. Ouvrez Firestore Database > Règles (Rules), cliquez dans l’éditeur, sélectionnez tout avec Ctrl+A (⌘A sur Mac), copiez, puis collez le tout dans un fichier nommé firestore.rules. Pour copier une version précédente, choisissez-la d’abord à gauche.

Les index n’ont pas ce raccourci. L’onglet Index (Indexes) est un tableau, pas du texte : pour en faire un fichier, il faut écrire chaque index à la main dans firestore.indexes.json.

Redéployer les fichiers

Les deux fichiers se placent à côté d’un firebase.json qui les nomme, celui qu’écrit firebase init firestore :

{
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  }
}

Exécutez ensuite firebase deploy --only firestore, ou firestore:rules ou firestore:indexes pour n’en déployer qu’un.

  • Si le projet a des index que le fichier ne liste pas, la CLI les affiche et demande confirmation avant de les supprimer. --force les supprime sans demander. Une règle TTL absente du fichier n’est pas supprimée.
  • Ajoutez --project pour déployer les mêmes règles et index sur un autre projet, par exemple de la production vers la préproduction.
  • Les règles déployées s’appliquent immédiatement à tous les clients : testez donc d’abord vos modifications dans l’émulateur Firestore.

FAQ

Peut-on télécharger les règles de sécurité Firestore depuis la console Firebase ?

Aucun bouton ne le permet. L’onglet Règles (Rules) les affiche dans un éditeur depuis lequel vous pouvez les copier, firebase init firestore les télécharge dans firestore.rules, et une extension de navigateur comme Firexport ajoute un bouton Exporter qui les enregistre sous firestore.rules.

Comment exporter les index Firestore dans firestore.indexes.json ?

Exécutez firebase firestore:indexes > firestore.indexes.json avec la Firebase CLI, ou exportez le fichier depuis l’onglet Index (Indexes) avec Firexport Advanced. Les deux écrivent les index composites et les remplacements de champ au format que lit firebase deploy.

Comment copier les index Firestore vers un autre projet ?

Exportez firestore.indexes.json depuis le premier projet, puis exécutez firebase deploy --only firestore:indexes --project suivi de l’ID de l’autre projet. Les nouveaux index sont créés en arrière-plan, et les requêtes qui en exigent un échouent tant qu’il n’apparaît pas comme Activé (Enabled).

Puis-je récupérer une version précédente de mes règles Firestore ?

Oui, depuis la console. L’onglet Règles (Rules) liste les versions précédentes à gauche ; choisissez-en une pour l’afficher, puis copiez-la ou exportez-la avec Firexport. firebase init firestore ne télécharge que les dernières règles publiées.

Exporter les règles ou les index coûte-t-il des lectures Firestore ?

Non. Les règles et les définitions d’index ne sont pas des documents : les enregistrer ne lit donc rien dans votre base de données, que ce soit depuis la console, avec la CLI ou avec Firexport.