Padrões de acesso multi-tenant e políticas IAM
Usando Armazenamentos de Dados na AWS
Dunieski Otano
AWS Solutions Architect
A falha de segurança multi-tenant
App SaaS atende 1.000 empresas
Bug no código permite acesso entre tenants
Funcionário da Empresa A vê dados da Empresa B
Resultado: perda de clientes, processos, dano à reputação
Entendendo multi-tenancy
O que é multi-tenancy?
Vários clientes compartilham a infraestrutura
Benefícios
Custo menor, manutenção mais fácil
Desafio
Garantir isolamento completo dos dados
Partition key por tenant
Design
tenantId como partition key
Incluir tenantId em todo item
Vantagens
Econômico, escala para milhares
Requisitos
Controles de acesso rigorosos, políticas IAM
Tabelas separadas por tenant
Design
Tabela dedicada por tenant
Vantagens
Melhor isolamento, conformidade mais fácil
Desvantagens
Gestão da complexidade, limites de tabela
Bancos separados por tenant
Design
Banco de dados dedicado por tenant
Vantagens
Isolamento total, configurações personalizadas
Desvantagens
Maior custo, sobrecarga operacional
Chaves de condição IAM para isolar tenants
dynamodb:LeadingKeys
Restringe acesso à partition key
Política de exemplo
"Permitir se tenantId = tenant-123"
Aplicação
A AWS aplica no nível da API
Implementando defesa em profundidade
Camada 1: Aplicação
Verificar tenantId no código
Camada 2: Política IAM
Chaves de condição reforçam o isolamento
Camada 3: Design do BD
Separação física pela partition key
Testes e validação
Testar acesso entre tenants
Tentar ler dados de outro tenant
Deve falhar com AccessDeniedException
Auditoria
CloudTrail registra todas as tentativas
Revisões regulares
Rever políticas IAM e padrões de acesso
Parabéns!
Armazenamentos AWS
: DynamoDB, S3, ElastiCache, OpenSearch
Projetar e otimizar
: Design de tabelas, otimização de storage
Proteger dados
: Criptografia, gestão de segredos, isolamento multi-tenant
Vamos praticar!
Usando Armazenamentos de Dados na AWS
Preparing Video For Download...