Voltar ao blog
Diário de Arquitetura
IAM
Arquitetura
Gatekeeper
Multi-tenant

Construindo um IAM do zero: lições de arquitetura

Conheça decisões técnicas, desafios e aprendizados envolvidos na construção de uma plataforma de Identity and Access Management.

12 min de leitura

Construir uma plataforma IAM não é implementar login — é desenhar contratos entre identidade, autorização, auditoria e experiência do desenvolvedor integrador. No Gatekeeper ID, aprendemos isso na prática: cada atalho em tenant isolation ou validação de token vira incidente ou ticket de suporte meses depois.

Decisão 1: não reinventar OAuth2

Keycloak (e similares) como Authorization Server por tenant nos deu OIDC correto, JWKS, refresh e social brokers sem escrever RFCs. Nosso diferencial ficou na camada acima: API de integração, Console, SDK e automação de onboarding — não no parser de JWT.

Decisão 2: tenant no centro

Todo request carrega contexto de tenant. Realms isolados, API keys por cliente, headers padronizados. Testes de isolamento são suite obrigatória — não checklist opcional.

Decisão 3: DX do integrador

Desenvolvedores Java não querem configurar 40 telas de admin. Querem Maven dependency, YAML e annotation. Por isso a SDK Spring Boot e OpenAPI pública são cidadãos de primeira classe — o Console serve ops; a docs serve quem codifica.

Desafios que apareceram

Social Login multi-tenant

Redirect URIs, clients OAuth e secrets por tenant — automação no backend, não copy-paste manual.

RBAC evolutivo

Clients pedem permissions finas depois do MVP. Modelamos roles → permissions cedo para não quebrar tokens em produção.

Observabilidade

Login falhou — foi senha, rate limit, tenant errado ou IdP externo? Correlation ID do gateway até o realm Keycloak.

Erros que evitaríamos hoje

  • Subestimar tempo de documentação e exemplos runnable
  • Permissões implícitas no token sem versionamento
  • Console admin acoplado demais ao Keycloak UI nativo

O que o Gatekeeper entrega hoje

  • Login, registro, refresh, social Google
  • Console para users, groups, roles, permissions
  • SDK Java com @GatekeeperProtected
  • API HMAC para integração server-side
  • Multi-tenant desde o primeiro cliente

Conclusão

IAM é produto de plataforma. Se você não vende IAM como negócio, comprar ou usar uma solução opinionada quase sempre vence build interno. Se vende, invista em tenant, DX e auditoria antes de features de marketing.

Comparativo: Keycloak vs Gatekeeper. Fundamentos: por que não desenvolver login do zero.

Artigos relacionados