Tradizionalmente, la sicurezza è 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, ancora più difficili da eseguire correttamente e fondamentali per il successo del tuo prodotto.
Analogamente a come Firebase Authentication semplifica l'autenticazione degli utenti, Firebase Security Rules per Cloud Storage semplifica l'autorizzazione degli utenti e la convalida delle richieste. Cloud Storage Security Rules gestisce la complessità per te consentendoti di specificare le autorizzazioni basate sul percorso. Con poche righe di codice, puoi scrivere regole di autorizzazione che limitano le richieste Cloud Storage a un determinato utente o limitano le dimensioni di un caricamento.
Firebase Realtime Database ha una funzionalità simile, chiamata Firebase Realtime Database Security Rules
Autenticazione
Sapere chi sono i tuoi utenti è una parte importante della creazione di un'applicazione e
Firebase Authentication fornisce una soluzione di autenticazione facile da usare, sicura e solo lato client. Firebase Security Rules per Cloud Storage si collega a Firebase Authentication
per la sicurezza basata sugli utenti. Quando un utente viene autenticato con Firebase Authentication,
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
dell'utente nel token (request.auth.token
). Quando l'utente non è
autenticato, request.auth
è null
. In questo modo puoi controllare in modo sicuro
l'accesso ai dati in base all'utente. Per saperne di più, consulta la sezione
Autenticazione.
Autorizzazione
L'identificazione dell'utente è solo una parte della sicurezza. Una volta identificati, devi 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, il Cloud Storage Security Rules predefinito richiede Firebase Authentication per eseguire qualsiasi operazione read
o write
su tutti i file:
service firebase.storage { match /b/{bucket}/o { match /someFolder/{fileName} { 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 Storage.
Convalida dei dati
Firebase Security Rules per Cloud Storage può essere utilizzato anche per la convalida dei dati, inclusa la convalida del nome e del percorso del file, nonché delle proprietà dei metadati del file, ad esempio 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/.*'); } } }
Passaggi successivi
Inizia a sviluppare le regole di pianificazione per i tuoi bucket Cloud Storage.
Scopri di più su come proteggere i tuoi dati utilizzando le regole di sicurezza.