PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Cara Membatasi Akses ke Database di PostgreSQL

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.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL DATEADD() Setara

  2. String -> java.util.Date -> java.sql.Date (dengan cap waktu)

  3. Bagaimana cara mengembalikan array jsonb dan array objek dari data saya?

  4. Postgres 9.4 jsonb array sebagai tabel

  5. Pergi dan IN klausa di Postgres