22/03/2025

Ao desenvolver aplicações na nuvem, especialmente no ecossistema da Microsoft, é comum nos depararmos com o conceito de aplicações multi-tenant. Trata-se de uma arquitetura que permite que múltiplos diretórios (tenants) do Microsoft Entra ID (antigo Azure AD) utilizem a mesma aplicação registrada.
Neste artigo, explico de forma objetiva como esse modelo funciona, como ele é representado em nível de arquitetura, e o que é necessário configurar para habilitar esse comportamento.
No contexto do Microsoft Entra ID, um tenant representa uma instância isolada de diretório. É um contêiner que gerencia usuários, grupos, permissões, aplicações registradas e políticas de acesso.
Exemplos de tenants:
contoso.com – Tenant da empresa que desenvolveu a aplicação.facebook.com – Outro tenant, de uma organização que deseja usar essa aplicação.Uma aplicação multi-tenant é uma aplicação registrada em um tenant (por exemplo, contoso.com) que pode ser usada por usuários de outros tenants, como facebook.com, desde que autorizem o uso.
Veja como funciona, baseado no diagrama apresentado:
ClientId e ClientSecret ou certificado.facebook.com) acessa a aplicação.facebook.com.DOOM <code>).Um token JWT emitido pelo Entra ID inclui informações relevantes chamadas de claims, como:
iss (issuer): quem emitiu o token (tenant de origem).aud (audience): para qual aplicação o token foi emitido.name, email, preferred_username: informações do usuário.roles: permissões atribuídas ao usuário para aquela aplicação.A aplicação consome essas claims para tomar decisões de autorização e controle de acesso.
Para tornar uma aplicação multi-tenant:
tid (tenant ID) no token JWT para saber de qual diretório o usuário veio.| Elemento | Descrição |
|---|---|
| Tenant | Diretório isolado no Microsoft Entra ID |
| App Registration | Registro da aplicação no Azure AD |
| Service Principal | Identidade da aplicação no diretório (um por tenant) |
| Claims | Informações no token JWT sobre o usuário/autenticação |
| Multi-Tenant | Aplicação que pode ser usada por usuários de diferentes tenants |
O suporte a múltiplos tenants é um recurso fundamental para aplicações que visam várias organizações como clientes. No Azure, isso é feito de forma estruturada e segura usando o modelo de App Registration + Service Principal + Tokens com Claims.
Ignorar esse modelo pode resultar em uma arquitetura limitada, onde a aplicação só atende usuários do próprio tenant — o que mata a escalabilidade e a flexibilidade necessárias em soluções SaaS modernas.
Ambas as organizações, Contoso e Facebook, destacam a importância de um gerenciamento robusto de credenciais e a necessidade de práticas de segurança contínuas. Enquanto a Contoso parece estar em um estágio de avaliação e correção de problemas, o Facebook demonstra uma abordagem mais proativa na minimização de riscos. Esses exemplos ilustram a complexidade e a necessidade de estratégias eficazes de segurança da informação no ambiente corporativo atual.