PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Anmeldesystem mit physischen Postgres-Benutzern, nicht mit logischen Benutzern

Um Ihr Ziel zu erreichen

Sie können Folgendes erstellen:

1) Zwei Schemas:eines für allgemeine Tabellen, eines für Sicherheitsdaten wie Login/Pass(Hash)-Tabelle, Benutzersitzungsprotokoll, Änderungsprotokolltabelle usw.

2) Zwei Benutzer:ein normaler Benutzer, der nur dml auf einem gemeinsamen Schema verwenden kann (kein ddl), ein Superuser.

3) Login-Funktion, die den angegebenen Benutzer/Pass mit der Login/Pass-Tabelle vergleicht und erfolgreiche/fehlgeschlagene Versuche im Benutzersitzungsprotokoll protokolliert (Sie benötigen SECURITY DEFINER Funktion)

4) Satz von Audit-Triggern für allgemeine Schematabellen, die die Benutzerrechte prüfen und alle vom Benutzer vorgenommenen Änderungen protokollieren (SECURITY DEFINER funktioniert auch hier).