Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Comprendre les règles de sécurité Firebase pour le stockage cloud

Traditionnellement, la sécurité a été l'une des parties les plus complexes du développement d'applications. Dans la plupart des applications, les développeurs doivent créer et exécuter un serveur qui gère l'authentification (qui est un utilisateur) et l'autorisation (ce qu'un utilisateur peut faire). L'authentification et l'autorisation sont difficiles à configurer, plus difficiles à obtenir et essentielles au succès de votre produit.

De la même manière que Firebase Authentication vous permet d'authentifier facilement vos utilisateurs, Firebase Security Rules for Cloud Storage vous permet d'autoriser facilement les utilisateurs et de valider les demandes. Les règles de sécurité Cloud Storage gèrent la complexité pour vous en vous permettant de spécifier des autorisations basées sur le chemin. En quelques lignes de code, vous pouvez écrire des règles d'autorisation qui restreignent les requêtes Cloud Storage à un certain utilisateur ou limitent la taille d'un téléchargement.

Base de données en temps réel Firebase Le dispose d' une fonctionnalité similaire, appelée Firebase en temps réel les règles de base de données

Authentification

Savoir qui sont vos utilisateurs est une partie importante de la création d'une application, et Firebase Authentication fournit une solution d'authentification facile à utiliser et sécurisée, côté client uniquement. Les règles de sécurité Firebase pour Cloud Storage sont liées à Firebase Authentication pour une sécurité basée sur l'utilisateur. Lorsqu'un utilisateur est authentifié avec l' authentification Firebase, la request.auth variable Cloud Storage Règles de sécurité devient un objet qui contient l' identifiant unique de l'utilisateur ( request.auth.uid ) et toutes les autres informations utilisateur dans le jeton ( request.auth.token ) . Lorsque l'utilisateur est pas authentifié, request.auth est null . Cela vous permet de contrôler en toute sécurité l'accès aux données par utilisateur. Vous pouvez en savoir plus dans l' authentification section.

Autorisation

L'identification de votre utilisateur n'est qu'une partie de la sécurité. Une fois que vous savez qui ils sont, vous avez besoin d'un moyen de contrôler leur accès aux fichiers dans Cloud Storage.

Cloud Storage vous permet de spécifier des règles d'autorisation par fichier et par chemin qui résident sur nos serveurs et déterminent l'accès aux fichiers de votre application. Par exemple, la valeur par défaut Cloud Storage règles de sécurité exigent l' authentification Firebase afin d'effectuer toute read ou write des opérations sur tous les fichiers:

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

Vous pouvez modifier ces règles en sélectionnant une application Firebase dans la console Firebase et l' affichage de l' Rules onglet de la section de stockage.

La validation des données

Firebase Règles de sécurité pour Cloud Storage peut également être utilisé pour la validation des données, y compris la validation de nom de fichier et chemin d' accès ainsi que les propriétés des métadonnées de fichiers tels que contentType et la 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/.*');
    }
  }
}

Prochaines étapes

  • Commencez la planification du développement des règles pour vos seaux Cloud Storage.

  • En savoir plus sur la sécurisation de vos données en utilisant les règles de sécurité.