6 votes

Comment limiter les documents d'une collection dans Firebase Firestore ?

Mes utilisateurs peuvent créer des documents (disons des tâches) dans une sous-collection avec un ensemble de règles de sécurité vérifiant l'authentification, les autorisations et la validité des données. Ils peuvent même sélectionner plusieurs tâches et les copier dans la même collection. Un utilisateur ordinaire ne créera probablement qu'une centaine de tâches à la fois, mais que se passerait-il si quelqu'un de mal intentionné parvenait à obtenir les identifiants de ma base de données, à s'authentifier et à essayer de créer un grand nombre de documents valides par programme ? Il en résultera une mise à l'échelle de Firestore sans problème et une surprise inattendue dans ma facturation Firebase. C'est ma première préoccupation, mais je pense aussi à la possibilité de limiter la taille d'une collection pour d'autres raisons, et ce serait en même temps une solution au problème décrit.

J'ai lu des techniques pour compter les documents dans une collection décrites dans la documentation de Firestore, mais je n'ai pas trouvé de solution. Maintenir un compteur sur un champ de document mis à jour avec une transaction dans une fonction cloud serait inefficace dans mon cas. Les compteurs distribués augmentent un peu la complexité de mon modèle de données, et je ne saurais pas non plus comment lire correctement ces compteurs dans les règles de sécurité pour chaque création de tâche, et même si cela serait une solution efficace.

Quelqu'un a-t-il des suggestions ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X