Terkadang Anda mungkin perlu membatasi akses ke database di PostgreSQL, untuk alasan keamanan atau lainnya. Pada artikel ini, kita akan melihat cara membatasi akses ke database di PostgreSQL.
Cara Membatasi Akses ke Database di PostgreSQL
Berikut adalah langkah-langkah untuk membatasi akses ke database di PostgreSQL. Pada dasarnya, kami akan membuat peran baru dan memberikannya izin pilih ke tabel database kami. Kemudian kita akan membuat pengguna database dan menetapkan peran baru yang telah kita buat. Dengan cara ini pengguna database hanya akan memiliki akses ke tabel yang dapat diakses oleh peran yang baru kita buat.
1. Buat Peran
Masuk ke PostgreSQL dan jalankan perintah berikut ke peran baru. Ganti nama peran sesuai kebutuhan Anda.
postgres-# CREATE ROLE new_role;
2. Batasi Izin
Jalankan perintah berikut untuk membatasi akses peran yang baru dibuat ke database sample_database .
postgres-# GRANT CONNECT ON DATABASE sample_database TO new_role;
Selanjutnya kami akan memberikan akses ke semua tabel di publik skema. Anda dapat mengubah nama skema sesuai kebutuhan Anda.
postgres-# GRANT USAGE ON SCHEMA public TO new_role; postgres-# GRANT SELECT ON ALL TABLES IN SCHEMA public TO new_role;
Jika Anda ingin memberikan izin pilih untuk tabel tertentu (misalnya sample_table) jalankan perintah berikut
postgres-# GRANT SELECT ON sample_table IN SCHEMA public TO new_role;
Demikian pula, jika Anda memiliki tampilan (misalnya sample_view) yang ingin Anda berikan akses ke new_role, jalankan perintah berikut.
postgres-# GRANT SELECT ON sample_view IN SCHEMA public TO new_role;
3. Buat Pengguna
Terakhir, kami membuat pengguna PostgreSQL dan menetapkan peran yang baru dibuat untuk pengguna tersebut. Perbarui pengguna_baru dan sandi_pengguna dalam perintah di bawah ini dengan nama pengguna dan kata sandi Anda.
postgres-# CREATE USER new_user WITH PASSWORD 'user_password'; postgres-# GRANT new_role TO new_user;
Semoga artikel ini membantu Anda membatasi akses pengguna di PostgreSQL. Ubiq memudahkan untuk memvisualisasikan data, dan memantaunya di dasbor waktu nyata. Coba Ubiq gratis.