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 bozze di Security Rules per casi d'uso comuni, come la concessione di accesso specifico per l'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: valida le autorizzazioni di accesso per i file archiviati.

L'utilizzo di questo prompt può aiutarti a iniziare con una solida postura di sicurezza, ma devi sempre testare a fondo Security Rules prima di eseguire il deployment in produzione. Per maggiori informazioni sul test di Security Rules, consulta Guida introduttiva a Firebase Security Rules: testa il tuo Security Rules.

Prerequisiti

Limitazioni

Stiamo migliorando attivamente questa esperienza, quindi questo elenco di limitazioni potrebbe cambiare. Controlla spesso per verificare la presenza di 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, sei responsabile della gestione dell'autorizzazione e della 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 utilizzi questo prompt. Utilizza invece un assistente AI alternativo che abbia accesso alla tua base di codice, ad esempio Antigravity (descritto in questa pagina).

Utilizzare il prompt

Questa funzionalità è disponibile quando utilizzi il server Firebase MCP e le competenze dell'agente Firebase con un assistente AI compatibile (come Antigravity) per generare Security Rules e test. Questi strumenti analizzano il codice sorgente per aiutarti a identificare schemi di dati e pattern di accesso per Cloud Firestore e Cloud Storage. Sono progettati per creare Security Rules in base al principio del privilegio minimo e tentano 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 il tuo Security Rules e i test.

  2. Rivedi i Security Rulesrisultati dei test e della convalida.

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

Passaggio 1: genera Security Rules e test

Configura ed esegui gli strumenti:

  1. Attiva le skill dell'agente Firebase:

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

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

  2. Avvia l'assistente AI (ad esempio, esegui agy nel terminale per l'interfaccia a riga di comando 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 a come l'agente di codifica AI interagisce con i prompt MCP:

    • Per gli agenti di programmazione che utilizzano il linguaggio naturale (come Antigravity), invita l'agente a 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 contenente un progetto Node.js con test unitari per il file Security Rules generato.

      • 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 unitari per il file Security Rules generato.

    • Per gli agenti di programmazione che supportano i comandi con slash (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 codifica 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 dei test e della convalida Security Rules

  1. Assicurati che l'agente di codifica AI abbia eseguito le seguenti operazioni. Al termine dell'esecuzione degli strumenti, dovresti ricevere un riepilogo generato.

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

    • 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 riportate nel file README.md nella directory rules_test o storage_rules_test.

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

Quando sei soddisfatto del risultato del Security Rules generato, utilizza i seguenti comandi dell'interfaccia a riga di comando Firebase per eseguire il deployment del Security Rules nel tuo progetto Firebase:

  • Cloud Firestore

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

    firebase deploy --only storage