User Account Control(UAC) là một điều khiển truy cập cơ sở thực thi bắt buộc được giới thiệu với các hệ điều hànhcủa Microsoft: Windows Vista[1] và Windows Server 2008, với một phiên bản thoải mái hơn [2] cũng có mặt trong Windows 7, Windows Server 2008 R2, của Windows 8, Windows Server 2012 và Windows 10. Nó nhằm mục đích cải thiện tính bảo mật của Microsoft Windows bằng cách giới hạn phần mềm ứng dụng trong các đặc quyền người dùng tiêu chuẩn cho đến khi quản trị viên cho phép tăng hoặc nâng cấp. Theo cách này, chỉ những ứng dụng được người dùng tin cậy mới có thể nhận được đặc quyền quản trị và không cho phần mềm độc hại xâm phạm hệ điều hành. Nói cách khác, tài khoản người dùng có thể có các đặc quyền của quản trị viên được gán cho nó, nhưng các ứng dụng mà người dùng chạy không kế thừa các đặc quyền đó trừ khi chúng được chấp thuận trước hoặc được người dùng cho phép một cách rõ ràng.
UAC sử dụng Mandatory Integrity Control để cô lập các quy trình đang chạy với các đặc quyền khác nhau. Để giảm khả năng các ứng dụng có đặc quyền thấp hơn giao tiếp với các ứng dụng có đặc quyền cao hơn, một công nghệ mới khác, Cách ly Đặc quyền Giao diện Người dùng, được sử dụng cùng với Kiểm soát Tài khoản Người dùng để cách ly các quy trình này với nhau.[3] Một công dụng nổi bật của tính năng này là "Chế độ bảo vệ" của Internet Explorer 7.[4]
Hệ điều hành trên máy tính lớn và trên máy chủ đã phân biệt giữa superusers và userland trong nhiều thập kỷ. Điều này có một thành phần bảo mật rõ ràng, nhưng cũng là một thành phần quản trị, trong đó nó ngăn người dùng vô tình thay đổi cài đặt hệ thống.
Các hệ điều hành gia đình ban đầu của Microsoft (chẳng hạn như MS-DOS, Windows 95, Windows 98 và Windows Me) không có khái niệm về các tài khoản người dùng khác nhau trên cùng một máy. Các phiên bản tiếp theo của các ứng dụng Windows và Microsoft khuyến khích sử dụng đăng nhập người dùng không phải của quản trị viên, tuy nhiên một số ứng dụng vẫn tiếp tục yêu cầu quyền quản trị viên. Microsoft không chứng nhận các ứng dụng tuân thủ Windows nếu chúng yêu cầu đặc quyền của quản trị viên; các ứng dụng đó có thể không sử dụng biểu trưng tuân thủ Windows với bao bì của chúng.
MS-DOS và Windows phiên bản 1.0 đến 3.11: tất cả các ứng dụng đều có đặc quyền tương đương với hệ điều hành;
Windows 9x và Windows Me: tất cả các ứng dụng được hưởng các đặc quyền trên toàn hệ thống so với các đặc quyền của chính hệ điều hành;
Tất cả các phiên bản Windows NT cho đến Windows XP: đã giới thiệu nhiều tài khoản người dùng, nhưng trên thực tế, hầu hết người dùng tiếp tục hoạt động như một quản trị viên cho các hoạt động bình thường của họ. Hơn nữa, một số ứng dụng sẽ yêu cầu người dùng phải là quản trị viên để một số hoặc tất cả các chức năng của họ hoạt động.[5]
Windows Vista: Microsoft đã phát triển bảo mật Vista trước tiên từ Tài khoản Người dùng Hạn chế (LUA), sau đó đổi tên khái niệm thành Bảo vệ Tài khoản Người dùng (UAP) trước khi cuối cùng đưa ra Kiểm soát Tài khoản Người dùng (UAC).[6] Được giới thiệu trong Windows Vista, Kiểm soát Tài khoản Người dùng (UAC) cung cấp một cách tiếp cận để khuyến khích "siêu người dùng khi cần thiết". Mấu chốt của UAC nằm ở khả năng nâng cao đặc quyền mà không thay đổi bối cảnh người dùng (người dùng "Bob" vẫn là người dùng "Bob"). Như mọi khi, rất khó để giới thiệu các tính năng bảo mật mới mà không phá vỡ khả năng tương thích với các ứng dụng hiện có.
Khi ai đó đăng nhập vào Vista với tư cách người dùng tiêu chuẩn, hệ thống sẽ thiết lập một phiên đăng nhập và chỉ định một mã thông báo chỉ chứa các đặc quyền cơ bản nhất. Bằng cách này, phiên đăng nhập mới không thể thực hiện các thay đổi ảnh hưởng đến toàn bộ hệ thống.
Khi một người đăng nhập với tư cách là người dùng có tư cách thành viên trong nhóm Quản trị viên, hệ thống sẽ chỉ định hai mã thông báo riêng biệt: mã thông báo đầu tiên chứa tất cả các đặc quyền thường được trao cho quản trị viên và mã thông báo thứ hai là mã thông báo hạn chế tương tự như những gì người dùng tiêu chuẩn sẽ nhận được.
Các ứng dụng người dùng, bao gồm Windows Shell, sau đó bắt đầu với mã thông báo hạn chế, dẫn đến môi trường đặc quyền bị giảm - ngay cả khi chạy dưới tài khoản Quản trị viên.
Khi ứng dụng yêu cầu các đặc quyền cao hơn hoặc khi người dùng chọn tùy chọn "Chạy với tư cách quản trị viên", UAC sẽ nhắc người dùng tiêu chuẩn nhập thông tin đăng nhập của tài khoản Quản trị viên và nhắc Quản trị viên xác nhận và nếu được sự đồng ý, hãy tiếp tục hoặc bắt đầu quá trình bằng một mã thông báo không hạn chế.[7]
Windows 7: Microsoft đã đưa vào một giao diện người dùng để thay đổi cài đặt Kiểm soát Tài khoản Người dùng và giới thiệu một chế độ thông báo mới: cài đặt mặc định. Theo mặc định, UAC không nhắc sự đồng ý khi người dùng thực hiện các thay đổi đối với cài đặt Windows yêu cầu quyền cao hơn thông qua các chương trình được lưu trữ trong % SystemRoot% và được Microsoft ký điện tử. Các chương trình yêu cầu quyền để chạy vẫn kích hoạt lời nhắc. Các cài đặt Kiểm soát Tài khoản Người dùng khác có thể được thay đổi thông qua giao diện người dùng mới có thể đã được truy cập thông qua sổ đăng ký trong Windows Vista.[8]
Windows 8 và 8.1: thêm một thay đổi về thiết kế. Khi UAC được kích hoạt, tất cả các ứng dụng và thanh tác vụ sẽ bị ẩn khi màn hình mờ.
Windows 10: sao chép bố cục tương tự như Windows 8 và 8.1, nhưng Bản cập nhật kỷ niệm có giao diện hiện đại hơn. Ngoài ra, Windows 10 bổ sung hỗ trợ cho Windows Hello trong hộp thoại Kiểm soát Tài khoản Người dùng.
Howard, Michael; LeBlanc, David (2010). Writing Secure Code for Windows Vista. O'Reilly Media, Inc. ISBN9780735649316. Truy cập ngày 6 tháng 8 năm 2013. UAC started life as the Limited User Account (LUA), then was renamed to User Account Protection (UAP), and finally we got UAC.