Multi-tenancy permite que um único deployment atenda múltiplos clientes independentes — chamados tenants — com isolamento completo de dados entre eles. Cada tenant opera como se tivesse seu próprio ambiente dedicado, mesmo que a infraestrutura subjacente seja compartilhada. Na Lerian, o multi-tenancy está disponível em deployments SaaS (sempre ativo) e BYOC Multi-Tenant.Documentation Index
Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
Use this file to discover all available pages before exploring further.
Como funciona
O isolamento de tenant é garantido na camada de aplicação por meio do seu token de autenticação.
- Você se autentica via Access Manager e recebe um JWT.
- Esse token inclui um claim
tenantIdque identifica o seu tenant. - Em cada requisição à API, a plataforma resolve o seu tenant a partir do token automaticamente.
- Todas as operações — criar organizações, consultar ledgers, registrar transações — são escopadas ao seu tenant.
O multi-tenancy é transparente no nível da API. Seu código de integração é o mesmo seja em single-tenant ou multi-tenant — a única diferença é que deployments multi-tenant exigem autenticação em toda requisição.
Relação entre tenant e organização
Um tenant não é a mesma coisa que uma organização. Um único tenant pode criar e gerenciar múltiplas organizações — por exemplo, para representar subsidiárias, filiais regionais ou diferentes unidades de negócio.
Isolamento de dados
Os dados de cada tenant são isolados no nível de banco de dados. Cada tenant opera em um banco de dados separado, o que significa:
- Dados de diferentes tenants nunca são armazenados juntos.
- Consultas de um tenant não conseguem alcançar os dados de outro tenant.
- Mesmo que dois tenants criem estruturas organizacionais idênticas, seus dados permanecem completamente separados.
tenantId do seu JWT. Não existe caminho na API para contornar isso.
Operadores BYOC podem escolher entre isolamento por banco de dados ou por schema, dependendo dos requisitos de infraestrutura.
O que isso significa para você
Se você é um cliente SaaS
Nada muda na forma como você usa a API. Autentique, obtenha seu token e faça requisições. A plataforma cuida do isolamento de forma transparente. Você não precisa gerenciar identificadores de tenant nem se preocupar com vazamento de dados entre clientes.Se você é um operador BYOC rodando multi-tenant
Você configura quais tenants existem e como seus bancos de dados são provisionados. Seus clientes se autenticam pelo Access Manager e recebem tokens escopados. A plataforma roteia cada requisição para o banco de dados do tenant correto automaticamente.Se você está rodando single-tenant (BYOC ou desenvolvimento local)
O multi-tenancy é desabilitado por padrão. Sua configuração existente continua funcionando sem alterações. Nenhum claim de tenant no JWT é necessário, e a autenticação pode ser opcional dependendo da sua configuração.Configuração (operadores BYOC)
O multi-tenancy é desabilitado por padrão. Para habilitá-lo, defina
MULTI_TENANT_ENABLED=true no ambiente do ledger (e do CRM, se aplicável). Uma vez habilitado, a plataforma requer um serviço Tenant Manager em execução e autenticação em cada requisição.
Configurações principais
Essas variáveis se aplicam tanto ao Ledger quanto ao componente CRM:| Variável | Descrição | Padrão |
|---|---|---|
MULTI_TENANT_ENABLED | Habilita o modo multi-tenant. Quando false, a plataforma roda em modo single-tenant. | false |
MULTI_TENANT_URL | URL do serviço Tenant Manager. Obrigatório quando o multi-tenant está habilitado. | — |
MULTI_TENANT_SERVICE_API_KEY | API key para autenticar com o Tenant Manager. Obrigatória quando o multi-tenant está habilitado. | — |
MULTI_TENANT_CONNECTIONS_CHECK_INTERVAL_SEC | Frequência (segundos) com que a plataforma revalida as configurações dos tenants contra o Tenant Manager. | — |
MULTI_TENANT_CACHE_TTL_SEC | Por quanto tempo (segundos) a configuração de um tenant é cacheada localmente antes de ser buscada novamente. Use 0 para desabilitar o cache. | 120 |
Circuit breaker do Tenant Manager
Protege contra indisponibilidades do Tenant Manager falhando rápido quando o serviço está indisponível:| Variável | Descrição | Padrão |
|---|---|---|
MULTI_TENANT_CIRCUIT_BREAKER_THRESHOLD | Falhas consecutivas antes de o circuito abrir. | 5 |
MULTI_TENANT_CIRCUIT_BREAKER_TIMEOUT_SEC | Por quanto tempo (segundos) o circuito permanece aberto antes de tentar novamente. | 30 |
Cache no Redis
O modo multi-tenant usa o Redis para cachear as configurações dos tenants entre instâncias:| Variável | Descrição | Padrão |
|---|---|---|
MULTI_TENANT_REDIS_HOST | Hostname do servidor Redis. | — |
MULTI_TENANT_REDIS_PORT | Porta do servidor Redis. | 6379 |
MULTI_TENANT_REDIS_PASSWORD | Senha de autenticação do Redis. | — |
MULTI_TENANT_REDIS_TLS | Habilita TLS para a conexão com o Redis. | false |
Configurações específicas do CRM
Essas variáveis estão disponíveis apenas no componente CRM e controlam o comportamento do pool de conexões para conexões de banco de dados multi-tenant:| Variável | Descrição | Padrão |
|---|---|---|
MULTI_TENANT_TIMEOUT | Timeout (segundos) do cliente HTTP para as requisições ao Tenant Manager. | 30 |
MULTI_TENANT_MAX_TENANT_POOLS | Número máximo de pools de conexão de banco de dados concorrentes (um por tenant ativo). | 100 |
MULTI_TENANT_IDLE_TIMEOUT_SEC | Por quanto tempo (segundos) antes de um pool de conexões de tenant inativo ser removido. | 300 |
MULTI_TENANT_ENABLED=true requer PLUGIN_AUTH_ENABLED=true. A autenticação precisa estar ativa para que o isolamento de tenants funcione — a plataforma resolve os tenants a partir do claim do JWT.Páginas relacionadas
Modelos de deployment
Entenda as diferenças entre SaaS, BYOC Single-Tenant e BYOC Multi-Tenant.
Segurança
Saiba mais sobre as garantias de isolamento de tenant e o modelo de responsabilidade compartilhada.
Access Manager
Entenda como a autenticação e a resolução de tenant baseada em JWT funcionam.
Organizações
Saiba como as organizações são estruturadas dentro de um tenant.

