Nogle gange kan det være nødvendigt at begrænse adgangen til databasen i PostgreSQL, af sikkerhedsmæssige årsager eller andet. I denne artikel vil vi se på, hvordan man begrænser adgangen til databasen i PostgreSQL.
Sådan begrænser du adgangen til databasen i PostgreSQL
Her er trinene til at begrænse adgangen til databasen i PostgreSQL. Grundlæggende vil vi oprette en ny rolle og give den udvalgte tilladelser til vores databasetabeller. Så vil vi oprette en databasebruger og tildele den den nye rolle, som vi har oprettet. På denne måde vil databasebrugeren kun have adgang til de tabeller, som kan tilgås af vores nyoprettede rolle.
1. Opret rolle
Log ind på PostgreSQL og kør følgende kommando til en ny rolle. Erstat rollenavnet efter dit krav.
postgres-# CREATE ROLE new_role;
2. Begræns tilladelse
Kør følgende kommandoer for at begrænse adgangen til den nyoprettede rolle til databasen sample_database .
postgres-# GRANT CONNECT ON DATABASE sample_database TO new_role;
Yderligere vil vi give adgang til alle tabeller i offentlige skema. Du kan ændre skemanavnet efter dit behov.
postgres-# GRANT USAGE ON SCHEMA public TO new_role; postgres-# GRANT SELECT ON ALL TABLES IN SCHEMA public TO new_role;
Hvis du vil give select-tilladelse til specifikke tabeller (f.eks. sample_table), skal du køre følgende kommando
postgres-# GRANT SELECT ON sample_table IN SCHEMA public TO new_role;
På samme måde, hvis du har en visning (f.eks. sample_view), som du vil give adgang til new_role, skal du køre følgende kommando.
postgres-# GRANT SELECT ON sample_view IN SCHEMA public TO new_role;
3. Opret bruger
Til sidst opretter vi en PostgreSQL-bruger og tildeler den nyoprettede rolle til denne bruger. Opdater ny_bruger og user_password i kommandoerne nedenfor med dit brugernavn og adgangskode.
postgres-# CREATE USER new_user WITH PASSWORD 'user_password'; postgres-# GRANT new_role TO new_user;
Forhåbentlig hjælper denne artikel dig med at begrænse brugeradgang i PostgreSQL. Ubiq gør det nemt at visualisere data og overvåge dem i dashboards i realtid. Prøv Ubiq gratis.