Avec Cloud Firestore Security Rules, vous pouvez vous concentrer sur la création d'une expérience utilisateur exceptionnelle sans avoir à gérer l'infrastructure ni à écrire de code d'authentification et d'autorisation côté serveur.
Les règles de sécurité assurent le contrôle des accès et la validation des données à l'aide d'un format simple et expressif. Pour créer des systèmes où les accès sont basés sur les utilisateurs et sur les rôles afin de sécuriser les données utilisateurs, vous devez utiliser conjointement Firebase Authentication avec Cloud Firestore Security Rules.
Requête d'IA pour l'assistance IA
Pour obtenir de l'aide de l'IA, copiez la requête ci-dessous dans votre agent de codage IA (comme Gemini dans Android Studio, Antigravity, Claude Code, Codex et Cursor). Vous pouvez personnaliser la requête et interagir avec votre agent. Pour obtenir des informations détaillées sur l'installation, consultez Compétences agentiques Firebase.
Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me write, validate, and deploy Firebase Security Rules to protect my app's Firestore data.
Règles de sécurité version 2
La version 2 des règles de sécurité Cloud Firestore est disponible depuis mai 2019. La version 2 des règles modifie le comportement des caractères génériques récursifs {name=**}. Vous devez utiliser cette version si vous prévoyez d'utiliser des requêtes de groupe de collections. Vous devez activer la version 2 en ajoutant rules_version = '2'; à la première ligne de vos règles de sécurité :
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
Écrire des règles
Vous allez écrire et gérer des Cloud Firestore Security Rules adaptés au modèle de données que vous créez pour la base de données par défaut et pour chaque base de données supplémentaire de votre projet.
Tous les Cloud Firestore Security Rules se composent d'instructions match, qui identifient les documents de votre base de données, et d'expressions allow, qui contrôlent l'accès à ces documents :
service cloud.firestore {
match /databases/{database}/documents {
match /<some_path>/ {
allow read, write: if <some_condition>;
}
}
}
Chaque requête de base de données provenant d'une bibliothèque cliente Cloud Firestore mobile/Web est évaluée par rapport à vos règles de sécurité avant de lire ou d'écrire des données. Si ces règles refusent l'accès à l'un des chemins de document spécifiés, la requête entière échoue.
Voici quelques règles de base à titre d'exemple. Ces règles sont valides mais elles ne sont pas recommandées pour des applications de production :
Authentification requise
// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
Tout refuser
// Deny read/write access to all users under any conditions
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if false;
}
}
}
Allow all (Tout autoriser)
// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
Le chemin {document=**} utilisé dans les exemples ci-dessus
correspond à n'importe quel document de la base de données. Consultez le guide Structurer les règles de sécurité pour apprendre à
faire correspondre des chemins de données spécifiques et à travailler avec des données hiérarchiques.
Tester des règles
Cloud Firestore fournit un simulateur de règles que vous pouvez utiliser pour tester votre ensemble de règles. Vous pouvez accéder au simulateur dans la console Google Cloud et dans la console Firebase.
Le simulateur de règles vous permet de simuler des lectures, des écritures et des suppressions authentifiées et non authentifiées. Lorsque vous simulez une requête authentifiée, vous pouvez créer et prévisualiser des jetons d'authentification émis par différents fournisseurs. Les requêtes simulées sont évaluées à l'aide de l'ensemble de règles de l'éditeur. L'ensemble de règles déployé n'est pas utilisé.
Tester des règles dans la console Google Cloud
Le simulateur de règles de la console Google Cloud est disponible pour Firestore en mode natif dans les éditions Standard et Enterprise.
Autorisations requises
Pour tester les règles de sécurité dans la console Google Cloud, vous devez disposer de l'autorisation IAM suivante :
firebaserules.rulesets.test
Pour simuler une requête de base de données dans la console Google Cloud :
- Dans la console Google Cloud, accédez à la page Base de données.
- Cliquez sur l'ID de la base de données que vous souhaitez tester.
- Dans le menu de navigation, cliquez sur Sécurité.
- Cliquez sur l'onglet Simulateur.
- Dans la liste déroulante Type de simulation, sélectionnez un type d'opération : get, create, update ou delete.
- Dans le champ Emplacement, saisissez le chemin d'accès au document que vous souhaitez tester (par exemple,
users/user_123). - (Facultatif) Pour les requêtes create et update, cliquez sur Build document pour configurer la charge utile du document fictif.
- (Facultatif) Pour simuler une requête authentifiée, activez Authentification, sélectionnez un fournisseur d'authentification (par exemple, google.com ou Anonyme), puis configurez les champs du payload du jeton.
- Cliquez sur Exécuter.
Le panneau d'évaluation indique si la requête a été autorisée ou refusée, des éléments de rapport détaillés pour chaque condition évaluée et des mises en évidence au niveau des lignes dans l'éditeur de code.
Tester les règles dans la console Firebase
Pour tester les règles dans la console Firebase, accédez à Bases de données et stockage > Firestore > onglet Règles. Cliquez sur Bac à sable des règles pour ouvrir les paramètres du simulateur, sélectionnez vos options de simulation, puis cliquez sur Exécuter.
Déployer des règles
Avant de pouvoir commencer à utiliser Cloud Firestore depuis votre application mobile, vous devez déployer des règles de sécurité. Vous pouvez déployer des règles dans la console Firebase, dans la console Google Cloud, à l'aide de la Firebase CLI ou avec l'API REST de gestion Cloud Firestore.
Il peut s'écouler jusqu'à une minute avant que les modifications apportées à Cloud Firestore Security Rules ne soient prises en compte pour les nouvelles requêtes et les nouveaux écouteurs. Toutefois, la propagation complète des modifications sur tous les écouteurs actifs peut prendre jusqu'à 10 minutes.
Utiliser la console Firebase
Pour configurer et déployer votre premier ensemble de règles pour la base de données par défaut de votre projet, accédez à Bases de données et stockage > Firestore > onglet Règles dans la console Firebase.
Si vous créez plusieurs bases de données pour votre projet, vous pouvez déployer Cloud Firestore Security Rules pour chacune d'elles. Dans la console Firebase, utilisez le sélecteur de base de données pour basculer entre la base de données par défaut et les bases de données supplémentaires.
Rédigez les règles dans l'éditeur en ligne, puis cliquez sur Publier.
Utiliser la console Google Cloud
Vous pouvez gérer et déployer des Cloud Firestore Security Rules directement dans la console Google Cloud. L'éditeur de règles est disponible pour Firestore en mode natif dans les éditions Standard et Enterprise.
Autorisations requises
Pour gérer et déployer des règles de sécurité dans la console Google Cloud, vous devez disposer des autorisations IAM suivantes :
firebaserules.releases.createfirebaserules.releases.deletefirebaserules.releases.updatefirebaserules.rulesets.createfirebaserules.rulesets.deletefirebaserules.rulesets.listfirebaserules.rulesets.test(requis pour utiliser le simulateur de règles)
Pour déployer des règles dans la console Google Cloud :
- Dans la console Google Cloud, accédez à la page Base de données.
- Cliquez sur l'ID de la base de données que vous souhaitez gérer.
- Dans le menu de navigation, cliquez sur Sécurité.
- Cliquez sur l'onglet Règles Firestore.
- Dans l'éditeur de règles, affichez vos règles. Pour modifier vos règles, cliquez sur Nouvel ensemble de règles ou Cloner l'ensemble de règles, puis modifiez vos règles.
- Cliquez sur Publier pour déployer vos modifications.
Vous pouvez également afficher les ensembles de règles précédents dans la chronologie, puis les cloner ou les restaurer.
Utiliser la CLI Firebase
Vous pouvez également déployer des règles à l'aide de la CLI Firebase. Si vous utilisez l'interface de ligne de commande, vous pouvez bénéficier du contrôle de version pour conserver vos règles comme le code de votre application et pour les déployer dans le cadre du processus de déploiement existant.
// Set up Firestore in your project directory, creates a .rules file
firebase init firestore
// Edit the generated .rules file to your desired security rules
// ...
// Deploy rules for all configured databases
firebase deploy --only firestore
Renforcer la sécurité pour Cloud Storage
Vos applications bénéficieront des fonctionnalités robustes de base de données de Cloud Firestore et des fonctionnalités de stockage et de gestion de fichiers de Cloud Storage. Utilisés ensemble, ces produits renforcent également la sécurité des applications, car Cloud Firestore peut capturer les exigences d'autorisation utilisables par les règles de sécurité Firebase pour les deux produits. Pour en savoir plus, consultez le guide pour Cloud Storage.
Étapes suivantes
- Découvrir comment structurer les règles de sécurité.
- Rédiger des règles de sécurité personnalisées.
- Consulter la documentation de référence sur les règles de sécurité.