Postgresql cấu hình tham số kết nối và xác thực

Quản lý kết nối và xác thực trong PostgreSQL là một phần quan trọng của việc triển khai và bảo mật cơ sở dữ liệu. Dưới đây là một số phương pháp để quản lý kết nối và xác thực trong PostgreSQL:

Các tham số này được cấu hình trong file postgresql.conf, để cấu hình => chúng ta tiến hành sửa thông số của file này sau đó khởi động lại services là được.

Kết nối:

  • listen_addresses xác định địa chỉ IP mà máy chủ PostgreSQL sẽ lắng nghe kết nối từ các máy khách. Nó quyết định máy chủ PostgreSQL có thể lắng nghe kết nối từ địa chỉ IP nào. Để lắng nghe từ tất cả các địa chỉ IP, bạn có thể đặt: listen_addresses = ‘*’. Để chỉ lắng nghe từ một địa chỉ IP cụ thể, bạn có thể đặt: listen_addresses = ‘192.168.1.100’. Để lắng nghe từ nhiều địa chỉ IP, bạn có thể liệt kê chúng cách nhau bằng dấu phẩy: listen_addresses = ‘192.168.1.100, 10.0.0.1’. Mặc định, PostgreSQL sẽ chỉ lắng nghe kết nối từ localhost (127.0.0.1) nếu không có giá trị được cấu hình cho listen_addresses.
  • port xác định cổng mà máy chủ PostgreSQL lắng nghe các kết nối từ các máy khách. Nó quyết định cổng mà PostgreSQL sẽ sử dụng để lắng nghe kết nối.
  • max_connections xác định số lượng kết nối tối đa mà máy chủ PostgreSQL có thể chấp nhận từ các máy khách cùng một lúc.
  • superuser_reserved_connections xác định số lượng kết nối được dành riêng cho người dùng có quyền superuser và không tính vào số lượng kết nối tối đa được quy định bởi max_connections.

Xác thực:

  • authentication_timeout xác định thời gian tối đa mà một kết nối có thể chờ đợi để xác thực trước khi bị ngắt kết nối.
  • password_encryption là một tham số trong PostgreSQL xác định cách mật khẩu được lưu trữ trong hệ thống. Các giá trị phổ biến cho password_encryption bao gồm md5, scram-sha-256, scram-sha-256-2, và plain. Mặc định, PostgreSQL sử dụng phương pháp mã hóa MD5 cho mật khẩu. Tuy nhiên, MD5 không được khuyến khích sử dụng vì tính không an toàn.
  • db_user_namespace xác định cách các tên người dùng (user) được quản lý trong các cơ sở dữ liệu (database). Khi db_user_namespace được thiết lập thành true, mỗi cơ sở dữ liệu có một không gian tên người dùng riêng, điều này có nghĩa là các người dùng có thể có cùng tên nhưng thuộc về các cơ sở dữ liệu khác nhau. Khi db_user_namespace là false, tên người dùng là toàn cục trong toàn bộ hệ thống, không quan tâm đến cơ sở dữ liệu mà chúng thuộc về.

 

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận