O controle de acesso baseado em visões foi escolhido para determinar os direitos de acesso de um usuário remoto em relação a visualizações ou alteração de um valor na MIB local. Este mecanismo de controle de acesso especifica os direitos de usuários utilizando políticas de grupo, o que difere do modelo implementado na USB, onde o controle de cada usuário é especificado separadamente. No VACM, cada usuário deve ser incluído em um grupo, e cada grupo poderá receber um conjunto diferente de permissões de acordo com critérios definidos pelo administrador da rede.
Um contexto é definido como uma coleção de objetos de gerenciamentos acessíveis a uma entidade do SNMP, um subconjunto dos objetos gerenciáveis. É possível que um objeto pertença a mais de um contexto. Também é possível que uma entidade tenha permissões de acesso a mais de um contexto. A tabela vacmContextTable é usada para armazenar os diversos contextos locais, cada uma de suas linhas contém um campo vacmContextName: uma sequencia única legível de caracteres que identifica o contexto.
A tabela vacmSecurityToGroupTable é usada para correlacionar a informação usada por um securityModel e um securityName. Cada linha desta tabela contém:
A tabela vacmAccessTable é responsável por armazenar os direitos de acesso definidos para grupos, os relacionando com os viewNames disponibilizados pela MIB. A tabela vacmViewTreeFamilyTable é utilizada para armazenar as visualizações disponibilizadas pela MIB.
Figura 7.1 - Diagrama de busca e fluxo de decisão VACM
O processo de decisão geral é baseado nos seguintes conceitos:
Se todas estas proposições (buscas nas tabelas) podem ser respondidas, então a decisão final de acesso é tomada ao se comparar o campo OID com a visão recuperada da MIB. Se o campo estiver presente nesta determinada visão da MIB, o acesso é concedido.