PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách giới hạn quyền truy cập vào cơ sở dữ liệu trong PostgreSQL

Đôi khi bạn có thể cần hạn chế quyền truy cập vào cơ sở dữ liệu trong PostgreSQL, vì lý do bảo mật hoặc vì lý do khác. Trong bài viết này, chúng ta sẽ xem xét cách giới hạn quyền truy cập vào cơ sở dữ liệu trong PostgreSQL.


Cách giới hạn quyền truy cập vào cơ sở dữ liệu trong PostgreSQL

Dưới đây là các bước để giới hạn quyền truy cập vào cơ sở dữ liệu trong PostgreSQL. Về cơ bản, chúng tôi sẽ tạo một vai trò mới và cấp cho nó các quyền chọn lọc đối với các bảng cơ sở dữ liệu của chúng tôi. Sau đó, chúng tôi sẽ tạo một người dùng cơ sở dữ liệu và gán cho nó vai trò mới mà chúng tôi đã tạo. Bằng cách này, người dùng cơ sở dữ liệu sẽ chỉ có quyền truy cập vào những bảng có thể được truy cập bằng vai trò mới được tạo của chúng tôi.


1. Tạo vai trò

Đăng nhập vào PostgreSQL và chạy lệnh sau với một vai trò mới. Thay thế tên vai trò theo yêu cầu của bạn.

postgres-# CREATE ROLE new_role;


2. Giới hạn quyền

Chạy các lệnh sau để hạn chế quyền truy cập của vai trò mới được tạo vào cơ sở dữ liệu sample_database .

postgres-# GRANT CONNECT ON DATABASE sample_database TO new_role;

Hơn nữa, chúng tôi sẽ cấp quyền truy cập vào tất cả các bảng ở công cộng lược đồ. Bạn có thể thay đổi tên lược đồ theo yêu cầu của mình.

postgres-# GRANT USAGE ON SCHEMA public TO new_role;
postgres-# GRANT SELECT ON ALL TABLES IN SCHEMA public TO new_role;

Nếu bạn muốn cấp quyền chọn cho các bảng cụ thể (ví dụ:sample_table), hãy chạy lệnh sau

postgres-# GRANT SELECT ON sample_table IN SCHEMA public TO new_role;

Tương tự, nếu bạn có bất kỳ chế độ xem nào (ví dụ:sample_view) mà bạn muốn cung cấp quyền truy cập vào new_role, hãy chạy lệnh sau.

postgres-# GRANT SELECT ON sample_view IN SCHEMA public TO new_role;


3. Tạo người dùng

Cuối cùng, chúng tôi tạo một người dùng PostgreSQL và gán vai trò mới được tạo cho người dùng đó. Cập nhật new_user user_password trong các lệnh bên dưới với tên người dùng và mật khẩu của bạn.

postgres-# CREATE USER new_user WITH PASSWORD 'user_password';
postgres-# GRANT new_role TO new_user;

Hy vọng rằng, bài viết này sẽ giúp bạn giới hạn quyền truy cập của người dùng trong PostgreSQL. Ubiq giúp dễ dàng trực quan hóa dữ liệu và theo dõi chúng trong trang tổng quan thời gian thực. Dùng thử Ubiq miễn phí.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tổng quan về khả năng JSON trong PostgreSQL

  2. Có nhà điều hành postgres CLOSEST không?

  3. Thay thế các ký tự unicode trong PostgreSQL

  4. Máy chủ Postgres không phản hồi yêu cầu nodejs

  5. PostgreSQL:Tạm thời vô hiệu hóa các kết nối