Dalam beberapa kasus, kita ingin membuat user di PostgreSQL yang hanya bisa melihat data tanpa bisa mengubahnya. User seperti ini biasa disebut read-only user atau user SELECT saja.
Hal ini bermanfaat misalnya untuk:
-
Memberikan akses ke tim reporting atau data analyst.
-
Membuka akses aplikasi pihak ketiga tanpa khawatir data berubah.
-
Menjaga keamanan database dengan prinsip least privilege (akses seminimal mungkin).
Pada artikel ini, saya akan menjelaskan langkah demi langkah membuat user PostgreSQL read-only menggunakan pgAdmin.
1. Buat User Baru di pgAdmin
-
Buka pgAdmin lalu expand server PostgreSQL.
-
Klik kanan pada menu Login/Group Roles → pilih Create → Login/Group Role.
-
Pada tab General, isi nama user, misalnya : readonly_user
-
Pada tab Definition, isi password untuk user tersebut.
-
Pada tab Privileges, atur hanya:
-
Can login? → ON ā
-
Semua opsi lain (Superuser, Create roles, Create databases, Replication) → OFF
-
Klik Save untuk membuat user.
2. Berikan Akses ke Database
Agar user bisa masuk ke database:
-
Klik kanan pada database yang ingin dibuka → Properties.
-
Masuk ke tab Security → Privileges.
-
Tambahkan user
readonly_user→ beri hak CONNECT. -
Klik Save.
3. Berikan Akses ke Schema
Secara default, tabel berada di schema public. Supaya user bisa mengakses schema tersebut:
-
Expand database → Schemas → klik kanan
public. -
Pilih Properties → Security → Privileges.
-
Tambahkan user
readonly_user→ beri hak USAGE. -
Klik Save.
4. Berikan Hak SELECT ke Tabel
Terakhir, kita harus mengizinkan user melakukan SELECT ke tabel yang ada.
Cara manual via GUI
-
Klik kanan masing-masing tabel → Properties → Security → Privileges.
-
Tambahkan
readonly_user→ centang SELECT.
Cara cepat via Query Tool
Jika tabel banyak, lebih efisien gunakan query berikut :
Kesimpulan
Dengan langkah di atas, kita sudah berhasil membuat user PostgreSQL read-only yang hanya bisa melakukan SELECT.
Konfigurasi ini aman untuk kebutuhan view data, analisis, atau integrasi eksternal tanpa risiko mengubah isi database.
Belum ada komentar. Jadilah yang pertama!