Vorrei creare un nuovo utente in un postgresql
database esistente su una macchina Ubuntu. Voglio concedere a questo utente un accesso di sola lettura a tutte le tabelle.
Come lo faccio? Devo creare un nuovo utente anche su Ubuntu?
Grazie,
Udi
Vorrei creare un nuovo utente in un postgresql
database esistente su una macchina Ubuntu. Voglio concedere a questo utente un accesso di sola lettura a tutte le tabelle.
Come lo faccio? Devo creare un nuovo utente anche su Ubuntu?
Grazie,
Udi
Risposte:
Riferimento tratto da questo articolo!
Script per creare l'utente di sola lettura:
CREATE ROLE Read_Only_User WITH LOGIN PASSWORD 'Test1234'
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';
Assegna l'autorizzazione a questo utente di sola lettura:
GRANT CONNECT ON DATABASE YourDatabaseName TO Read_Only_User;
GRANT USAGE ON SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO Read_Only_User;
Non è necessario creare un nuovo utente nel sistema operativo. Emetti solo:
CREA UTENTE newusername
in psql (o pgadmin, o qualsiasi altro strumento tu preferisca) e avrai un nuovo utente. L'accesso di questo utente dipende dall'impostazione delle tabelle. Ma per impostazione predefinita, non avrà autorizzazioni su nessuna tabella, quindi dovrai concederlo. Se disponi già delle autorizzazioni GRANTed per il gruppo pubblico, l'utente avrà tali autorizzazioni dall'inizio.