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

Limita l'accesso degli utenti a PostgreSQL utilizzando lo schema e le viste

Per limitare l'accesso di PostgreSQL a tabelle e colonne specifiche puoi utilizzare lo schema e le istruzioni GRANT selettive.

Fare riferimento alle seguenti istruzioni su come limitare l'accesso a determinate tabelle.

Tuttavia, se è necessario limitare l'accesso a colonne specifiche, potrebbe essere necessario utilizzare una combinazione di schemi e viste per limitare l'accesso. Puoi farlo anche se il tuo database ha più di 1000 tabelle e stai tentando di connetterti a Chartio.

  1. Collegati al tuo database PostgreSQL usando psql o pgadmin. Esegui quanto segue per restituire un elenco di tabelle nel database.

    sudo -u postgres psql c nomedatabase;

  2. Crea uno schema specifico per l'utente di sola lettura di Chartio, esegui quanto segue:

    CREA SCHEMA chartio_read_only; CREA RUOLO chartio_schema_user LOGIN PASSWORD ‘secure_password’; GRANT CONNECT ON DATABASE databasename TO chartio_schema_user; CONCEDERE L'UTILIZZO SU SCHEMA chartio_read_only A chartio_schema_user;

  3. Dai un'occhiata alle relazioni del database usando il comando d.

    d

    Schema | Nome          | Digita  | Proprietario ———-+————————-+———-+————– pubblico | Conti      | tavola | postgres pubblico | Visitatori      | tavola | postgres pubblico | Utenti         | tavola | postgres pubblico | Abbonamenti | tavola | postgres

  4. La tabella Account contiene informazioni riservate e desideri che Chartio acceda solo alle colonne Account_ID e Date__Created ._ Eseguire quanto segue per aggiungere una vista allo schema chartio_read_only e concedere l'accesso a tale vista a chartio_schema_user.

    CREATE VIEW chartio_read_only."Account" AS SELECT Account_ID, Date_Created FROM Accounts; CONCEDERE SELEZIONA SU chartio_read_only."Account" A chartio_schema_user;

  5. Concedi le autorizzazioni per selezionare tutti i dati dalla tabella Visitatori.

    CREATE VIEW chartio_read_only.”Visitatori” COME SELEZIONARE * DA Visitatori; CONCEDERE SELEZIONA SU chartio_read_only."Visitatori" A chartio_schema_user;

Ora, se colleghi chartio_schema_user al tuo database, sarà in grado di accedere solo alle due viste limitate che hai concesso allo schema.

Per ulteriori informazioni, consulta la documentazione di PostgreSQL.