Por que a AWS recomenda contra buckets públicos do S3?

52

"É altamente recomendável que você nunca conceda nenhum tipo de acesso público ao seu bucket S3".

Eu defini uma política pública muito granular (s3: GetObject) para um bucket que eu uso para hospedar um site. O Route53 suporta explicitamente o alias de um bucket para esse fim. Esse aviso é apenas redundante ou estou fazendo algo errado?

Andrew Johnson
fonte
11
@MichaelHampton Isso mostrará isso no console S3, sem muito contexto adicional. businessinsights.bitdefender.com/...
ceejayoz
Relacionado - a AWS pode ver em um bucket privado ou precisa ser público para que a AWS acesse arquivos dentro dele?
Criggie
@Criggie AWS sendo sua equipe de suporte? Ou alguma outra coisa?
precisa
@ceejayoz sim, a equipe de suporte da AWS.
Criggie
Eu imagino que em um certo nível de suporte eles possam bisbilhotar por dentro, embora o S3 suporte a criptografia com uma chave que não seja da Amazon. Seus processos devem garantir que isso não seja feito sem permissão explícita, eu acho.
ceejayoz

Respostas:

67

Sim, se você souber o que está fazendo ( editar: e todos os outros com acesso a ele também ...), poderá ignorar este aviso.

Existe porque até grandes organizações que deveriam saber melhor colocaram acidentalmente dados privados em depósitos públicos. A Amazon também enviará e-mails heads-up se você deixar os baldes públicos, além dos avisos no console.

As informações de eleitores e militares de Accenture, Verizon, Viacom, Illinois foram encontradas inadvertidamente deixadas em aberto para todos on-line devido ao fato de os departamentos de TI configurarem incorretamente seus silos S3.

Se você está absolutamente 100% certo de que tudo no balde deve ser público e que ninguém colocará dados privados acidentalmente nele - um site HTML estático é um bom exemplo -, então, deixe-o público.

ceejayoz
fonte
2
Na prática, você praticamente nunca está 100% certo, portanto, a melhor prática é não.
Shadur
Foi há apenas alguns meses que o FBI ou a CIA deixaram dados privados que deveriam estar seguros em um S3 público. Vou ver se consigo encontrar um link para o artigo de notícias.
Reactgular
Veja aqui: gizmodo.com/…
Reactgular
Bom pai, você pode me orientar como especificamente permitir que apenas meu site e aplicativo Android possam acessar os objetos do meu balde? Basicamente, não quero que as pessoas raspem o conteúdo do meu balde. Mas meu site e aplicativo devem poder carregá-los.
bad_keypoints
35

A questão da privacidade apresentada na resposta de ceejayoz não é o único problema.
Ler objetos de um bucket S3 tem um preço. Você será cobrado pela AWS por cada download deste depósito. E se você tem muito tráfego (ou se alguém que quer prejudicar sua empresa começa a baixar muito arquivos o dia todo), ele rapidamente se torna caro.

Se você deseja que os arquivos do seu bucket sejam acessíveis ao público, crie uma distribuição do Cloudfront que aponte para e tenha acesso concedido ao bucket do S3 .

Agora, você pode usar o nome de domínio do Cloudfront Distribution para servir seus arquivos sem conceder acesso ao S3 ao público.
Nesta configuração, você paga pelo uso de dados do Cloudfront em vez dos S3. E em volumes mais altos é muito mais barato.

Quentin Hayot
fonte
2
O CloudFlare também funciona e provavelmente ainda será mais barato.
chrylis -on strike-