Se um usuário está autenticado e possui determinado perfil, ele deveria ter acesso irrestrito a um recurso? Em modelos tradicionais de controle de acesso baseado em papéis (RBAC), a decisão é fortemente influenciada pelas permissões associadas ao perfil do usuário. Essa abordagem, entretanto, pode não considerar condições relevantes no momento da solicitação, como o horário ou a origem da requisição. Para explorar essa limitação e aplicar princípios da Arquitetura Zero Trust, um trabalho desenvolvido no âmbito do Programa de Pós-Graduação Profissional em Engenharia Elétrica da Universidade de Brasília (UnB) propõe o desacoplamento da decisão de autorização do código das aplicações e do provedor de identidade, utilizando controle de acesso baseado em políticas (PBAC).

A arquitetura utiliza o Open Policy Agent (OPA) como mecanismo centralizado e independente de decisão (Policy Decision Point – PDP). Enquanto o provedor de identidade permanece responsável pela autenticação e a aplicação atua como ponto de execução da decisão de acesso, o OPA avalia políticas expressas em código (Policy-as-Code), correlacionando atributos da identidade, da requisição e do contexto para produzir a decisão de autorização. Paralelamente, uma infraestrutura de observabilidade — composta por Fluent Bit, Elasticsearch e Kibana — coleta, armazena e disponibiliza para análise os registros estruturados das decisões de autorização, permitindo preservar o contexto das avaliações e ampliar a rastreabilidade das decisões.

A validação experimental demonstrou que a avaliação combinada de atributos do sujeito, da operação e do contexto operacional permitiu bloquear, nos cenários avaliados, solicitações que seriam autorizadas por um modelo baseado exclusivamente em papéis. Em testes comparativos, requisições com perfis válidos foram bloqueadas com sucesso ao tentarem realizar ações não autorizadas, operar fora da janela comercial ou acessar o sistema a partir de redes externas. 

Os resultados demonstram o potencial do desacoplamento entre autenticação, autorização e aplicação da decisão para ampliar a granularidade do controle de acesso. A abordagem permite evoluir as políticas de autorização de forma independente do código da aplicação, além de produzir evidências estruturadas sobre as decisões, fortalecendo a rastreabilidade e a capacidade de auditoria do processo de controle de acesso.

Ficha Técnica:

  • Título: Arquitetura de Autorização Baseada em Políticas: Uma Implementação com Open Policy Agent
    ‌
  • Autor: Eduardo Faula de Almeida
    ‌
  • Orientador: Prof. Dr. Robson de Oliveira Albuquerque
    ‌
  • Instituição: Programa de Pós-Graduação Profissional em Engenharia Elétrica (PPEE) – Universidade de Brasília (UnB)
    ‌
  • Laboratório: Laboratório de Segurança de Redes e Riscos (LabRisk / UnB)
    ‌
  • Banca Examinadora: Prof. Dr. Laerte Peotta de Melo (UnB) e Prof. Dr. João José Costa Gondim (UnB)

Publicado originalmente no site do LabRisk.