Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Comprendi le regole di sicurezza di Firebase per l'archiviazione nel cloud

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Tradizionalmente, la sicurezza è stata una delle parti più complesse dello sviluppo di app. Nella maggior parte delle applicazioni, gli sviluppatori devono creare ed eseguire un server che gestisca l'autenticazione (chi è un utente) e l'autorizzazione (cosa può fare un utente). L'autenticazione e l'autorizzazione sono difficili da configurare, più difficili da ottenere correttamente e fondamentali per il successo del tuo prodotto.

Analogamente al modo in cui l'autenticazione Firebase semplifica l'autenticazione degli utenti, le regole di sicurezza Firebase per l'archiviazione nel cloud semplificano l'autorizzazione degli utenti e la convalida delle richieste. Le regole di sicurezza dell'archiviazione cloud gestiscono la complessità per te consentendoti di specificare autorizzazioni basate sul percorso. In poche righe di codice puoi scrivere regole di autorizzazione che limitano le richieste di Cloud Storage a un determinato utente o limitano le dimensioni di un caricamento.

Il database Firebase Realtime ha una funzionalità simile, chiamata Regole del database Firebase Realtime

Autenticazione

Sapere chi sono i tuoi utenti è una parte importante della creazione di un'applicazione e l'autenticazione Firebase fornisce una soluzione di autenticazione solo lato client facile da usare, sicura. Le regole di sicurezza Firebase per Cloud Storage si collegano all'autenticazione Firebase per la sicurezza basata sull'utente. Quando un utente viene autenticato con l'autenticazione Firebase, la variabile request.auth in Cloud Storage Security Rules diventa un oggetto che contiene l'ID univoco dell'utente ( request.auth.uid ) e tutte le altre informazioni utente nel token ( request.auth.token ) . Quando l'utente non è autenticato, request.auth è null . Ciò consente di controllare in modo sicuro l'accesso ai dati in base all'utente. Puoi saperne di più nella sezione Autenticazione .

Autorizzazione

L'identificazione dell'utente è solo una parte della sicurezza. Una volta che sai chi sono, hai bisogno di un modo per controllare il loro accesso ai file in Cloud Storage.

Cloud Storage ti consente di specificare regole di autorizzazione per file e per percorso che risiedono sui nostri server e determinano l'accesso ai file nella tua app. Ad esempio, le regole di sicurezza dell'archiviazione cloud predefinite richiedono l'autenticazione Firebase per eseguire operazioni di read o write su tutti i file:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}

Puoi modificare queste regole selezionando un'app Firebase nella console Firebase e visualizzando la scheda Rules della sezione Archiviazione.

Convalida dei dati

Le regole di sicurezza Firebase per Cloud Storage possono essere utilizzate anche per la convalida dei dati, inclusa la convalida del nome e del percorso del file, nonché delle proprietà dei metadati del file come contentType e size .

service firebase.storage {
  match /b/{bucket}/o {
    match /images/{imageId} {
      // Only allow uploads of any image file that's less than 5MB
      allow write: if request.resource.size < 5 * 1024 * 1024
                   && request.resource.contentType.matches('image/.*');
    }
  }
}

Prossimi passi

  • Inizia a pianificare lo sviluppo di regole per i tuoi bucket di Cloud Storage.

  • Ulteriori informazioni sulla protezione dei dati utilizzando le regole di sicurezza.