AWS Builder Center
Amazon S3: O erro clássico de configuração que expõe dados na nuvem (e como evitar)

Amazon S3: O erro clássico de configuração que expõe dados na nuvem (e como evitar)

Aprende por que abrir um bucket S3 para a internet é um risco de segurança e descobre como utilizar Origin Access Control (OAC) e Presigned URLs para manter os teus ficheiros privados e seguros.

Student Cybersecurity | IA | Machine Learning
Imagina que estás a desenvolver uma aplicação onde os utilizadores podem carregar fotos de perfil ou documentos. O teu servidor recebe o ficheiro e envia-o para o Amazon S3 (Simple Storage Service). Quando vais testar a aplicação no frontend, deparas-te com o famoso erro 403 Access Denied ao tentar exibir a imagem no navegador.
A tentação imediata de muitos desenvolvedores — e até de algumas empresas — é ir à consola da AWS, desativar o botão Block Public Access e aplicar uma política de bucket (Bucket Policy) que permite leitura para todo o mundo ("Principal": "*").
Problema resolvido, certo? Errado. Acabaste de cometer um dos erros de configuração mais comuns e perigosos da computação em nuvem.
O Amazon S3 é o serviço de armazenamento de objetos da AWS: incrivelmente escalável, durável e barato. Contudo, por ser tão simples de integrar, é também o serviço onde ocorrem alguns dos maiores vazamentos de dados por falha de configuração.

⚠️ O Risco do "Bucket Público"

Ao abrir o teu bucket para a internet para resolver um problema pontual de exibição de imagens:
  • Vazamento de Dados Sensíveis: Qualquer pessoa ou bot que adivinhe a URL de um ficheiro (ou liste o conteúdo do bucket) pode aceder a documentos privados de outros utilizadores.
  • Aumento de Custos (Data Transfer Out): Scrapers e bots automatizados na internet varrem constantemente faixas de IP da AWS à procura de buckets abertos. Se encontrarem o teu, podem fazer milhões de downloads automatizados, gerando um custo inesperado de transferência de dados.

💡 A Solução do Mundo Real: Como fazer do jeito certo?

Engenheiros de software não tornam buckets S3 públicos. Em vez disso, utilizam dois padrões de arquitetura fundamentais:
  1. CloudFront com OAC (Origin Access Control): O teu bucket S3 permanece 100% privado. Colocas a CDN da AWS (Amazon CloudFront) à frente do bucket e autorizas apenas o CloudFront a ler os ficheiros. O utilizador acede às imagens através da CDN, que ainda aproveita o caching global para carregar o site muito mais rápido.
  2. URLs Pré-assinadas (Presigned URLs): Se precisares que um utilizador faça o upload ou download de um ficheiro privado (como um PDF confidencial), o teu backend gera uma URL temporária e assinada digitalmente com validade curta (ex: 5 minutos). O utilizador acede a esse link e, assim que o tempo expira, o acesso fecha automaticamente sem alterar as permissões do bucket.

🌐 Fontes das Informações

  1. Amazon S3 Block Public Access:
  2. Restringir acesso ao S3 usando Origin Access Control (OAC):
  3. Geração de URLs Pré-assinadas no S3:
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article