Exemples RLS
Modèles pratiques de sécurité au niveau ligne pour les types d’applications courants. Important : RLS Base44 prend en charge :- Opérateurs logiques :
$or,$and,$norpour combiner des conditions - Opérateurs de champ (pour les champs
data.*) :$in,$nin,$ne,$all - user_condition : égalité uniquement (pas d’opérateurs)
Sommaire
- Modèles simples (JSON Schema)
- Utilisation des opérateurs
- Exemples de sécurité au niveau champ
- Modèles complexes (UI du tableau de bord ou backend)
- Bonnes pratiques
Modèles simples (JSON Schema)
Ces modèles fonctionnent avec le format RLS de schéma JSON.Application Todo — accès réservé au propriétaire
Les utilisateurs voient et gèrent uniquement leurs propres tâches.Formulaire de contact — création publique, lecture admin uniquement
Tout le monde peut soumettre, seuls les administrateurs peuvent voir les soumissions.Profil utilisateur — auto-gestion
Les utilisateurs ne peuvent accéder qu’à leur propre profil.Données de département — accès au même département
Les utilisateurs ne peuvent voir que les enregistrements de leur département.Abonnement — géré par l’admin, lisible par l’utilisateur via le champ e-mail
Données privées — propriétaire uniquement
Lecture publique, écriture authentifiée
Tout le monde peut lire, seuls les utilisateurs connectés peuvent créer/modifier leurs propres enregistrements.Utilisation des opérateurs
Opérateurs logiques
Combinez plusieurs conditions avec$or, $and ou $nor :
Accès propriétaire OU admin :
Opérateurs de champ pour les champs data.*
Utilisez$in, $nin, $ne, $all pour comparer les champs de données d’entité :
Accès basé sur des tags ($in) :
Combiner opérateurs logiques et de champ
Exemples de sécurité au niveau champ
Contrôlez l’accès à des champs précis d’une entité.Champ salaire sensible
Champs internes réservés aux admins
Modèles complexes (UI du tableau de bord ou backend)
Certains modèles peuvent encore nécessiter l’UI du tableau de bord ou des fonctions backend.Relations bidirectionnelles (par exemple, amitiés, matches)
Besoin : l’une ou l’autre des parties d’une relation doit avoir accès. Désormais possible avec $or :- Refonte d’entité : stocker deux enregistrements par relation (un pour chaque partie)
- Fonction backend : interroger avec une logique personnalisée
Logique métier complexe
Besoin : l’accès dépend de plusieurs champs d’entité avec des conditions complexes. Limitation du JSON Schema : même si les opérateurs aident, une logique métier très complexe peut rester difficile à exprimer. Options de solution :- Fonction backend : implémenter une logique d’accès personnalisée
- Combiner des règles plus simples : décomposer les règles complexes en règles plus simples au niveau entité et au niveau champ
Bonnes pratiques
Stratégie de sécurité
Utilisez une combinaison de RLS au niveau entité et de sécurité au niveau champ :Quand utiliser chaque approche
Modèles de rôle courants
Résumé des opérateurs pris en charge
Résumé des limitations
Cette page a été traduite à l’aide de l’IA. Pour les informations les plus précises et à jour, consultez la version anglaise.