Questo prompt può aiutare l'assistente AI, ad esempio Gemini CLI, a generare e perfezionare Firebase Security Rules per la tua app. Puoi utilizzare il prompt per creare bozze di 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 Rules per:
- Cloud Firestore: proteggi raccolte e documenti in base alla logica della tua app.
- Cloud Storage for Firebase: verifica 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 Rules prima di eseguire il deployment in produzione. Per ulteriori informazioni sul test di Rules, consulta la sezione Guida introduttiva all'utilizzo di Firebase Security Rules: testa le regole.
Prerequisiti
- Acquisisci familiarità con le best practice per le regole di sicurezza.
- Per eseguire i test delle unità per Firebase Security Rules e utilizzare Firebase Local Emulator Suite, installa Node.js e la CLI Firebase. Per istruzioni complete, consulta Installare, configurare e integrare Local Emulator Suite.
- Consigliato:se non l'hai ancora fatto, installa Gemini CLI. Le seguenti istruzioni spiegano come installare e utilizzare un'estensione Gemini CLI per generare Rules. Se preferisci utilizzare un altro assistente AI, puoi copiare e incollare il prompt dal repository nell'assistente AI che preferisci.
- Questa estensione Gemini CLI utilizza il server Firebase MCP per convalidare il Firebase Security Rules che genera. Il server MCP può essere utilizzato anche per semplificare il test e l'implementazione del tuo Rules. Installa il server MCP Firebase prima di utilizzare l'estensione per generare Firebase Security Rules.
Limitazioni
Stiamo migliorando attivamente questa esperienza, quindi questo elenco di limitazioni potrebbe cambiare. Controlla spesso per verificare la presenza di aggiornamenti.
- Gemini in Firebase non è in grado di generare Firebase Security Rules. Utilizza un assistente AI alternativo, come Gemini CLI.
- Il prompt è progettato per generare Firebase Security Rules per Cloud Firestore e Cloud Storage for Firebase. Non è ancora in grado di generare 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.
Utilizzare il prompt
Utilizza l'estensione sperimentale Gemini CLI per Firebase Security Rules per generare le regole e i test.
Questa estensione analizza il codice sorgente per identificare gli schemi di dati e i pattern di accesso per Cloud Firestore e Cloud Storage. È progettato per creare Rules in base al 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 unitari iniziali utilizzando
@firebase/rules-unit-testing, che ti consente di verificare la logica di sicurezza localmente utilizzando Firebase Local Emulator Suite.Per installare e utilizzare l'estensione:
Installa l'estensione Gemini CLI:
gemini extensions install https://github.com/firebase/snippets-rulesApri Gemini CLI.
gemini
Dalla radice del progetto, esegui l'estensione per generare regole per Cloud Firestore:
/firebase-rules:firestore Generate rules using PROJECT ID PROJECT_IDIn alternativa, genera regole per Cloud Storage:
/firebase-rules:storage Generate rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAME
L'estensione crea una directory
rules_testper Cloud Firestore o una directorystorage_rules_testper Cloud Storage nella radice del progetto. Questa nuova directory contiene il file.rulesgenerato insieme a un progetto Node.js con test delle unità.Esamina i risultati della convalida e del test delle regole:
- Convalida della sintassi: dopo aver generato le regole, Gemini CLI
convalida automaticamente la sintassi utilizzando il
comando
firebase_validate_security_rulesdal server Firebase MCP. - Test delle unità: dopo aver convalidato la sintassi, Gemini CLI tenta di eseguire i test delle unità generati utilizzando Firebase Local Emulator Suite. Per eseguire i test, devi eseguire Firebase Local Emulator Suite in un terminale separato.
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:
* Instruct Gemini CLI to run tests: ```none Firebase Emulator Suite is running in a separate terminal. Please execute the tests. ``` * Run tests manually by following the instructions in the `README.md` file in the `rules_test` or `storage_rules_test` directory.- Convalida della sintassi: dopo aver generato le regole, Gemini CLI
convalida automaticamente la sintassi utilizzando il
comando
Quando sei soddisfatto del risultato del Rules generato, utilizza il seguente comando CLI Firebase per eseguire il deployment del Rules.
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage
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 al codice per identificare rischi e vulnerabilità di sicurezza.