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

Come limitare l'accesso al database in PostgreSQL

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.