Điều_khiển_truy_cập_bắt_buộc

Trong khoa học máy tính, kỹ thuật điều khiển truy cập bắt buộc (tiếng Anh: mandatory access control - viết tắt là MAC) được dùng để bảo vệ và ngăn chặn các quy trình máy tính, dữ liệu, và các thiết bị hệ thống khỏi sự lạm dụng. Kỹ thuật này có thể mở rộng và thay thế cho kỹ thuật điều khiển truy cập tùy quyền đối với các phép truy cập và sử dụng hệ thống tập tin (file-system permissions ) cùng những khái niệm về người dùng và nhóm người dùng.Đặc trưng quan trọng nhất của MAC bao hàm việc từ chối người dùng toàn quyền truy cập / sử dụng tài nguyên do chính họ kiến tạo. Chính sách an ninh của hệ thống (như đã được viên quản lý (administrator) quy định) hoàn toàn quyết định các quyền truy cập được công nhận, và một người dùng không thể tự hạn chế quyền truy cập vào các tài nguyên của họ hơn những gì mà viên quản lý chỉ định. (Các hệ thống dùng điều khiển truy cập tùy quyền cho phép người dùng toàn quyền quyết định quyền truy cập được công nhận cho các tài nguyên của họ, có nghĩa là họ có thể (do tình cờ hay do ác ý) ban quyền truy cập cho những người dùng bất hợp pháp.)Mục đích của MAC là định nghĩa một kiến trúc mà trong đó nó đòi hỏi sự đánh giá tất cả các nhãn hiệu có liên quan đến an ninh (security-related labels) và đưa ra những quyết định dựa trên cơ sở ngữ cảnh của các thao tác cùng các nhãn hiệu dữ liệu (data labels) tương đồng. Kiến trúc FLASK và những kiến trúc Cơ cấu tổ chức tổng quát đối với điều khiển truy cập (Generalized Framework for Access Control - GFAC), đi đôi với MAC, trở thành những kỹ thuật khả thi cho những hệ thống an ninh đa tầng cấp (multilevel security systems).Một kiến trúc như vậy sẽ ngăn chặn một người dùng đã được xác thực, hoặc một quy trình tại một phân hạng cụ thể nào đấy (classification), hoặc có một mức độ tin cẩn (trust-level) nhất định nào đấy, không cho họ truy cập thông tin, truy cập các quy trình (processes) hoặc truy cập các thiết bị (devices) ở một tầng cấp khác. Kết quả của việc này là nó cung cấp cho chúng ta một cơ chế chính sách ngăn chặn đối với người dùng và các quy trình, hoặc biết, hoặc chưa biết (lấy ví dụ, một chương trình ứng dụng lạ, chưa từng thấy (unknown program có thể bao hàm một chương trình ứng dụng không đáng tin (untrusted application) và hệ thống phải theo dõi, giám sát và/hay khống chế những truy cập của nó vào các thiết bị và các tập tin).Những yêu cầu của một kiến trúc trong đó đòi hỏi sự phân tách giữa dữ liệu và các thao tác bên trong một máy tính bao gồm: