PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Système de connexion utilisant des utilisateurs postgres physiques et non des utilisateurs logiques

Pour atteindre votre objectif

vous pouvez créer :

1) Deux schémas :un pour les tables communes, un pour les éléments de sécurité comme la table de connexion/passe (hachage), le journal de session utilisateur, la table de journal des modifications, etc.

2) Deux utilisateurs :un utilisateur commun, qui ne peut utiliser dml que sur un schéma commun (pas de ddl), un superutilisateur.

3) Fonction de connexion qui vérifiera l'utilisateur/passe fourni par rapport à la table de connexion/passe et enregistrera les tentatives réussies/échouées dans le journal de session utilisateur (vous avez besoin de SECURITY DEFINER fonction)

4) Ensemble de déclencheurs d'audit sur des tables de schéma communes qui vérifieront les privilèges de l'utilisateur et consigneront toutes les modifications apportées par l'utilisateur (SECURITY DEFINER fonctionne ici aussi).