Untuk membatasi akses PostgreSQL ke tabel dan kolom tertentu, Anda dapat menggunakan skema dan pernyataan GRANT selektif.
Lihat petunjuk berikut tentang cara membatasi akses ke tabel tertentu.
Namun, jika Anda perlu membatasi akses ke kolom tertentu, Anda mungkin perlu menggunakan kombinasi skema dan tampilan untuk membatasi akses. Anda juga dapat melakukan ini jika database Anda memiliki lebih dari 1000 tabel dan Anda mencoba untuk terhubung ke Chartio.
-
Hubungkan ke database PostgreSQL Anda menggunakan psql atau pgadmin. Jalankan perintah berikut untuk mengembalikan daftar tabel di database Anda.
sudo -u postgres psql c nama database;
-
Buat skema khusus untuk pengguna hanya baca Chartio, jalankan yang berikut:
BUAT SKEMA chartio_read_only; BUAT PERAN chartio_schema_user LOGIN PASSWORD ‘secure_password’; GRANT CONNECT PADA DATABASE databasename TO chartio_schema_user; HIBAH PENGGUNAAN PADA SKEMA chartio_read_only KE chartio_schema_user;
-
Lihatlah relasi database menggunakan perintah d.
d
Skema | Nama | Ketik | Pemilik ———-+————————-+———-+————– publik | Akun | meja | postgres publik | Pengunjung | meja | postgres publik | Pengguna | meja | postgres publik | Langganan | meja | postgres
-
Tabel Akun Anda memiliki informasi sensitif di dalamnya, dan Anda ingin Chartio hanya mengakses kolom Account_ID dan Tanggal__Dibuat ._ Jalankan perintah berikut untuk menambahkan tampilan ke skema chartio_read_only dan memberikan akses ke tampilan tersebut ke chartio_schema_user.
CREATE VIEW chartio_read_only.”Akun” SEBAGAI PILIH ID_Akun, Tanggal_Dibuat DARI Akun; HIBAH PILIH PADA chartio_read_only.”Akun” KE chartio_schema_user;
-
Berikan izin untuk memilih semua data dari tabel Pengunjung.
CREATE VIEW chartio_read_only.”Pengunjung” SEBAGAI PILIH * DARI Pengunjung; HIBAH PILIH PADA chartio_read_only.”Pengunjung” KE chartio_schema_user;
Sekarang jika Anda menghubungkan chartio_schema_user ke database Anda, itu hanya akan dapat mengakses dua tampilan terbatas yang telah Anda berikan ke skema.
Untuk informasi lebih lanjut, lihat dokumentasi PostgreSQL.