Vous n'êtes pas identifié(e).
Bonsoir,
Je souhaiterais créer une application desktop (client lourd), pour des raisons de sécurité je pense utiliser des procédures stockées (FUNCTION).
Pourriez-vous me dire comment créer un compte PostgreSQL limité qui ne peut que faire appel à des procédures stockées ?
Ce compte ne pourra exécuter aucune requête, il ne pourra pas faire de : CREATE, SELECT, INSERT|UPDATE|DELETE.
Bien sur la procédure stockée appelé pourra contenir des SELECT, INSERT|UPDATE|DELETE.
Connaissez-vous un moyen plus sécurisé de communiquer avec un SGBD pour une application desktop ?
Cordialement,
Merci.
Hors ligne
Bonjour,
utiliser une procédure stockée ne va pas outrepasser les droits de l'utilisateur sur les objets, à moins de les définir en security definer, c'est-à-dire avec les droits de l'utilisateur créant la fonction. Cela n'empêchera pas un utilisateur s'il peut se connecter de lancer la fonction avec des paramètres non désirés, à moins de rajouter une couche de sécurité dans les procédures stockées ce qui risque d'être assez couteux en terme de performances.
Vous pouvez utiliser des vues pour restreindre l'accès aux données, et gérer les update/delete. Il existe également l'extension sepostgres qui permet de définir des permissions au niveau des colonnes ou des lignes, mais celle-ci est assez complexe à mettre en œuvre.
Julien.
https://rjuju.github.io/
Hors ligne