Nói chung, có tồn tại nhiều cách khác nhau để quản trị kiểm soát truy cập, đó là, xác định các quyền truy cập của một ngƣời dùng từ xa để có thể thay đổi hoặc xem MIB cục bộ. Điều này có nghĩa rằng việc kiểm soát truy cập là một chức năng
bảo mật đƣợc thực hiện ở cấp PDU. Cơ chế kiểm soát truy cập dự định đƣợc sử dụng với SNMPv3 đƣợc gọi là View-Based Access Control (VACM), quy định tại RFC-2575.
Các VACM đƣợc quy định để xác định đúng truy cập cho mỗi nhóm cơ sở. Điều này khác với USM, USM thì xác định việc chứng thực của ngƣời sử dụng cá nhân. Trong VACM mỗi ngƣời dùng đã bao gồm trong một số nhóm và các nhóm khác nhau đó có thể đƣợc cấp mức độ bảo mật khác nhau. Điều này có nghĩa rằng có thể xảy ra các tình huống nhƣ một nhóm các nhà quản trị chính, có kiểm soát cuối cùng để thay đổi tất cả các thông số trong tất cả các node đƣợc quản trị. Ngoài ra, có thể có một nhóm nhỏ, mà những nhà quản trị quan sát và sẽ cấp quyền truy cập chỉ để đọc một số phần của mỗi MIB cục bộ.
Về cơ bản, một ứng dụng SNMPv3 sử dụng VACM qua isAccessAllowed gốc. Các tham số đầu vào là securityModel (mô hình an ninh đang đƣợc sử dụng), securityName, securitylevel, viewType (loại xem), contextName (bối cảnh bị truy cập), và variableName (biến đƣợc truy cập). Các thông số này là cần thiết cho các quyết định điều khiển truy cập trong VACM.
Các quyền truy cập đƣợc lƣu trong các bảng khác nhau tại các node và mỗi bảng đƣợc tra cứu để xác định đúng yêu cầu truy cập của ngƣời quản trị. Thủ tục kiểm tra các quyền truy cập trong mô hình VACM thông qua các bảng điều khiển truy cập khác nhau đƣợc minh họa trong hình 2.19, thủ tục này dựa trên những khái niệm sau đây:
• " Who - Ai" là đối tƣợng của hoạt động và đƣợc định nghĩa bởi securityModel và securityName. Đó là đối tƣợng thuộc về một nhóm node SNMPv3. Sử dụng sự kết hợp securityModel và một securityName có thể tìm thấy những groupName tƣơng ứng từ vacmSecurityToGroupTable.
• Các contextName quy định cụ thể "Where - ở đâu" đối tƣợng muốn quản trị có thể đƣợc tìm thấy. Đây là truy vấn từ vacmContextTable để xem, nếu phạm vi yêu cầu đã tồn tại.
• "How - Làm thế nào" là sự kết hợp của securityModel và securitylevel và nó định nghĩa nhƣ thế nào để đến yêu cầu đƣợc bảo vệ. Sự kết hợp của những “Who”, “Where”, và “How” là một trong những thực thể chính trong trong vacmAccessTable.
• Các viewType quy định cụ thể loại hình yêu cầu truy cập ("Why - tại sao"). Các tùy chọn là read, write, hoặc thông báo yêu cầu truy cập. Các mục chọn trong vacmAccessTable có một MIB viewName đối với từng loại hoạt động. Sau
đó, bằng cách sử dụng một viewType có thể truy vấn một viewName cụ thể. Sau đó, chỉ số viewName này xem MIB thích hợp trong vacmViewTreeFamilyTable.
• Các đối tƣợng của hoạt động SNMP ("What - cái gì") đƣợc định nghĩa bởi variableName này.
Quyết định truy cập cuối cùng đƣợc thực hiện bằng cách so sánh variableName với MIB xem.Nếu variableName đƣợc tìm thấy trong MIB xem, truy cập vào sẽ đƣợc cấp.
Hình 2.19 – Sơ đồ thực hiện VACM