Si un utilisateur connecté peut lire les lignes d'autres utilisateurs, votre base de données fait confiance à l'application pour se comporter correctement. Je déplace la règle dans PostgreSQL lui-même avec des politiques de sécurité au niveau des lignes et des rôles, puis je prouve avec des tests qu'un utilisateur ne peut pas atteindre les données d'un autre utilisateur.
Je vais configurer la sécurité au niveau des lignes de PostgreSQL afin que chaque utilisateur ne voie que ses propres données, Supabase inclus
Un examen de la sécurité au niveau des lignes pour un maximum de 5 tables, chaque lacune étant indiquée par une requête.
- Examen de jusqu'à 5 tables
- Rapport écrit
- Exemples de requêtes
Politiques et rôles sur un maximum de 10 tables, avec des tests qui prouvent que les règles sont respectées.
- Politiques sur jusqu'à 10 tables
- Rapport écrit
- Exemples de requêtes
Jusqu'à 25 tables, limites de plan dans la base de données, migrations et tests en CI.
- Jusqu'à 25 tables, limites de plan, CI
- Rapport écrit
- Exemples de requêtes
Demander une offre personnalisée
Se connecter pour demander une offre personnalisée
Créez un compte gratuit ou connectez-vous pour demander une offre personnalisée à ce Zinner.
Connexion / InscriptionPoser une question avant achat
Se connecter pour poser une question
Pour réduire le spam sur la plateforme, les messages avant vente ne peuvent être envoyés que par les utilisateurs connectés.
Créez un compte gratuit ou connectez-vous pour envoyer un message directement à ce Zinner.
Connexion / InscriptionConnexion requise
Créez un compte gratuit ou connectez-vous pour envoyer un message à ce Zinner.
Connexion / InscriptionConnexion requise
Créez un compte gratuit ou connectez-vous pour demander une offre personnalisée.
Connexion / InscriptionAperçu
Détails clés sur ce service pour vous aider à décider. Généré par Zinn Hub, pas par le vendeur.
Valeur Position
Couche d'application
Plateformes prises en charge
Preuve de travail
Format de livraison
Ce que vous recevrez
Description complète
Toute application avec des comptes d'utilisateurs, des plans payants ou plusieurs équipes dans une seule base de données doit décider qui peut voir quelles lignes. Si cette règle ne réside que dans le code de l'application, elle échoue la première fois que quelqu'un accède aux données d'une autre manière: un nouveau point de terminaison que quelqu'un a oublié de protéger, une deuxième application sur la même base de données, ou l'API que Supabase génère pour vos tables. La sécurité au niveau des lignes place la règle là où se trouvent les données.
J'ai fait cela sur un produit d'abonnement sous NDA: des politiques de sécurité au niveau des lignes sur les tables et un rôle de base de données distinct pour chaque niveau d'abonnement, de sorte que ce qu'un plan inclut est appliqué par PostgreSQL, et non par une vérification que quelqu'un pourrait oublier.
Dans Starter, j'examine les politiques que jusqu'à cinq tables ont ou n'ont pas et j'envoie une liste écrite des lacunes, avec un exemple de requête qui montre chacune d'elles. Standard écrit ou corrige les politiques sur jusqu'à dix tables, configure les rôles dont votre application a besoin, les livre sous forme de fichiers de migration et ajoute des tests dans lesquels l'utilisateur A essaie de lire et de modifier les lignes de l'utilisateur B et échoue. Advanced couvre jusqu'à vingt-cinq tables, ajoute des limites de plan ou de niveau appliquées dans la base de données et exécute les tests en CI.
Sur Supabase, les mêmes fonctionnalités PostgreSQL s'appliquent, avec auth.uid() et les revendications JWT utilisées dans les politiques. Sur PostgreSQL simple, les politiques lisent l'utilisateur actuel à partir d'un paramètre de session que votre backend définit pour chaque requête.
Pas d'appels. Chaque package se termine par une note en langage clair sur qui peut voir quoi; sur Standard et Avancé, les politiques arrivent également sous forme de migrations dans votre dépôt, avec les tests. Pendant 14 jours après la livraison, je corrige gratuitement tout ce qui ne fonctionne pas comme convenu.
Étapes pour la réalisation de votre projet
1. Cartographier les données - Je liste les tables, qui possède chaque ligne, et qui devrait la lire ou la modifier: propriétaires, membres de l'équipe, administrateurs, chaque plan.
2. Examiner ce qui existe - Les politiques, les autorisations et les rôles actuels sont vérifiés par rapport à cette carte, et chaque lacune est notée avec une requête qui la montre.
3. Politiques et rôles - Les politiques sont écrites par table et par action, avec des rôles pour les plans ou les équipes, sous forme de fichiers de migration que vous pouvez examiner.
4. Prouver - Les tests se connectent en tant que différents utilisateurs et essaient de lire et de modifier les données des autres. Chaque action interdite doit échouer, et chaque action autorisée doit fonctionner.
5. Transfert - Une courte note en langage clair sur qui peut voir quoi, les migrations, et comment ajouter une politique lorsqu'une nouvelle table apparaît.
Garantie de Qualité Zinner
Chaque Zinner est examiné et approuvé avant de rejoindre la plateforme.
Tous les services sont soutenus par notre engagement en matière d'assurance qualité.
Votre paiement est protégé jusqu'à ce que vous approuviez le travail livré.
Comparer les forfaits
| Fonction | Démarrage | Standard | Avancé |
|---|---|---|---|
| Délai de livraison | 2 jours | 5 jours | 10 jours |
| Révisions | 1 | 2 | 3 |
| Portée | Examen de jusqu'à 5 tables | Politiques sur jusqu'à 10 tables | Jusqu'à 25 tables, limites de plan, CI |
| Rapport écrit | ✓ | ✓ | ✓ |
| Exemples de requêtes | ✓ | ✓ | ✓ |
Détails du service
Questions fréquemment posées
Les vérifications d'application protègent les chemins dont vous vous souvenez. La sécurité au niveau des lignes couvre chaque requête exécutée sous les rôles de base de données de votre application, y compris les points de terminaison ajoutés ultérieurement et les appels directs à l'API de Supabase. Le superutilisateur, les propriétaires de tables et la clé de service de Supabase la contournent par conception, c'est pourquoi ces informations d'identification restent sur le serveur. La plupart des équipes conservent les deux types de vérifications.
Cela peut arriver si une politique appelle une fonction lente ou manque un index. J'écris les politiques en gardant cela à l'esprit, et l'examen liste toute politique qui nécessite un index.
Non. Un schéma sans données est suffisant pour écrire et tester les politiques. Les tests s'exécutent sur des données d'amorçage que je crée.
Non. La sécurité au niveau des lignes sous cette forme est une fonctionnalité de PostgreSQL, et ce service est construit autour de PostgreSQL.
Avis clients
Découvrez ce que nos clients disent de ce Zinn
Catégories
Politiques Zinner
Zinns connexes

Je vais concevoir des images de fiches produits Amazon premium avec rendu 3D

créer web, application mobile par vibe coding, lovable, replit, bolt

construire réparer l'application replit ai site web replit déployer l'ai aimable replit base44 débogage




