Como testar o isolamento de tenants nas exportações de dados SaaS?
O isolamento de tenants não se limita a filtrar o ecrã por cliente. A consulta de exportação, a tarefa em segundo plano, o armazenamento do ficheiro e a ligação de descarga devem aplicar as…
O que contém este artigo?
Resposta curta
O isolamento de tenants não se limita a filtrar o ecrã por cliente. A consulta de exportação, a tarefa em segundo plano, o armazenamento do ficheiro e a ligação de descarga devem aplicar as mesmas autorizações do cliente em causa. Os testes devem também confirmar que o identificador do relatório de um cliente não permite aceder ao ficheiro de outro.
O isolamento deve continuar na fila de relatórios
Não confie no parâmetro de tenant escolhido pelo utilizador como identidade. O servidor deve verificar os relatórios que ele pode criar naquele espaço. Tarefas em fila precisam de identidade do tenant, âmbito e contexto de autorização; os workers devem consultar dentro dessa fronteira. Autorizar a criação não justifica uma saída pública.
Um nome de ficheiro ou um URL difícil de adivinhar não substitui o controlo de acesso. Verifique novamente as permissões atuais no momento da descarga. Para ligações temporárias, defina os riscos de partilha, o prazo de validade e a necessidade de revogação. Os testes de aceitação devem incluir tentativas de descarga por ligações antigas de utilizadores cujas permissões foram retiradas.
Tornar o âmbito do relatório verificável visualmente
Mostre período, espaço do cliente e hora de criação no ficheiro. Estes elementos ajudam verificações operacionais, não são mecanismos de segurança. Uma chave de cache sem tenant pode entregar o relatório ao cliente errado. Parâmetros iguais em dois tenants exigem um teste específico.
O acesso temporário do suporte também deve refletir-se no sistema. Registe explicitamente delegações e exceções; a etiqueta genérica “admin” não deve permitir por defeito downloads irrestritos de todos os clientes. A abordagem OWASP de autorização de objetos pode orientar verificações de identificadores de relatórios e ficheiros.
Testes negativos como requisito de entrega
Crie registos de exemplo com marcas distintas em dois tenants de teste. Faça o primeiro utilizador tentar aceder com o identificador de relatório, o URL do ficheiro e os parâmetros de filtragem do segundo. Confirme que o contexto do tenant é preservado na tarefa em fila e que não há colisões entre as chaves de cache. O resultado não deve conter a marca do outro tenant. Repita estes testes para cada tipo de relatório e função.
Lista de verificação da implementação
- A identidade do tenant é verificada no servidor?
- O worker respeita a mesma fronteira de dados?
- O download é autorizado separadamente?
- A cache está separada por cliente?
- Foram realizados testes negativos com o identificador de outro tenant?
Perguntas frequentes
Usar UUID garante isolamento?
Pode dificultar adivinhar identificadores; não substitui verificações de autorização.
E se o acesso for revogado durante a geração?
Verifique o acesso atual no download; a antiga permissão de criação não deve dar direitos ilimitados.
Âmbito e limites
Estes testes cobrem um fluxo de exportação específico. Verifique separadamente isolamento em todas as APIs, ficheiros e operações de fundo.
Fontes e atualidade
Verificação das fontes: 7 de outubro de 2026. As versões dos documentos associados e as condições dos fornecedores podem mudar. Consulte a versão atual da fonte relevante antes da implementação.
