Requête d'IA : écrire des règles de sécurité Firebase

Ce prompt peut aider votre assistant IA (comme Google Antigravity) à générer et à affiner Firebase Security Rules pour votre application. Vous pouvez utiliser le prompt 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.

Cette requête vise à générer 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

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 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 Antigravity (décrit sur cette page).

Utiliser le prompt

Cette fonctionnalité est disponible lorsque vous utilisez le serveur MCP Firebase et les compétences de l'agent Firebase avec un assistant IA compatible (tel que Antigravity) pour générer vos Security Rules et vos tests. Ces outils analysent 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. Elles sont conçues pour rédiger des Security Rules en se basant sur le principe du moindre privilège et tentent de découvrir des failles de sécurité grâce à des simulations d'attaques itératives. Pour vous aider à effectuer la validation finale, ils fournissent 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é localement à l'aide de Firebase Local Emulator Suite.

L'utilisation de ces outils nécessite trois étapes décrites dans cette section :

  1. Générez votre Security Rules et vos tests.

  2. Examinez les résultats de la validation et des tests Security Rules.

  3. Déployez Security Rules dans votre projet Firebase.

Étape 1 : Générer Security Rules et des tests

Configurez et exécutez les outils :

  1. Activez les compétences agentiques Firebase :

    • Google Antigravity : consultez les instructions de configuration pour activer le bundle d'intégration Firebase. Si vous utilisez la CLI, vous pouvez activer les compétences en exécutant la commande suivante :

      npx skills add firebase/agent-skills --agent=antigravity
    • Autres agents de codage IA : suivez les instructions pour les compétences des agents et le serveur MCP.

  2. Démarrez votre assistant IA (par exemple, exécutez agy dans votre terminal pour la CLI ou ouvrez l'application de bureau).

  3. À la racine de votre projet, demandez à l'agent de générer Security Rules pour Cloud Firestore ou Cloud Storage en fonction de la façon dont votre agent de programmation IA interagit avec les requêtes MCP :

    • Pour les agents de programmation qui utilisent le langage naturel (comme Antigravity), invitez l'agent à l'aide du langage naturel.

      • Générer Security Rules pour Cloud Firestore :

        Generate Firestore security rules for this project, then run the unit tests.
        

        Dans le répertoire parent, l'agent crée un fichier firestore.rules et un répertoire security_rules_test_firestore contenant 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 :

        Generate Cloud Storage security rules for this project, then run the unit tests.
        

        Dans le répertoire parent, l'agent crée un fichier storage.rules et un répertoire security_rules_test_storage contenant un projet Node.js avec des tests unitaires pour le Security Rules généré.

    • Pour les agents de programmation qui acceptent les commandes à barre oblique (comme Claude Code), utilisez les commandes suivantes.

      • Générer Security Rules pour Cloud Firestore :

        /firestore:generate_security_rules
        
      • Générer Security Rules pour Cloud Storage for Firebase :

        /storage:generate_security_rules
        
    • Pour les agents de codage qui ne sont pas compatibles avec l'intégration des prompts MCP, vous pouvez copier le modèle de prompt brut à partir du dépôt firebase-tools et le coller dans le chat de l'agent.

      • Générer Security Rules pour Cloud Firestore : copiez le prompt depuis Cloud Firestore.
      • Générer Security Rules pour Cloud Storage for Firebase : copiez la requête depuis Cloud Storage for Firebase.

Étape 2 : Examiner les résultats de la validation et des tests Security Rules

  1. Assurez-vous que votre agent de programmation IA effectue les opérations suivantes. Vous devriez obtenir un récapitulatif généré après l'exécution des outils.

    • Validation de la syntaxe : après avoir généré Security Rules, votre agent de codage IA valide automatiquement la syntaxe à l'aide de la commande firebase_validate_security_rules du serveur Firebase MCP.

    • Tests unitaires : après avoir validé la syntaxe, votre agent de codage IA tente d'exécuter les tests unitaires générés à l'aide de Firebase Local Emulator Suite.

  2. 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 à votre assistant IA 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.md dans le répertoire rules_test ou storage_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:rules
  • Cloud Storage for Firebase

    firebase deploy --only storage