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.