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. postgres
Accesso nell'installazione predefinita).
CREATE ROLE user_name NOSUPERUSER NOCREATEDB
NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity';
Ora voglio concedere select
sul tavolo tab_abc
sul 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
, usage
forse)?
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 connect
né usage
- sono impliciti durante la concessione select
? È sempre così?