Bảo mật cơ sở dữ liệu (Database Security)
Bảo mật DBMS có nhiều lớp, các khía cạnh chính:
Xác thực (Authentication)
Đảm bảo người truy cập là chính người đó. Có thể thực hiện ở cấp hệ điều hành hoặc cấp cơ sở dữ liệu. Các phương pháp: quét võng mạc, sinh trắc học, mật khẩu...
Ủy quyền (Authorization)
Quyền hạn do Quản trị viên cơ sở dữ liệu (DBA) cấp. Người dùng chỉ xem được dữ liệu được phép.
Các loại quyền ủy quyền:
- Quyền chính (Primary): Cấp công khai và trực tiếp cho người dùng.
- Quyền thứ cấp (Secondary): Cấp cho nhóm, tự động áp dụng cho thành viên nhóm.
- Quyền công khai (Public): Cấp cho tất cả người dùng.
- Quyền nhạy cảm ngữ cảnh (Context sensitive): Chỉ cấp cho người dùng đặc biệt đối với dữ liệu nhạy cảm.
Các cấp độ ủy quyền:
- Quản trị hệ thống (System Administrator): Quyền quản trị cao nhất, có thể thực hiện restore, upgrade database.
- Kiểm soát hệ thống (System Control): Quyền kiểm soát cao nhất, cho phép bảo trì nhưng không truy cập dữ liệu trực tiếp.
- Bảo trì hệ thống (System Maintenance): Cấp độ thấp hơn System Control, bảo trì trong instance database manager.
- Giám sát hệ thống (System Monitor): Cho phép giám sát và chụp ảnh nhanh (snapshot) database.
Toàn vẹn cơ sở dữ liệu (Database Integrity)
Độ chính xác, nhất quán và đầy đủ của dữ liệu. Được thực thi bằng 3 ràng buộc:
- Toàn vẹn thực thể (Entity Integrity): Liên quan khóa chính. Mọi bảng phải có khóa chính xác định duy nhất hàng, không được NULL.
- Toàn vẹn tham chiếu (Referential Integrity): Liên quan khóa ngoại. Khóa ngoại là khóa của quan hệ này được tham chiếu trong quan hệ khác.
- Toàn vẹn miền (Domain Integrity): Mọi cột phải có miền giá trị được định nghĩa rõ ràng.