sql >> Databáze >  >> RDS >> PostgreSQL

Jak omezit přístup k databázi v PostgreSQL

Někdy může být nutné omezit přístup k databázi v PostgreSQL, z bezpečnostních důvodů nebo jinak. V tomto článku se podíváme na to, jak omezit přístup k databázi v PostgreSQL.


Jak omezit přístup k databázi v PostgreSQL

Zde jsou kroky k omezení přístupu k databázi v PostgreSQL. V podstatě vytvoříme novou roli a udělíme jí vybraná oprávnění k našim databázovým tabulkám. Poté vytvoříme uživatele databáze a přiřadíme mu novou roli, kterou jsme vytvořili. Tímto způsobem bude mít uživatel databáze přístup pouze k těm tabulkám, ke kterým má přístup naše nově vytvořená role.


1. Vytvořit roli

Přihlaste se do PostgreSQL a spusťte následující příkaz do nové role. Nahraďte název role podle svého požadavku.

postgres-# CREATE ROLE new_role;


2. Omezit oprávnění

Spuštěním následujících příkazů omezíte přístup nově vytvořené role k databázi vzorová_databáze .

postgres-# GRANT CONNECT ON DATABASE sample_database TO new_role;

Dále udělíme přístup ke všem tabulkám veřejně schéma. Název schématu můžete změnit podle svých požadavků.

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

Pokud chcete udělit oprávnění k výběru pro konkrétní tabulky (např. sample_table), spusťte následující příkaz

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

Podobně, pokud máte jakýkoli pohled (např. sample_view), pro který chcete poskytnout přístup k new_role, spusťte následující příkaz.

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


3. Vytvořit uživatele

Nakonec vytvoříme uživatele PostgreSQL a přiřadíme tomuto uživateli nově vytvořenou roli. Aktualizujte new_user a heslo_uživatele v příkazech níže s vaším uživatelským jménem a heslem.

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

Doufejme, že vám tento článek pomůže omezit přístup uživatelů k PostgreSQL. Ubiq usnadňuje vizualizaci dat a jejich sledování na řídicích panelech v reálném čase. Vyzkoušejte Ubiq zdarma.

  1. Je lepší použít kurzorový adaptér nebo adaptér pole

  2. Jak komentovat v SQL

  3. Jak určit počet dní v měsíci na serveru SQL?

  4. Optimistická souběžnost:IsConcurrencyToken a RowVersion