Arquitetura do Apono
Visão Geral
O Apono segue uma arquitetura SaaS com agentes leves (connectors) implantados na infraestrutura do cliente. O plano de controle fica na nuvem do Apono, enquanto os conectores fazem a ponte entre o Apono e os recursos da sua infraestrutura.
Componentes Principais
Apono Cloud (Plano de Controle)
O plano de controle é o coração do Apono e roda inteiramente na infraestrutura gerenciada pela Apono (SaaS). Ele é responsável por:
- Access Engine: Motor de decisão que avalia solicitações de acesso contra as políticas definidas (Access Flows). Decide se o acesso deve ser aprovado automaticamente, encaminhado para aprovação manual ou negado.
- Access Flows (Políticas): Regras que definem quem pode solicitar o quê, com qual nível de acesso, por quanto tempo, e quem aprova. São configuradas pelo time de segurança através do dashboard.
- Audit Log: Registro imutável de todas as solicitações, aprovações, concessões e revogações de acesso. É a base para relatórios de compliance.
- Dashboard: Interface web para configuração de políticas, visualização de acessos ativos, relatórios de auditoria e gerenciamento de conectores.
Apono Connector (Agente)
O connector é um componente leve implantado dentro da infraestrutura do cliente — geralmente como um container em Kubernetes, uma instância EC2, ou uma VM. Ele é o ponto de comunicação entre o plano de controle do Apono e os recursos da infraestrutura.
Características importantes do connector:
- Comunicação outbound: O connector inicia a comunicação com o Apono Cloud (saída), nunca o contrário. Isso significa que não é necessário abrir portas de entrada no firewall ou expor recursos internos à internet.
- Sem armazenamento de credenciais no Apono: O connector utiliza as credenciais locais (IAM roles, service accounts, managed identities) para interagir com os recursos. As credenciais não saem da infraestrutura do cliente.
- Leve e stateless: O connector não armazena estado localmente. Toda a lógica de decisão e auditoria permanece no plano de controle.
- Alta disponibilidade: É possível implantar múltiplos connectors para redundância.
Integrações com Identity Providers
O Apono se integra com provedores de identidade para autenticação e para entender a estrutura organizacional (quem pertence a qual time, qual é o gestor de cada pessoa):
- Okta, Azure AD (Entra ID), Google Workspace: Sincroniza usuários, grupos e hierarquias.
- SAML / OIDC: Suporte a protocolos padrão para autenticação SSO.
- SCIM: Provisionamento automático de usuários — quando alguém é adicionado ou removido no Identity Provider, o Apono reflete automaticamente.
Essa integração é fundamental para que os Access Flows funcionem corretamente, porque o Apono precisa saber quem pertence a qual grupo e quem é o gestor de quem — informações que vêm diretamente do Identity Provider.
Na prática, cada Access Flow define não só quem pode solicitar e a qual recurso, mas também quem são os aprovadores. Isso é configurável por time e por recurso. Alguns exemplos:
- O time backend-team solicita acesso ao banco de produção → aprovação do tech lead do time.
- O time infra-team solicita acesso a uma instância EC2 via SSM → aprovação automática (sem aprovação manual, pois é acesso de baixo risco para esse time).
- Qualquer pessoa solicita acesso admin ao cluster Kubernetes de produção → aprovação do gestor direto + time de segurança.
- Acesso emergencial (break-glass) → aprovação automática com auditoria reforçada.
Os aprovadores podem ser definidos de diferentes formas:
- Gestor direto: O Apono consulta a hierarquia do Identity Provider para identificar automaticamente quem é o gestor do solicitante.
- Pessoas específicas: Você define uma lista fixa de aprovadores (ex: "Maria e João aprovam acessos ao banco de produção").
- Proprietários do recurso (resource owners): O dono do recurso recebe a notificação e decide.
- Aprovação automática: Para acessos de baixo risco, a aprovação é concedida automaticamente sem intervenção humana.
Essa flexibilidade permite que cada time tenha seu próprio fluxo de aprovação, adequado ao nível de risco e à estrutura organizacional.
O Problema da Aprovação Automática pelos Líderes
Na prática, existe um risco real quando a aprovação depende exclusivamente dos líderes de time: eles tendem a aprovar tudo. O líder conhece seu time, confia nos seus engenheiros e quer desbloquear o trabalho o mais rápido possível. O resultado é que a aprovação vira uma formalidade — o líder clica em "aprovar" sem questionar o motivo ou avaliar o risco.
Isso é especialmente problemático em acessos sensíveis como produção, bancos de dados críticos ou permissões administrativas. Um líder que aprova tudo anula o propósito do fluxo de aprovação.
Para organizações que possuem um time de segurança voltado para IAM, o ideal é que esse time participe do fluxo de aprovação como uma camada obrigatória. O Apono permite configurar aprovações em múltiplos níveis, onde todos os níveis precisam aprovar para o acesso ser concedido:
- Nível 1 — Líder do time: Valida que a solicitação faz sentido do ponto de vista técnico e de negócio.
- Nível 2 — Time de segurança (IAM): Avalia o risco, verifica se o nível de acesso solicitado é adequado e se a justificativa é válida.
Dessa forma, mesmo que o líder aprove sem questionar, o time de segurança atua como um gate de controle que garante a governança. Alguns exemplos de como configurar isso:
- Acesso read-only a ambientes de dev/staging → aprovação apenas do líder (baixo risco).
- Acesso read-only a produção → aprovação do líder + notificação ao time de segurança.
- Acesso write/admin a produção → aprovação do líder + aprovação obrigatória do time de segurança.
- Acesso a bancos de dados com dados sensíveis (PII/financeiros) → aprovação do líder + aprovação do time de segurança + justificativa obrigatória.
O objetivo não é burocratizar o processo, mas garantir que acessos de alto risco passem por quem realmente entende o impacto. Acessos de baixo risco podem continuar fluindo rapidamente, enquanto os sensíveis recebem a atenção que merecem.
Modelo de Segurança
A arquitetura do Apono foi desenhada com foco em segurança:
- Zero trust: O connector não tem acesso direto ao plano de controle além do necessário. A comunicação é criptografada (TLS) e autenticada.
- Credenciais nunca saem do cliente: O Apono Cloud nunca recebe ou armazena credenciais de acesso aos recursos. Toda a interação com AWS, Azure, GCP e bancos de dados é feita pelo connector usando credenciais locais.
- Segregação de responsabilidades: O plano de controle decide quem pode acessar o quê. O connector executa a ação na infraestrutura. Nenhum componente sozinho tem poder total.
- Audit trail imutável: Todos os eventos são registrados de forma imutável no plano de controle, garantindo rastreabilidade completa mesmo que o connector seja comprometido.