Comprendre les règles de sécurité Firebase pour Cloud Storage

Traditionnellement, la sécurité est l'un des aspects 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, encore plus difficiles à mettre en œuvre correctement, et essentielles au succès de votre produit.

Tout comme Firebase Authentication vous permet d'authentifier facilement vos utilisateurs, Firebase Security Rules pour Cloud Storage vous permet d'autoriser facilement les utilisateurs et de valider les requêtes. Cloud Storage Security Rules gère la complexité à votre place en vous permettant de spécifier des autorisations basées sur le chemin d'accès. En quelques lignes de code, vous pouvez écrire des règles d'autorisation qui limitent les requêtes Cloud Storage à un certain utilisateur ou limitent la taille d'un import.

Firebase Realtime Database dispose d'une fonctionnalité similaire, appelée Firebase Realtime Database Security Rules.

Pour obtenir l'assistance IA, copiez le prompt ci-dessous dans votre agent de codage IA (comme Gemini dans Android Studio, Antigravity, Claude Code, Codex et Cursor). Vous pouvez personnaliser la requête et l'affiner avec votre agent. Pour obtenir des informations détaillées sur l'installation, consultez Compétences d'agent Firebase.

Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me write, validate, and deploy Firebase Security Rules to protect my app's Cloud Storage data.

Authentification

Savoir qui sont vos utilisateurs est un aspect important de la création d'une application, et Firebase Authentication fournit une solution d'authentification simple à utiliser, sécurisée et côté client uniquement. Firebase Security Rules pour Cloud Storage est lié à Firebase Authentication pour la sécurité basée sur l'utilisateur. Lorsqu'un utilisateur est authentifié avec Firebase Authentication, la variable request.auth dans Cloud Storage Security Rules devient un objet contenant l'identifiant unique de l'utilisateur (request.auth.uid) et toutes les autres informations utilisateur du jeton (request.auth.token). Lorsque l'utilisateur n'est pas authentifié, request.auth est null. Cela vous permet de contrôler de manière sécurisée l'accès aux données pour chaque utilisateur. Pour en savoir plus, consultez la section Authentification.

Autorisation

L'identification de l'utilisateur n'est qu'une partie de la sécurité. Une fois que vous les avez identifiés, vous devez trouver 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 d'accès qui résident sur nos serveurs et déterminent l'accès aux fichiers de votre application. Par exemple, les règles Cloud Storage Security Rules par défaut nécessitent Firebase Authentication pour effectuer des opérations read ou write sur tous les fichiers :

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

Vous pouvez modifier ces Security Rules dans la console Firebase en accédant à l'onglet Bases de données et stockage > Stockage > Règles.

Validation des données

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

Étapes suivantes

Défense en profondeur avec VPC Service Controls

Vous pouvez utiliser VPC Service Controls pour protéger l'ensemble de votre projet avec un périmètre de sécurité. Il s'agit d'une alternative plus complète au contrôle des accès plus précis fourni par Cloud Storage Security Rules.

Les règles de sécurité Firebase et VPC Service Controls fonctionnent ensemble : les règles de sécurité gèrent l'autorisation (qui peut accéder à quel fichier), tandis que VPC Service Controls fournit une protection au niveau du réseau (empêchant les données de quitter votre environnement autorisé). Cette approche multicouche est une bonne pratique pour sécuriser les données d'entreprise sensibles.