PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Sistema di accesso che utilizza utenti postgres fisici non utenti logici

Per raggiungere il tuo obiettivo

puoi creare:

1) Due schemi:uno per le tabelle comuni, uno per elementi di sicurezza come la tabella login/pass(hash), il registro della sessione utente, la tabella del registro delle modifiche, ecc.

2) Due utenti:un utente comune, che può usare solo dml su schema comune (no ddl), un superutente.

3) Funzione di accesso che verificherà l'utente/passo fornito rispetto alla tabella di accesso/passo e registrerà i tentativi riusciti/non riusciti nel registro della sessione dell'utente (è necessario SECURITY DEFINER funzione)

4) Insieme di trigger di audit su tabelle di schemi comuni che verificheranno i privilegi dell'utente e registreranno eventuali modifiche apportate dall'utente (SECURITY DEFINER funziona anche qui).