Cette requête peut aider votre assistant IA (comme Gemini CLI) à générer et à affiner Firebase Security Rules pour votre application. Vous pouvez utiliser la requête pour rédiger Security Rules pour des cas d'utilisation courants, tels que l'octroi d'un accès spécifique à l'utilisateur, l'implémentation d'autorisations basées sur les rôles et la validation des données.
Ce prompt se concentre sur la génération de Security Rules pour :
- Cloud Firestore : sécurisez les collections et les documents en fonction de la logique de votre application.
- Cloud Storage for Firebase : validez les autorisations d'accès à vos fichiers stockés.
Cette requête peut vous aider à adopter une stratégie de sécurité solide, mais vous devez toujours tester minutieusement votre Security Rules avant de le déployer en production. Pour en savoir plus sur le test de Security Rules, consultez Premiers pas avec Firebase Security Rules : tester votre Security Rules.
Prérequis
- Familiarisez-vous avec les bonnes pratiques Firebase Security Rules.
- Pour exécuter des tests unitaires pour Firebase Security Rules et utiliser Firebase Local Emulator Suite, installez Node.js et l'interface de ligne de commande Firebase. Pour obtenir des instructions complètes, consultez Installer, configurer et intégrer Firebase Local Emulator Suite.
- Recommandation : si ce n'est pas déjà fait, installez Gemini CLI. Les instructions suivantes expliquent comment installer et utiliser une extension Gemini CLI pour générer Security Rules. Si vous préférez utiliser un autre assistant IA, vous pouvez copier et coller la requête depuis le dépôt de l'extension dans l'assistant IA de votre choix.
- Cette extension Gemini CLI utilise le serveur Firebase MCP pour valider le Firebase Security Rules qu'elle génère. Le serveur MCP peut également être utilisé pour faciliter les tests et le déploiement de votre Security Rules. Installez le serveur Firebase MCP avant d'utiliser l'extension pour générer Firebase Security Rules.
Limites
Nous mettons tout en œuvre pour améliorer cette fonctionnalité. Cette liste de limites est donc susceptible d'évoluer. Consultez cette page régulièrement pour vous tenir informé.
La requête est conçue pour générer Firebase Security Rules pour Cloud Firestore et Cloud Storage for Firebase. Il n'est pas encore capable de générer des Security Rules pour Firebase Realtime Database.
Firebase Security Rules ne sont pas appelées lorsque vous accédez à votre base de données ou à votre bucket depuis un serveur ou un autre environnement de backend, par exemple lorsque vous utilisez Firebase Admin SDK. Si vous utilisez Admin SDK, vous êtes responsable de la gestion de l'autorisation et de la validation des données dans votre code de backend.
Gemini dans Firebase au sein de la console Firebase ne peut pas générer de Firebase Security Rules, même en utilisant cette requête. Utilisez plutôt un autre assistant IA ayant accès à votre codebase, comme Gemini CLI (décrit sur cette page).
Utiliser le prompt
Cette invite est disponible dans l'extension Gemini CLI pour Firebase Security Rules afin de générer votre Security Rules et vos tests. Cette extension analyse votre code source pour vous aider à identifier les schémas de données et les modèles d'accès pour Cloud Firestore et Cloud Storage. Il est conçu pour rédiger des Security Rules en fonction du principe du moindre privilège et tente de découvrir les failles grâce à des simulations d'attaque itératives. Pour vous aider à effectuer la validation finale, il fournit une suite de tests unitaires de départ à l'aide de @firebase/rules-unit-testing, ce qui vous permet de valider votre logique de sécurité en local à l'aide de Firebase Local Emulator Suite.
L'utilisation de cette extension nécessite trois étapes décrites dans cette section :
Étape 1 : Générer Security Rules et des tests
Installez et exécutez l'extension :
Installez l'extension Gemini CLI :
gemini extensions install https://github.com/firebase/snippets-rulesLancez Gemini CLI :
geminiÀ la racine de votre projet, exécutez l'extension pour générer Security Rules pour Cloud Firestore ou Cloud Storage :
Générer Security Rules pour Cloud Firestore :
/firebase-rules:firestore Generate Firebase Security Rules using PROJECT ID PROJECT_IDDans le répertoire parent, l'extension crée un fichier
firestore.ruleset un répertoirerules_testcontenant un projet Node.js avec des tests unitaires pour le Security Rules généré.Générer Security Rules pour Cloud Storage for Firebase :
/firebase-rules:storage Generate Firebase Security Rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAMEDans le répertoire parent, l'extension crée un fichier
storage.ruleset un répertoirestorage_rules_testcontenant un projet Node.js avec des tests unitaires pour le Security Rules généré.
Étape 2 : Examiner les résultats de la validation et des tests Security Rules
Assurez-vous que votre assistant IA effectue les opérations suivantes. Vous devriez obtenir un résumé généré une fois l'extension exécutée.
Validation de la syntaxe : après avoir généré Security Rules, Gemini CLI valide automatiquement la syntaxe à l'aide de la commande
firebase_validate_security_rulesdu serveur MCP Firebase.Tests unitaires : après avoir validé la syntaxe, Gemini CLI tente d'exécuter les tests unitaires générés à l'aide de Firebase Local Emulator Suite.
Si les tests ne s'exécutent pas automatiquement, démarrez Firebase Local Emulator Suite dans un terminal distinct, puis utilisez l'une des options suivantes pour exécuter les tests :
Option 1 : Demandez à Gemini CLI d'exécuter des tests :
Firebase Emulator Suite is running in a separate terminal. Please execute the tests.Option 2 : Exécutez les tests manuellement en suivant les instructions du fichier
README.mddans le répertoirerules_testoustorage_rules_test.
Étape 3 : Déployez Security Rules sur votre projet Firebase
Lorsque vous êtes satisfait du résultat de votre Security Rules généré, utilisez les commandes CLI Firebase suivantes pour déployer le Security Rules dans votre projet Firebase :
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage for Firebase
firebase deploy --only storage
Autres ressources
- Pour obtenir de l'aide supplémentaire concernant votre posture de sécurité, vous pouvez également utiliser l'extension de sécurité pour Gemini CLI, une extension Open Source qui analyse les modifications du code pour identifier les risques et les failles de sécurité.