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

tenant

Usando Armazenamentos de Dados na AWS

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

multi-tenancy

Usando Armazenamentos de Dados na AWS

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

chave

Usando Armazenamentos de Dados na AWS

Tabelas separadas por tenant

  • Design
    • Tabela dedicada por tenant
  • Vantagens
    • Melhor isolamento, conformidade mais fácil
  • Desvantagens
    • Gestão da complexidade, limites de tabela

separado

Usando Armazenamentos de Dados na AWS

Bancos separados por tenant

  • Design
    • Banco de dados dedicado por tenant
  • Vantagens
    • Isolamento total, configurações personalizadas
  • Desvantagens
    • Maior custo, sobrecarga operacional

banco de dados

Usando Armazenamentos de Dados na AWS

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

política-de-bloqueio

Usando Armazenamentos de Dados na AWS

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

ataque-em-camadas

Usando Armazenamentos de Dados na AWS

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

testes

Usando Armazenamentos de Dados na AWS

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

curso_concluído

Usando Armazenamentos de Dados na AWS

Vamos praticar!

Usando Armazenamentos de Dados na AWS

Preparing Video For Download...