Questo prompt può aiutare l'assistente AI (come l' Gemini CLI) a generare e perfezionare Firebase Security Rules per la tua app. Puoi utilizzare il prompt per creare Security Rules per casi d'uso comuni, ad esempio concedere l'accesso specifico per utente, implementare autorizzazioni basate sui ruoli e convalidare i 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
- Acquisisci familiarità con Firebase Security Rules le best practice.
- Per eseguire i test delle unità per Firebase Security Rules e utilizzare Firebase Local Emulator Suite, installa Node.js e l' Firebase CLI. Per le istruzioni complete, consulta la sezione Installare, configurare e integrare Firebase Local Emulator Suite.
- Consigliato: se non l'hai ancora fatto,
installa Gemini CLI.
Le istruzioni riportate di seguito spiegano come installare e utilizzare l'estensione Firebase
per Gemini CLI per generare Security Rules. Se preferisci utilizzare
un altro assistente AI, puoi copiare e incollare il prompt per
Cloud Firestore
o
Cloud Storage for Firebase
dal repository
firebase-toolsnell'assistente AI scelto. - L'estensione Firebase per Gemini CLI si connette al server MCP di Firebase per accedere ai prompt che generano e convalidano Firebase Security Rules, e aiutano a testare ed eseguire il deployment di Security Rules. Installa il server MCP di Firebase prima di utilizzare l'estensione per generare Firebase Security Rules.
Limitazioni
Stiamo lavorando attivamente per migliorare questa esperienza, quindi questo elenco di limitazioni potrebbe cambiare. Controlla spesso per conoscere eventuali variazioni.
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, ad esempio Gemini CLI (descritta in questa pagina).
Utilizzare il prompt
Questo prompt è disponibile tramite la funzionalità Security Rules all'interno dell'
estensione Firebase per Gemini CLI
per generare Security Rules e i test. Questa estensione analizza il codice sorgente per aiutarti a identificare gli schemi dei dati e i pattern di accesso per Cloud Firestore e
Cloud Storage. È progettata per creare Security Rules basate sul principio del
privilegio minimo e tenta di scoprire le vulnerabilità tramite simulazioni di
"attacco" iterative. Per facilitare la verifica finale, fornisce 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 questa estensione richiede tre passaggi descritti in questa sezione:
Passaggio 1: genera Security Rules e test
Installa ed esegui l'estensione:
Installa l'estensione Firebase per Gemini CLI:
gemini extensions install https://github.com/gemini-cli-extensions/firebaseAvvia Gemini CLI:
geminiDalla directory principale del progetto, esegui l'estensione per generare Security Rules per Cloud Firestore o Cloud Storage:
Genera Security Rules per Cloud Firestore:
/firestore:generate_security_rulesNella directory principale, l'estensione crea un file
firestore.rulese una nuova directorysecurity_rules_test_firestoreche contiene un progetto Node.js con test delle unità per le Security Rules generate.Genera Security Rules per Cloud Storage for Firebase:
/storage:generate_security_rulesNella directory principale, l'estensione crea un file
storage.rulese una nuova directorysecurity_rules_test_storageche contiene un progetto Node.js con test delle unità per le Security Rules generate.
Passaggio 2: esamina i risultati di convalida e test Security Rules
Assicurati che l'assistente AI abbia eseguito le seguenti operazioni. Dopo l'esecuzione dell'estensione, dovresti ricevere un riepilogo generato.
Convalida della sintassi: dopo aver generato Security Rules, Gemini CLI convalida automaticamente la sintassi utilizzando il
firebase_validate_security_rulescomando dal server MCP di Firebase.Test delle unità: dopo aver convalidato la sintassi, Gemini CLI tenta di eseguire i test delle unità generati utilizzando Firebase Local Emulator Suite.
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: indica a Gemini CLI 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.mdfile nellarules_testostorage_rules_testdirectory.
Passaggio 3: esegui il deployment di Security Rules nel tuo progetto Firebase
Quando sei soddisfatto del risultato delle Security Rules generate, utilizza i seguenti comandi dell'interfaccia a riga di comando Firebase per eseguire il deployment delle Security Rules nel tuo progetto Firebase:
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage for Firebase
firebase deploy --only storage
Risorse aggiuntive
- Per ulteriore assistenza con la tua strategia di sicurezza, puoi anche utilizzare l' estensione di sicurezza per Gemini CLI, un'estensione open source che analizza le modifiche del codice per identificare rischi di sicurezza e vulnerabilità.