Voltar ao blog
Arquitetura
Multi-tenant
IAM
SaaS
Arquitetura

Multi Tenant Authentication: como autenticar múltiplos clientes com segurança

Entenda como funciona autenticação multi tenant, seus desafios e boas práticas para separar clientes, usuários, permissões e configurações.

11 min de leitura

Todo SaaS B2B eventualmente precisa responder: como garantir que o usuário da Empresa A nunca veja dados da Empresa B — incluindo tokens, sessões, permissões e configurações de login? Multi-tenant authentication não é só colocar um tenant_id na URL. É isolar identidade de ponta a ponta.

Modelos comuns de isolamento

Shared database, shared schema

Um único banco; cada linha carrega tenant_id. Mais econômico, exige disciplina rigorosa em queries e tokens — um bug vira vazamento cross-tenant.

Realm / tenant por cliente (IAM)

Cada cliente tem realm ou namespace próprio no provedor de identidade. Usuários, clients OAuth e políticas ficam separados. Keycloak e Gatekeeper ID seguem essa linha.

Instância dedicada

Clientes enterprise com stack isolada. Máximo isolamento, custo operacional alto — raro no início.

Desafios que aparecem cedo

  • Descobrir o tenant no login (subdomínio, header, email domain?)
  • Propagar tenant_id em JWT, logs e traces
  • Social Login com redirect_uri e client OAuth por tenant
  • RBAC diferente por cliente no mesmo codebase
  • Migrations e backups sem misturar dados

Boas práticas

  • Inclua tenant_id (ou claim equivalente) no token assinado — nunca confie só no header HTTP vindo do client
  • Valide tenant no gateway e novamente no serviço (defense in depth)
  • Console admin separado por tenant ou com escopo explícito
  • Auditoria com tenant_id em todo evento de login e mudança de permissão
  • Testes automatizados de isolamento — não só testes funcionais

Erros comuns

  • Um único client OAuth para todos os tenants
  • Cache de JWKS ou sessão sem chave por tenant
  • Super-admin sem trilha de auditoria
  • Permitir troca de tenant_id via request body após login

Como o Gatekeeper ID ajuda

Cada tenant Gatekeeper recebe realm Keycloak isolado, API keys próprias e Console para gerir usuários e permissions. A SDK envia X-GK-Tenant-ID e valida tokens no contexto correto — você integra uma vez, onboarda clientes pelo Console.

Compare abordagens em Keycloak vs Gatekeeper.

Conclusão

Multi-tenant authentication é requisito de arquitetura, não feature de login. Quanto antes você isola identidade por cliente, menor o custo de refatorar quando o primeiro enterprise chegar.

Artigos relacionados