Có nên mã hóa secrets trước khi lưu vào database không?
Mk đang băn khoăn liệu có cần mã hóa tất cả secrets trước khi lưu vào database ko, hay chỉ cần đặt quyền truy cập là đủ nhỉ?
1 CÂU TRẢ LỜI
"secrets" theo cách hiểu "thông thường thì là các tài nguyên được dùng trong các trường hợp cụ thể như là môi trường production mà cần giới hạn cho một số ít người truy cập. Sự giới hạn này là được duy trì dài hạn. Việc lưu secrets vào DB có thể phá vỡ sự bí mật của tài nguyên (quyền truy cập của DB hoàn toàn không liên quan đến "secrets"). Nên nhớ secrets là được bảo mật ở mức nội bộ, tức việc mã hóa không phải là "bí mật" trong nội bộ. Hoặc khóa mã hóa lại là một secret (hãy nghĩ xem có thể lưu khóa mã hóa này trong DB hay không? Và có thể mã hóa nó không?).
Có thể bạn đang nhầm lẫn giữa "dữ liệu nhạy cảm" và "secrets".
Mk nghĩ vấn đề nằm ở độ nhạy cảm của secrets. Nếu đó là API key hoặc token quan trọng, tốt nhất vẫn nên mã hóa trước khi lưu. Nhưng với các secrets ít quan trọng hơn, có thể chỉ cần kiểm soát quyền truy cập là đủ. Kbt mn thg phân loại secrets theo cách nào để quyết định mức độ bảo mật?
Mã hóa trc khi lưu database là điều nên làm, vì cũng yên tâm hơn nếu database bị xâm phạm. Nhg nếu muốn đơn giản hóa, bn thử ctham khảo các công cụ hỗ trợ, mk đang dùng secrets manager của bên Locker 1 thời gian thì thấy cũng ok, hoặc một dịch vụ tương tự cũng đc vì nó đã tích hợp mã hóa sẵn