Convalida rapida delle regole di sicurezza Firebase

Per testare rapidamente il tuo Firebase Security Rules aggiornato nella console Firebase, utilizza la sandbox delle regole.

Il Rules Playground è uno strumento pratico da utilizzare quando esplori nuovi comportamenti o convalidi rapidamente le regole durante la loro scrittura. Viene visualizzato un messaggio che conferma che l'accesso è stato consentito o negato in base ai parametri impostati per la simulazione.

Utilizzare il playground delle regole

  1. Apri la console Firebase e seleziona il tuo progetto.
  2. Poi, dalla navigazione del prodotto, esegui una delle seguenti operazioni:
    • Seleziona Realtime Database, Cloud Firestore o Spazio di archiviazione, come appropriato, quindi fai clic su Regole per accedere all'editor Rules.
  3. Dopo aver apportato le modifiche, fai clic su Rules Playground (Playground delle regole) dall'editor.
  4. Nelle impostazioni di Rules Playground, seleziona le opzioni per il test, tra cui:
    • Test delle operazioni di lettura o scrittura.
    • Una posizione specifica nel database o nel bucket di archiviazione, sotto forma di percorso.
    • Tipo di autenticazione: utente anonimo non autenticato, utente anonimo autenticato o un ID utente specifico.
    • Dati specifici del documento a cui fanno riferimento le regole (ad esempio, se le regole richiedono la presenza di un campo specifico prima di consentire una scrittura).
  5. Fai clic su Esegui e cerca i risultati nel banner sopra l'editor.

Esempio di scenario delle regole del Playground

Testa il comportamento di Rules Playground con il seguente scenario di esempio e le regole di base.

Cloud Firestore

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow only authenticated content owners access
    match /some_collection/{document} {
      allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
      }
    }
  }

Realtime Database

 // These rules grant access to a node matching the authenticated
 // user's ID from the Firebase auth token
 {
   "rules": {
     "users": {
       "$uid": {
         ".read": "$uid === auth.uid",
         ".write": "$uid === auth.uid"
       }
     }
   }
 }
 

Cloud Storage

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/path/to/file.txt"
    match /user/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • Nell'editor Rules, aggiungi la regola indicata sopra.

  • Seleziona get dal menu a discesa Tipo di simulazione e inserisci un percorso valido nel campo Posizione.

  • Attiva Autenticazione e seleziona un tipo di autenticazione dal menu a discesa Fornitore.

  • Inserisci i dettagli dell'ID utente e fai clic su Esegui.

I risultati della simulazione vengono visualizzati nella parte superiore dell'editor. A seconda dei dettagli dell'ID utente che hai inserito, dovresti visualizzare un banner che conferma che la lettura è stata consentita o negata.