Autenticação e Gestão de Identidade

Um subdomínio genérico e crítico, mas não diferencial

Autenticação e autorização são capacidades essenciais em qualquer plataforma digital. No entanto, sob a ótica de Domain-Driven Design, tratam-se de um subdomínio genérico: fundamentais para operação, mas não responsáveis por diferenciação competitiva.

A implicação prática é direta:

  • Não vale a pena reinventar.
  • Deve-se priorizar soluções maduras, testadas e amplamente adotadas.
  • O foco interno deve permanecer no core do negócio.

Abordagem Recomendada

A estratégia mais eficiente para subdomínios genéricos é:

  • Adotar uma solução pronta
  • Evitar lock-in desnecessário
  • Garantir flexibilidade arquitetural

Nesse contexto, uma das opções mais robustas disponíveis é o Keycloak.


Keycloak como Plataforma de IAM

O Keycloak é uma solução open source de Identity and Access Management (IAM) que permite centralizar autenticação, autorização e gestão de usuários.

Capacidades principais

  • Single Sign-On (SSO) e Single Sign-Out
  • Suporte a OpenID Connect, OAuth 2.0 e SAML 2.0
  • Federação com LDAP e Active Directory
  • Controle de acesso baseado em papéis (RBAC) e políticas
  • Autenticação multifator (2FA)
  • Console administrativo centralizado
  • Customização de temas e fluxos de autenticação
  • Escalabilidade via clustering

Estratégia de Segmentação com Realms

Uma prática recomendada ao utilizar Keycloak é a separação por Realms, isolando contextos de autenticação com diferentes requisitos de segurança.

Realm Externo

Destinado a:

  • Aplicações públicas
  • Dashboards de lojas
  • Usuários finais

Características:

  • Políticas de senha equilibradas (usabilidade vs segurança)
  • Integração com provedores externos (ex: social login)
  • Maior tolerância a escala e volume

Realm Interno (Back-office)

Destinado a:

  • Equipes internas
  • Operações e administração
  • Sistemas críticos

Características:

  • Políticas de senha mais rigorosas
  • Obrigatoriedade de 2FA
  • Controle de acesso mais restritivo
  • Auditoria mais detalhada

Restrição de Acesso ao Back-office

O Keycloak permite reforçar a segurança do ambiente interno com restrições de rede:

  • Acesso ao Realm interno limitado a:
    • Rede corporativa
    • VPN
  • Possibilidade de integração com proxies e gateways de segurança
  • Redução significativa da superfície de ataque

Trade-offs

Vantagens

  • Solução madura e amplamente adotada
  • Independência de fornecedores (open source)
  • Alta flexibilidade e extensibilidade
  • Aderência a padrões de mercado

Desvantagens

  • Curva inicial de configuração elevada
  • Complexidade operacional em ambientes maiores
  • Requer governança clara de identidade

Posicionamento Arquitetural

  • Keycloak deve ser tratado como infraestrutura compartilhada
  • Não deve conter lógica de negócio
  • Deve ser integrado via padrões (OIDC/OAuth2)
  • Serviços devem permanecer desacoplados da implementação específica

Resumo

Para autenticação e autorização:

  • Trate como subdomínio genérico
  • Evite desenvolvimento interno
  • Prefira soluções open source maduras

O Keycloak oferece um equilíbrio consistente entre controle, flexibilidade e independência desde que acompanhado de uma estratégia clara de segmentação e governança.

Referência

KEYCLOAK TEAM. Keycloak: Open Source Identity and Access Management. Disponível em: https://www.keycloak.org/


© BP STRAT. Todos os direitos reservados. readme