Enquanto o RBAC baseia a permissão na função do usuário, o controle de acesso baseado em atributos (ABAC) baseia-se em atributos relacionados ao usuário (por exemplo, cargo, nível de antiguidade, deveres de trabalho), recurso (por exemplo, tipo de arquivo/aplicativo, sensibilidade ou fonte), ou contexto (por exemplo, onde, como e/ou quando o recurso está sendo acessado). O ABAC aumenta exponencialmente as opções de permissão com a adição de atributos específicos, adicionando outro nível de controle em comparação com o RBAC. Embora infinitamente mais flexível do que o RBAC, esta flexibilidade também acrescenta complexidade que pode aumentar o risco se não for implementada e gerenciada adequadamente.