Tribar Studio
← Back to blog
FirebaseSecurityBackend

Règles de sécurité de la base de pompiers : un guide pratique

Engineering Team·

Translated from anglais

Les règles de sécurité de Firebase sont les gardiens de vos données. Faites-les faux et votre base de données est exposée. Faites-les bien et votre application est sécurisée par défaut.

Le principe du moindre privilège

Commencez par refuser tout accès, puis n'accordez que ce qui est nécessaire :

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    // Deny all by default
    match /{document=**} {
      allow read, write: if false;
    }

    // Grant access to specific collections
    match /users/{userId} {
      allow read, write: if request.auth != null
        && request.auth.uid == userId;
    }
  }
}

Testez vos règles

Ne jamais déployer de règles sans tester. Utilisez la suite de l'émulateur Firebase:

firebase emulators:start --only firestore,auth

Ensuite, testez avec les règles Firestore terrain de jeu ou les tests d'intégration automatisés.

Modèles communs

Accès autorisé:

allow read: if request.auth != null;

** Écrire seulement le propriétaire :**

allow write: if resource.data.userId == request.auth.uid;

Accès basé sur le rôle :

allow write: if get(/databases/$(database)/documents/users/$(request.auth.uid)).data.role == 'admin';