セキュリティ上の理由などにより、PostgreSQLのデータベースへのアクセスを制限する必要がある場合があります。この記事では、PostgreSQLでデータベースへのアクセスを制限する方法を見ていきます。
PostgreSQLでデータベースへのアクセスを制限する方法
PostgreSQLでデータベースへのアクセスを制限する手順は次のとおりです。基本的に、新しいロールを作成し、データベーステーブルへの選択権限を付与します。次に、データベースユーザーを作成し、作成した新しいロールを割り当てます。このように、データベースユーザーは、新しく作成されたロールからアクセスできるテーブルにのみアクセスできます。
1。役割の作成
PostgreSQLにログインし、次のコマンドを実行して新しい役割を実行します。要件に応じて役割名を置き換えます。
postgres-# CREATE ROLE new_role;
2。許可を制限する
次のコマンドを実行して、新しく作成されたロールのデータベースへのアクセスを制限します sample_database 。
postgres-# GRANT CONNECT ON DATABASE sample_database TO new_role;
さらに、 publicのすべてのテーブルへのアクセスを許可します スキーマ。要件に応じてスキーマ名を変更できます。
postgres-# GRANT USAGE ON SCHEMA public TO new_role; postgres-# GRANT SELECT ON ALL TABLES IN SCHEMA public TO new_role;
特定のテーブル(例:sample_table)に選択権限を付与する場合は、次のコマンドを実行します
postgres-# GRANT SELECT ON sample_table IN SCHEMA public TO new_role;
同様に、new_roleへのアクセスを提供するビュー(例:sample_view)がある場合は、次のコマンドを実行します。
postgres-# GRANT SELECT ON sample_view IN SCHEMA public TO new_role;
3。ユーザーの作成
最後に、PostgreSQLユーザーを作成し、新しく作成したロールをそのユーザーに割り当てます。 new_userを更新します およびuser_password 以下のコマンドで、ユーザー名とパスワードを使用してください。
postgres-# CREATE USER new_user WITH PASSWORD 'user_password'; postgres-# GRANT new_role TO new_user;
この記事がPostgreSQLでのユーザーアクセスを制限するのに役立つことを願っています。 Ubiqを使用すると、データを簡単に視覚化し、リアルタイムのダッシュボードで監視できます。 Ubiqを無料でお試しください。