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 (l'identità di un utente) e l'autorizzazione (ciò che un utente può fare). L'autenticazione e l'autorizzazione sono difficili da configurare e da gestire correttamente, ma sono 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 in base al percorso. Con poche righe di codice, puoi scrivere regole di autorizzazione che limitano le richieste Cloud Storage a un determinato utente o 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 offre una soluzione di autenticazione lato client, sicura e facile da usare. Firebase Security Rules per Cloud Storage è collegato a Firebase Authentication
per la sicurezza basata sull'utente. 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
sull'utente nel token (request.auth.token
). Se l'utente non è
autenticato, il valore 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 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 percorso che si trovano sui nostri server e determinano l'accesso ai file nella tua app.
Ad esempio, il valore predefinito Cloud Storage Security Rules richiede Firebase Authentication per eseguire operazioni 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 Spazio di archiviazione.
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 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/.*'); } } }
Passaggi successivi
Inizia a pianificare lo sviluppo delle regole per i tuoi bucket Cloud Storage.
Scopri di più su come proteggere i dati tramite le regole di sicurezza.