A volte potrebbe essere necessario limitare l'accesso al database in PostgreSQL, per motivi di sicurezza o altro. In questo articolo, vedremo come limitare l'accesso al database in PostgreSQL.
Come limitare l'accesso al database in PostgreSQL
Ecco i passaggi per limitare l'accesso al database in PostgreSQL. Fondamentalmente, creeremo un nuovo ruolo e gli concederemo le autorizzazioni di selezione per le nostre tabelle del database. Quindi creeremo un utente del database e gli assegneremo il nuovo ruolo che abbiamo creato. In questo modo l'utente del database avrà accesso solo a quelle tabelle a cui è possibile accedere dal nostro ruolo appena creato.
1. Crea ruolo
Accedi a PostgreSQL ed esegui il comando seguente in un nuovo ruolo. Sostituisci il nome del ruolo secondo le tue esigenze.
postgres-# CREATE ROLE new_role;
2. Limita l'autorizzazione
Esegui i seguenti comandi per limitare l'accesso del ruolo appena creato al database sample_database .
postgres-# GRANT CONNECT ON DATABASE sample_database TO new_role;
Inoltre concederemo l'accesso a tutte le tabelle in pubblico schema. Puoi modificare il nome dello schema in base alle tue esigenze.
postgres-# GRANT USAGE ON SCHEMA public TO new_role; postgres-# GRANT SELECT ON ALL TABLES IN SCHEMA public TO new_role;
Se desideri concedere l'autorizzazione di selezione per tabelle specifiche (ad es. tabella_esempio) esegui il comando seguente
postgres-# GRANT SELECT ON sample_table IN SCHEMA public TO new_role;
Allo stesso modo, se disponi di una vista (ad es. vista_esempio) per la quale desideri fornire l'accesso a nuovo_ruolo, esegui il comando seguente.
postgres-# GRANT SELECT ON sample_view IN SCHEMA public TO new_role;
3. Crea utente
Infine, creiamo un utente PostgreSQL e gli assegniamo il ruolo appena creato. Aggiorna nuovo_utente e password_utente nei comandi seguenti con il tuo nome utente e password.
postgres-# CREATE USER new_user WITH PASSWORD 'user_password'; postgres-# GRANT new_role TO new_user;
Si spera che questo articolo ti aiuti a limitare l'accesso degli utenti in PostgreSQL. Ubiq semplifica la visualizzazione dei dati e il monitoraggio in dashboard in tempo reale. Prova Ubiq gratuitamente.