Ce prompt peut aider votre assistant IA (comme la Gemini CLI) à générer et à affiner Firebase Security Rules pour votre application. Vous pouvez l'utiliser pour rédiger Security Rules pour des cas d'utilisation courants, comme l'octroi d'un accès spécifique à un 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 les éléments suivants :
- Cloud Firestore: sécuriser les collections et les documents en fonction de la logique de votre application.
- Cloud Storage for Firebase : valider les autorisations d'accès à vos fichiers stockés.
L'utilisation de ce prompt peut vous aider à adopter une posture de sécurité solide, mais vous devez toujours tester vos Security Rules de manière approfondie avant de les déployer en production. Pour en savoir plus sur les tests Security Rules, consultez Premiers pas avec Firebase Security Rules : tester vos Security Rules.
Prérequis
- Familiarisez-vous avec Firebase Security Rules les bonnes pratiques.
- Pour exécuter des tests unitaires pour Firebase Security Rules et utiliser les Firebase Local Emulator Suite, installez Node.js et la Firebase CLI. Pour obtenir des instructions complètes, consultez Installer, configurer et intégrer Firebase Local Emulator Suite.
- Recommandé : si ce n'est pas déjà fait,
installez Gemini CLI.
Les instructions suivantes expliquent comment installer et utiliser l'extension Firebase
pour Gemini CLI afin de générer Security Rules. Si vous préférez utiliser
un autre assistant IA, vous pouvez copier et coller le prompt pour
Cloud Firestore
ou
Cloud Storage for Firebase
depuis le dépôt
firebase-toolsdans l'assistant IA de votre choix. - L'extension Firebase pour Gemini CLI se connecte au serveur MCP Firebase pour accéder aux prompts qui génèrent et valident Firebase Security Rules, et vous aident à tester et à déployer Security Rules. Installez le serveur MCP Firebase avant d'utiliser l'extension pour générer Firebase Security Rules.
Limites
Nous améliorons activement cette expérience. Par conséquent, cette liste de limites peut changer. Consultez-la régulièrement pour obtenir les dernières informations.
Le prompt est conçu pour générer Firebase Security Rules pour Cloud Firestore et Cloud Storage for Firebase. Il n'est pas encore en mesure de générer 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 à partir d'un serveur ou d'un autre environnement backend, par exemple lorsque vous utilisez le Firebase Admin SDK. Si vous utilisez le Admin SDK, vous êtes responsable de la gestion de l'autorisation et de la validation des données dans votre code backend.
Gemini dans Firebase au sein de la Firebase console n'est pas en mesure de générer Firebase Security Rules, même lorsque vous utilisez ce prompt. Utilisez plutôt un autre assistant IA ayant accès à votre code, tel que Gemini CLI (décrit sur cette page).
Utiliser le prompt
.Ce prompt est disponible via la fonctionnalité Security Rules de l'
extension Firebase pour Gemini CLI
afin de générer vos 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. Elle est conçue pour rédiger Security Rules basées sur le principe du
moindre privilège et tente de découvrir des failles grâce à des simulations d'
"attaque" itératives. Pour faciliter la vérification finale, elle fournit une suite de tests
unitaires de départ à l'aide de @firebase/rules-unit-testing, ce qui vous permet de vérifier
votre logique de sécurité localement à l'aide de la 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 Firebase pour Gemini CLI :
gemini extensions install https://github.com/gemini-cli-extensions/firebaseDémarrez 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 :
/firestore:generate_security_rulesDans le répertoire parent, l'extension crée un fichier
firestore.ruleset un nouveau répertoiresecurity_rules_test_firestorecontenant un projet Node.js avec des tests unitaires pour les Security Rules.Générer Security Rules pour Cloud Storage for Firebase :
/storage:generate_security_rulesDans le répertoire parent, l'extension crée un fichier
storage.ruleset un nouveau répertoiresecurity_rules_test_storagecontenant un projet Node.js avec des tests unitaires pour les Security Rules générées.
É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é après l'exécution de l'extension.
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 la Firebase Local Emulator Suite.
Si les tests ne s'exécutent pas automatiquement, démarrez la 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 les 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
README.mdfichier dans lerules_testoustorage_rules_testrépertoire.
Étape 3 : Déployer Security Rules dans votre projet Firebase
Lorsque vous êtes satisfait du résultat de votre Security Rules généré, utilisez les commandes suivantes de la CLI Firebase pour déployer les 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 de code pour identifier les risques et les failles de sécurité.