Glossaire

Qu'est-ce que la sécurité au niveau des lignes ?

La sécurité au niveau des lignes (RLS) est une fonction de base de données qui décide, ligne par ligne, quels enregistrements chaque utilisateur peut lire ou modifier, de sorte qu'un client ne voit jamais que ses propres commandes, même si l'application en demande davantage.

Sans elle, la règle « les utilisateurs ne voient que leurs propres données » se trouve dans le code de l'application. Si un écran ou une API oublie de la vérifier, des données privées peuvent fuir.

Avec la sécurité au niveau des lignes, la règle se trouve dans la base de données elle-même. Vous écrivez une politique comme « une ligne de commandes n'est visible que si son customer_id correspond à l'utilisateur connecté », et la base de données l'applique à chaque requête.

Postgres prend en charge la sécurité au niveau des lignes, et certains services de backend en dépendent beaucoup parce que leurs applications parlent à la base de données directement depuis le navigateur. Dans ces configurations, une table sans politique peut être lisible par n'importe qui.

La RLS est une couche de protection, non la seule. Les applications ont toujours besoin d'une connexion adéquate, de vérifications côté serveur et d'une gestion soignée de l'accès administrateur.

Exemples

  • Les clients d'un portail ne voient que leurs propres documents
  • Chaque équipe d'un outil ne voit que ses propres projets

Questions

Ai-je besoin de la sécurité au niveau des lignes?

Si votre application stocke des données privées pour beaucoup d'utilisateurs et qu'une partie interroge la base de données directement depuis le navigateur, oui. Si tous les accès passent par un backend qui vérifie les autorisations, la RLS est un filet de sécurité supplémentaire.

La sécurité au niveau des lignes est-elle la même chose que les rôles?

Non. Les rôles décrivent le type d'utilisateur, comme administrateur ou membre. La sécurité au niveau des lignes utilise des faits comme l'identifiant de l'utilisateur ou son rôle pour décider quelles lignes précises il peut atteindre.

Voir aussi

  • Comment ajouter un contrôle d'accès basé sur les rôles
  • Liste de contrôle de sécurité pour les applications créées avec l'IA

Mythex · Pricing · Créez n'importe quoi avec l'IA · Modèles de sites web et d'applications · Mythex comparé · Glossaire de la création d'applications avec l'IA · Outils gratuits pour créer des applications avec l'IA · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)