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

PostgreSQL:Mã hóa cột bằng pgcrypto

Lưu trữ bí mật là một vấn đề phổ biến khi sử dụng vi sinh vật tiền điện tử.

pgcrypto không cung cấp khả năng lưu trữ khóa, bạn có thể tự do lưu trữ khóa ở nơi bạn muốn và bảo vệ nó khi bạn có thể.

Lưu trữ khóa trong một cơ sở dữ liệu khác, nếu được quản lý bởi cùng một DBA sẽ không cung cấp nhiều bảo mật vì DBA có thể truy cập nó theo cách tương tự.

Lý tưởng nhất là bạn nên lưu trữ khóa trong một kho bảo mật và yêu cầu nó từ ứng dụng của bạn để tạo các truy vấn. Nó sẽ vẫn hiển thị từ DBA trong khi yêu cầu đang chạy qua select * from pg_stat_activity .

Bạn có thể đặt khóa để sử dụng rộng rãi phiên SQL thông qua set session my.vars.cryptokey = 'secret'; sau đó sử dụng nó vào các truy vấn của bạn với cú pháp sau:current_setting('my.vars.cryptokey')::text

Để (gần như) minh bạch theo quan điểm ứng dụng, các quy tắc PostgreSQL có thể giúp dịch secure_column gọi đến chức năng giải mã với khóa được lưu trữ phiên. Để chèn, cần phải có trình kích hoạt chèn trước.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể thả bảng tạm thời trong hàm Postgres:đang được sử dụng bởi các truy vấn đang hoạt động trong phiên này

  2. Làm cách nào để giải quyết vấn đề xác thực Postgresql SCRAM?

  3. PostgreSQL:KHÔNG VÀO so với EXCEPT sự khác biệt về hiệu suất (đã chỉnh sửa # 2)

  4. Sử dụng loại điểm với PostgreSQL và JPA / Hibernate

  5. PostgreSQL - thay đổi đúng ID của hàng bảng