Prompt AI: scrivi regole di sicurezza Firebase

Questo prompt può aiutare l'assistente AI (come Google Antigravity) a generare e perfezionare Firebase Security Rules per la tua app. Puoi utilizzare il prompt per creare Security Rules per casi d'uso comuni, come la concessione dell'accesso specifico per utente, l'implementazione di autorizzazioni basate sui ruoli e la convalida dei dati.

Questo prompt si concentra sulla generazione di Security Rules per:

  • Cloud Firestore: proteggi raccolte e documenti in base alla logica della tua app.
  • Cloud Storage for Firebase: convalida le autorizzazioni di accesso per i file archiviati.

L'utilizzo di questo prompt può aiutarti a iniziare con una solida strategia di sicurezza, ma devi sempre testare attentamente Security Rules prima di eseguirne il deployment in produzione. Per ulteriori informazioni sul test di Security Rules, consulta Inizia a utilizzare Firebase Security Rules: testa Security Rules.

Prerequisiti

Limitazioni

Stiamo lavorando attivamente per migliorare questa esperienza, quindi questo elenco di limitazioni potrebbe cambiare. Controlla spesso per gli aggiornamenti.

  • Il prompt è progettato per generare Firebase Security Rules per Cloud Firestore e Cloud Storage for Firebase. Non è ancora in grado di generare Security Rules per Firebase Realtime Database.

  • Firebase Security Rules non vengono chiamate quando si accede al database o al bucket da un server o da un altro ambiente di backend, ad esempio quando si utilizza Firebase Admin SDK. Se utilizzi Admin SDK, è tua responsabilità gestire l'autorizzazione e la convalida dei dati nel codice di backend.

  • Gemini in Firebase all'interno della console Firebase non è in grado di generare Firebase Security Rules, anche quando si utilizza questo prompt. Utilizza invece un assistente AI alternativo che abbia accesso alla tua codebase, come Antigravity (descritto in questa pagina).

Utilizza il prompt

Questa funzionalità è disponibile quando utilizzi il server MCP Firebase e le competenze dell'agente Firebase con un assistente AI compatibile (come Antigravity) per generare i tuoi Security Rules e i test. Questi strumenti analizzano il codice sorgente per aiutarti a identificare gli schemi dei dati e i pattern di accesso per Cloud Firestore e Cloud Storage. Sono progettati per creare Security Rules basate sul principio del privilegio minimo e tentare di scoprire vulnerabilità tramite simulazioni di "attacco" iterative. Per facilitare la verifica finale, forniscono una suite di test delle unità iniziale utilizzando @firebase/rules-unit-testing, che ti consente di verificare la logica di sicurezza localmente utilizzando Firebase Local Emulator Suite.

L'utilizzo di questi strumenti richiede tre passaggi descritti in questa sezione:

  1. Genera le Security Rules e i test.

  2. Esamina la convalida e i risultati dei test Security Rules.

  3. Esegui il deployment di Security Rules nel tuo progetto Firebase.

Passaggio 1: genera Security Rules e test

Configura ed esegui gli strumenti:

  1. Abilita le competenze dell'agente Firebase:

    • Google Antigravity: consulta le istruzioni di configurazione per abilitare il bundle di integrazione di Firebase. Se utilizzi la CLI, puoi abilitare le competenze eseguendo:

      npx skills add firebase/agent-skills --agent=antigravity
    • Altri agenti di programmazione AI: segui le istruzioni per le competenze dell'agente e il server MCP.

  2. Avvia l'assistente AI (ad esempio, esegui agy nel terminale per la CLI o apri l'applicazione desktop).

  3. Dalla radice del progetto, chiedi all'agente di generare Security Rules per Cloud Firestore o Cloud Storage in base alla modalità di interazione dell'agente di programmazione AI con i prompt MCP:

    • Per gli agenti di programmazione che utilizzano il linguaggio naturale (come Antigravity), richiedi all'agente di utilizzare il linguaggio naturale.

      • Genera Security Rules per Cloud Firestore:

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

        Nella directory principale, l'agente crea un file firestore.rules e una nuova directory security_rules_test_firestore che contiene un progetto Node.js con test delle unità per le Security Rules generate.

      • Genera Security Rules per Cloud Storage for Firebase:

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

        Nella directory principale, l'agente crea un file storage.rules e una nuova directory security_rules_test_storage che contiene un progetto Node.js con test delle unità per le Security Rules generate.

    • Per gli agenti di programmazione che supportano i comandi con barra (come Claude Code), utilizza i seguenti comandi.

      • Genera Security Rules per Cloud Firestore:

        /firestore:generate_security_rules
        
      • Genera Security Rules per Cloud Storage for Firebase:

        /storage:generate_security_rules
        
    • Per gli agenti di programmazione che non supportano l'integrazione dei prompt MCP, puoi copiare il modello di prompt non elaborato dal repository firebase-tools e incollarlo nella chat dell'agente.

Passaggio 2: esamina i risultati di convalida e test Security Rules

  1. Assicurati che l'agente di programmazione AI esegua le seguenti operazioni. Dopo l'esecuzione degli strumenti, dovresti ricevere un riepilogo generato.

    • Convalida della sintassi: dopo aver generato Security Rules, l'agente di programmazione AI convalida automaticamente la sintassi utilizzando il firebase_validate_security_rules comando dal server MCP Firebase.

    • Test delle unità: dopo aver convalidato la sintassi, l'agente di programmazione AI tenta di eseguire i test delle unità generati utilizzando Firebase Local Emulator Suite.

  2. Se i test non vengono eseguiti automaticamente, avvia Firebase Local Emulator Suite in un terminale separato, quindi utilizza una delle seguenti opzioni per eseguire i test:

    • Opzione 1: chiedi all'assistente AI di eseguire i test:

      Firebase Emulator Suite is running in a separate terminal. Please execute the tests.
      
    • Opzione 2: esegui i test manualmente seguendo le istruzioni nel README.md file nella rules_test o storage_rules_test directory.

Passaggio 3: esegui il deployment di Security Rules nel tuo progetto Firebase

Quando sei soddisfatto del risultato delle regole di sicurezza generate, utilizza i seguenti comandi di CLI per eseguire il deployment delle regole di sicurezza nel tuo progetto Firebase:Security RulesSecurity RulesFirebase

  • Cloud Firestore

    firebase deploy --only firestore:rules
  • Cloud Storage for Firebase

    firebase deploy --only storage