Di seguito è riportato un elenco di comandi che sembrano funzionare per creare un nuovo utente (login) e concedere l'accesso in sola lettura per una tabella specificata su PostgreSQL.
Supponiamo che questi comandi vengano eseguiti all'accesso con privilegi sufficienti (ad es. postgresAccesso nell'installazione predefinita).
CREATE ROLE user_name NOSUPERUSER NOCREATEDB
NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity';
Ora voglio concedere selectsul tavolo tab_abcsul database db_xyz, quindi eccolo qui (il database db_xyzè selezionato come corrente tramite PgAdmin o qualcosa del genere):
grant select on tab_abc to user_name;
La domanda è: è sufficiente o dovrebbero esserci più sovvenzioni (database connect, usageforse)?
Questi comandi sembrano funzionare per me, ma la mia installazione predefinita ha impostazioni di sicurezza predefinite. Quali ulteriori sovvenzioni devo aggiungere se l'amministratore del server ha configurato una sicurezza più elevata?
Sembra che non ho bisogno di concedere connectné usage- sono impliciti durante la concessione select? È sempre così?