Requisitos
Antes de habilitar o modo multi-tenant:
- Defina
MULTI_TENANT_ENABLED=trueePLUGIN_AUTH_ENABLED=true. O Matcher rejeita a inicialização multi-tenant sem a aplicação da autorização. - Use
AUTH_PROVIDER=plugin-auth. - Defina
MULTI_TENANT_URLcomo uma URL HTTPS apenas com a origem em staging e produção, mais umaMULTI_TENANT_SERVICE_API_KEYnão vazia.MULTI_TENANT_ENVIRONMENTé opcional e recai emENV_NAMEquando não está definida. Ohttpem texto puro é permitido no desenvolvimento local. Nos outros ambientes ele também exige umMULTI_TENANT_ALLOW_INSECURE_HTTP=trueexplícito. - Defina
ENVIRONMENT_NAME(ouENV_NAME) comostagingouproduction. - Forneça um claim
tenant_idoutenantIdválido nas requisições autenticadas porplugin-auth. - Mantenha o banco do tenant padrão disponível no pool raiz para as cargas do tenant padrão e as ferramentas operacionais.
SET search_path do PostgreSQL. As credenciais específicas do tenant, as fronteiras de rede e a configuração do Tenant Manager continuam fazendo parte da fronteira de isolamento.
Identidade do tenant
Com
AUTH_PROVIDER=plugin-auth no modo multi-tenant, o Matcher deriva a identidade do tenant de um claim JWT tenant_id ou tenantId válido. Ele não aceita um seletor de tenant controlado pelo chamador vindo do corpo da requisição, de parâmetros de consulta ou de headers arbitrários. Os deploys single-tenant e com autenticação desabilitada usam o tenant padrão configurado.
Controles do pool de conexões
Nos limites configurados, o gerenciador de pools de tenant do Matcher remove o pool ocioso usado há mais tempo quando resolver um novo tenant passaria de
MULTI_TENANT_MAX_TENANT_POOLS. O tenant removido é resolvido de novo sob demanda. Valide o comportamento de migração e de falha contra a integração em produção do Tenant Manager.
Infraestrutura compartilhada
O Matcher delega a resolução da infraestrutura ciente de tenant ao serviço de plataforma de multi-tenancy. Não suponha um nome fixo de virtual host do RabbitMQ, uma convenção de header de mensagem, um formato de chave do Redis, um TTL de cache ou um prefixo S3 só a partir do Matcher. Essas convenções são específicas de cada componente e de cada deploy. Revise a documentação de infraestrutura e de plataforma correspondente antes de construir uma integração em torno delas.
Como habilitar o modo
- Provisione e verifique o tenant padrão e os tenants que o Matcher deve atender.
- Configure o provedor de autenticação, o Tenant Manager, a conectividade com o PostgreSQL e as variáveis de ambiente de bootstrap.
- Suba o Matcher e confirme os health checks e uma requisição autenticada com escopo de tenant.
- Observe a contagem de pools de tenant e o uso de conexões de banco sob a carga esperada.
- Faça o rollout do deploy apenas depois de exercitar o comportamento de isolamento e de falha no ambiente de destino.
Próximos passos
Configuração de runtime
Revise os valores que o Matcher pode mudar pelo Systemplane.
Segurança
Revise a autenticação, o isolamento de tenant e os controles de TLS das dependências.

