Inizia a utilizzare le regole di sicurezza di Cloud Firestore

Con Cloud Firestore Security Rules, puoi concentrarti sulla creazione di un'esperienza utente ottimale senza dover gestire l'infrastruttura o scrivere codice di autenticazione e autorizzazione lato server.

Le regole di sicurezza offrono il controllo dell'accesso e la convalida dei dati in un formato semplice ma espressivo. Per creare sistemi di accesso basati su utenti e ruoli che mantengano al sicuro i dati degli utenti, devi utilizzare Firebase Authentication con Cloud Firestore Security Rules.





Per l'assistenza AI, copia il prompt di seguito nel tuo agente di programmazione AI (come Gemini in Android Studio, Antigravity, Claude Code, Codex e Cursor). Puoi personalizzare il prompt e ripetere l'operazione con l'agente. Visita la pagina Skill dell'agente Firebase per informazioni dettagliate sull'installazione.

Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me write, validate, and deploy Firebase Security Rules to protect my app's Firestore data.

Regole di sicurezza versione 2

A partire da maggio 2019, è disponibile la versione 2 delle regole di sicurezza di Cloud Firestore. La versione 2 delle regole modifica il comportamento dei caratteri jolly ricorsivi {name=**}. Devi utilizzare la versione 2 se prevedi di utilizzare le query sui gruppi di raccolte. Devi attivare la versione 2 inserendo rules_version = '2'; nella prima riga delle regole di sicurezza:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {

Scrittura delle regole

Scriverai e gestirai Cloud Firestore Security Rules personalizzate in base al modello di dati che crei per il database predefinito e per ogni database aggiuntivo del progetto.

Tutte le Cloud Firestore Security Rules sono costituite da istruzioni match, che identificano i documenti nel tuo database, ed espressioni allow, che controllano l'accesso a questi documenti:

service cloud.firestore {
  match /databases/{database}/documents {
    match /<some_path>/ {
      allow read, write: if <some_condition>;
    }
  }
}

Ogni richiesta al database da una libreria client mobile/web Cloud Firestore viene valutata in base alle tue regole di sicurezza prima di leggere o scrivere dati. Se le regole negano l'accesso a uno dei percorsi dei documenti specificati, l'intera richiesta non va a buon fine.

Di seguito sono riportati alcuni esempi di set di regole di base. Sebbene queste regole siano valide, non sono consigliate per le applicazioni di produzione:

Autenticazione richiesta

// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

Nega tutto

// Deny read/write access to all users under any conditions
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
  }
}

Consenti tutti

// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

Il percorso {document=**} utilizzato negli esempi precedenti corrisponde a qualsiasi documento nell'intero database. Continua con la guida alla strutturazione delle regole di sicurezza per scoprire come trovare percorsi dei dati specifici e lavorare con dati gerarchici.

Test delle regole

Cloud Firestore fornisce un simulatore di regole che puoi utilizzare per testare il tuo set di regole. Puoi accedere al simulatore sia nella console Google Cloud sia nella console Firebase.

Il simulatore di regole ti consente di simulare letture, scritture ed eliminazioni autenticate e non autenticate. Quando simuli una richiesta autenticata, puoi creare e visualizzare in anteprima i token di autenticazione di vari provider. Le richieste simulate vengono eseguite in base al set di regole nell'editor, non al set di regole di cui è stato eseguito il deployment.

Testa le regole nella console Google Cloud

Il simulatore di regole nella console Google Cloud è disponibile per Firestore in modalità Native sia nella versione Standard che in quella Enterprise.

Autorizzazioni obbligatorie

Per testare le regole di sicurezza nella console Google Cloud, devi disporre della seguente autorizzazione IAM:

  • firebaserules.rulesets.test

Per simulare una richiesta di database nella console Google Cloud:

  1. Nella console Google Cloud, vai alla pagina Database.
  2. Fai clic sull'ID del database che vuoi testare.
  3. Nel menu di navigazione, fai clic su Sicurezza.
  4. Fai clic sulla scheda Simulatore.
  5. Nell'elenco a discesa Tipo di simulazione, seleziona un tipo di operazione: get, create, update o delete.
  6. Nel campo Posizione, inserisci il percorso del documento che vuoi testare (ad esempio users/user_123).
  7. (Facoltativo) Per le richieste create e update, fai clic su Crea documento per configurare il payload del documento fittizio.
  8. (Facoltativo) Per simulare una richiesta autenticata, attiva Autenticazione, seleziona un provider di autenticazione (ad esempio google.com o Anonimo) e configura i campi del payload del token.
  9. Fai clic su Esegui.

Il riquadro di valutazione mostra se la richiesta è stata consentita o negata, gli elementi del report dettagliato per ogni condizione valutata e gli elementi evidenziati a livello di riga nell'editor di codice.

Testa le regole nella console Firebase

Per testare le regole nella console Firebase, vai a Database e spazio di archiviazione > Firestore > scheda Regole. Fai clic su Playground delle regole per aprire le impostazioni del simulatore, seleziona le opzioni di simulazione e poi fai clic su Esegui.

Deployment delle regole

Prima di poter iniziare a utilizzare Cloud Firestore dalla tua app mobile, devi eseguire il deployment delle regole di sicurezza. Puoi eseguire il deployment delle regole nella console Firebase, nella console Google Cloud, utilizzando l'interfaccia a riga di comando di Firebase o con l'API REST di gestione di Cloud Firestore.

L'applicazione degli aggiornamenti a Cloud Firestore Security Rules alle nuove query e ai nuovi listener può richiedere fino a un minuto. Tuttavia, possono essere necessari fino a 10 minuti per propagare completamente le modifiche e applicarle agli ascoltatori attivi.

Utilizza la console Firebase

Per configurare ed eseguire il deployment del primo set di regole per il database predefinito nel tuo progetto, vai alla scheda Database e spazio di archiviazione > Firestore > Regole nella console Firebase.

Se crei più database per il tuo progetto, puoi eseguire il deployment di Cloud Firestore Security Rules per ogni database. Nella console Firebase, utilizza il selettore del database per passare dal database predefinito a eventuali database aggiuntivi.

Scrivi le regole nell'editor online, poi fai clic su Pubblica.

Utilizza la console Google Cloud

Puoi gestire ed eseguire il deployment di Cloud Firestore Security Rules direttamente nella console Google Cloud. L'editor delle regole è disponibile per Firestore in modalità Native sia nella versione Standard che in quella Enterprise.

Autorizzazioni obbligatorie

Per gestire ed eseguire il deployment delle regole di sicurezza nella console Google Cloud, devi disporre delle seguenti autorizzazioni IAM:

  • firebaserules.releases.create
  • firebaserules.releases.delete
  • firebaserules.releases.update
  • firebaserules.rulesets.create
  • firebaserules.rulesets.delete
  • firebaserules.rulesets.list
  • firebaserules.rulesets.test (obbligatorio per utilizzare il simulatore di regole)

Per eseguire il deployment delle regole nella console Google Cloud:

  1. Nella console Google Cloud, vai alla pagina Database.
  2. Fai clic sull'ID del database che vuoi gestire.
  3. Nel menu di navigazione, fai clic su Sicurezza.
  4. Fai clic sulla scheda Regole di Firestore.
  5. Nell'editor delle regole, visualizza le tue regole. Per apportare modifiche, fai clic su Nuovo set di regole o Clona set di regole, quindi modifica le regole.
  6. Fai clic su Pubblica per eseguire il deployment delle modifiche.

Puoi anche visualizzare i set di regole precedenti nella cronologia e clonarli o ripristinarli.

Utilizza l'interfaccia a riga di comando di Firebase

Puoi anche eseguire il deployment delle regole utilizzando l'interfaccia a riga di comando di Firebase. L'utilizzo dell'interfaccia a riga di comando ti consente di mantenere le regole sotto il controllo della versione con il codice dell'applicazione ed eseguire il deployment delle regole nell'ambito del processo di deployment esistente.

// Set up Firestore in your project directory, creates a .rules file
firebase init firestore

// Edit the generated .rules file to your desired security rules
// ...

// Deploy rules for all configured databases
firebase deploy --only firestore

Migliora la sicurezza per Cloud Storage

Le tue app trarranno vantaggio dalle solide funzionalità di database di Cloud Firestore e dalle funzionalità di archiviazione e gestione dei file di Cloud Storage. Utilizzati insieme, questi prodotti forniscono anche una maggiore sicurezza delle app, poiché Cloud Firestore può acquisire i requisiti di autorizzazione utilizzabili dalle regole di sicurezza di Firebase per entrambi i prodotti. Per saperne di più, consulta la guida per Cloud Storage.

Passaggi successivi