"Recomendamos que você nunca conceda nenhum tipo de acesso público ao seu bucket do S3."
Defini uma política pública muito granular (s3:GetObject) para um bucket que uso para hospedar um site. O Route53 suporta explicitamente o alias de um bucket para essa finalidade. Este aviso é apenas redundante ou estou fazendo algo errado?
Sim, se você sabe o que está fazendo ( edit: e todos os outros com acesso a ele também sabem...), você pode ignorar este aviso.
Ele existe porque mesmo grandes organizações que deveriam saber mais colocaram acidentalmente dados privados em buckets públicos. A Amazon também enviará e-mails de alerta se você deixar os buckets públicos, além dos avisos no console.
Se você tem 100% de certeza de que tudo no bucket deve ser público e que ninguém vai acidentalmente colocar dados privados nele - um site HTML estático é um bom exemplo - então, deixe-o público.
A questão da privacidade apresentada na resposta de ceejayoz não é o único problema.
Ler objetos de um bucket do S3 tem um preço. Você será cobrado pela AWS por cada download desse bucket. E se você tem muito tráfego (ou se alguém que quer prejudicar sua empresa começa a baixar arquivos pesadamente durante todo o dia), isso rapidamente se tornará caro.
Se você quiser que os arquivos do seu bucket sejam acessíveis publicamente, crie uma distribuição do Cloudfront que aponte e tenha acesso ao bucket do S3 .
Agora, você pode usar o nome de domínio do Cloudfront Distribution para servir seus arquivos sem conceder nenhum acesso S3 ao público.
Nessa configuração, você paga pelo uso de dados do Cloudfront em vez do S3. E em volumes maiores é muito mais barato.