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.
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.