FresherKỹ thuậtXác thực & bảo mật
Nguyên tắc đặc quyền tối thiểu là gì và áp dụng như thế nào?
Thử trả lời trước
Đáp án mẫu
Nguyên tắc đặc quyền tối thiểu nói rằng mọi user, service và process chỉ được cấp đúng quyền cần cho công việc của nó, và chỉ trong khoảng thời gian cần thiết. Nếu một tài khoản bị xâm nhập hoặc có lỗi, thiệt hại vẫn nhỏ.
Cách áp dụng trong backend:
- Database: ứng dụng kết nối bằng role chỉ có
SELECT,INSERT,UPDATEtrên bảng của nó, không cóDROPhay quyền superuser. Dùng role riêng cho migration và role chỉ đọc cho báo cáo. - Cloud và service: mỗi service có danh tính riêng và IAM policy liệt kê chính xác action và resource, không dùng
*. - User: bắt đầu với không có quyền, cấp role theo công việc; rà soát định kỳ và gỡ khi người dùng đổi team.
- Token và key: scope hẹp, thời hạn ngắn, không dùng chung credential toàn quyền.
- Runtime: chạy container không bằng root, bỏ capability và mount file system ở chế độ chỉ đọc khi có thể.
- Thời gian: ưu tiên quyền nâng cao tạm thời có phê duyệt thay vì quyền admin vĩnh viễn.
Điều cần nhớ: bắt đầu từ deny, thêm mức tối thiểu và thường xuyên xem lại, vì quyền chỉ có xu hướng tăng lên.
Ý chính
- Chỉ cấp quyền mà tác vụ cần
- Giới hạn phạm vi, tài nguyên và thời gian
- Tách role database cho app, migration và báo cáo
- Rà soát và gỡ quyền định kỳ
Câu hỏi nối tiếp thường gặp
- Bạn kiểm tra quyền IAM hiện có để tìm quyền thừa thế nào?
- Just-in-time access là gì?
Lỗi thường gặp
- Cấp cho ứng dụng tài khoản owner của database cho tiện
- Cấp quyền wildcard trong IAM policy