sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man begränsar åtkomst till databasen i PostgreSQL

Ibland kan du behöva begränsa åtkomsten till databasen i PostgreSQL, av säkerhetsskäl eller på annat sätt. I den här artikeln kommer vi att titta på hur man begränsar åtkomsten till databasen i PostgreSQL.


Hur man begränsar åtkomst till databasen i PostgreSQL

Här är stegen för att begränsa åtkomsten till databasen i PostgreSQL. I grund och botten kommer vi att skapa en ny roll och ge den valda behörigheter till våra databastabeller. Sedan skapar vi en databasanvändare och tilldelar den den nya rollen som vi har skapat. På så sätt kommer databasanvändaren bara att ha tillgång till de tabeller som kan nås av vår nyskapade roll.


1. Skapa roll

Logga in på PostgreSQL och kör följande kommando till en ny roll. Byt ut rollnamnet enligt dina krav.

postgres-# CREATE ROLE new_role;


2. Begränsa behörighet

Kör följande kommandon för att begränsa åtkomst av nyskapad roll till databasen exempeldatabase .

postgres-# GRANT CONNECT ON DATABASE sample_database TO new_role;

Vidare kommer vi att ge tillgång till alla tabeller i offentliga schema. Du kan ändra schemanamnet enligt dina krav.

postgres-# GRANT USAGE ON SCHEMA public TO new_role;
postgres-# GRANT SELECT ON ALL TABLES IN SCHEMA public TO new_role;

Om du vill ge select-behörighet för specifika tabeller (t.ex. sample_table) kör följande kommando

postgres-# GRANT SELECT ON sample_table IN SCHEMA public TO new_role;

På liknande sätt, om du har någon vy (t.ex. sample_view) som du vill ge åtkomst till new_role för, kör följande kommando.

postgres-# GRANT SELECT ON sample_view IN SCHEMA public TO new_role;


3. Skapa användare

Slutligen skapar vi en PostgreSQL-användare och tilldelar den nyskapade rollen till den användaren. Uppdatera new_user och user_password i kommandon nedan med ditt användarnamn och lösenord.

postgres-# CREATE USER new_user WITH PASSWORD 'user_password';
postgres-# GRANT new_role TO new_user;

Förhoppningsvis hjälper den här artikeln dig att begränsa användaråtkomst i PostgreSQL. Ubiq gör det enkelt att visualisera data och övervaka dem i realtidsinstrumentpaneler. Prova Ubiq gratis.

  1. Anslut till fjärr MySQL-databas via SSH med Java

  2. SQL unik varchar fråga om skiftlägeskänslighet

  3. PostgreSQL, dra och byt

  4. SQL Server 2008:hur ger jag privilegier till ett användarnamn?