Tornar público um bucket no Amazon S3 [fechado]

286

Como posso definir um bucket no Amazon S3 para que todos os arquivos sejam publicamente somente leitura por padrão?

Vencedor
fonte
10
Estou irritado por esta questão ter sido sinalizada como fora de tópico. A AWS é essencial para programadores sérios. Eu acrescentaria u pode usar o comando cli sincronia com acl argumento assim:aws s3 sync ./local-folder-name s3://remote-bucket-name --acl=public-read
John Vandivier
Esta resposta a um post semelhante podem ajudar: stackoverflow.com/a/23102551/475882
jaxxbo

Respostas:

462

Você pode definir uma política de bucket conforme detalhado nesta postagem do blog:

http://ariejan.net/2010/12/24/public-readable-amazon-s3-bucket-policy/


De acordo com a sugestão de @ robbyt, crie uma política de bucket com o seguinte JSON:

{
  "Version": "2008-10-17",
  "Statement": [{
    "Sid": "AllowPublicRead",
    "Effect": "Allow",
    "Principal": { "AWS": "*" },
    "Action": ["s3:GetObject"],
    "Resource": ["arn:aws:s3:::bucket/*" ]
  }]
}

Importante : substitua bucketna Resourcelinha pelo nome do seu balde.

Intrications
fonte
Ao usar a CLI oficial da AWS, arn:aws:s3:::buckettambém é necessário adicionar à Resourcematriz. (Portanto, sem o /*.) Espero que isso ajude outras pessoas que estavam lutando com isso como eu.
18715 silvenon
Foi mal. Isso é necessário apenas se você planeja sync, não apenas exibir o bucket.
18715 silvenon
6
Para dar suporte ao acesso anônimo pelo boto do python, além de definir essa política, também tive que conceder Listprivilégios Everyonena seção Propriedades> Permissões do bucket.
22815 Chris Betti
qual é a regra de escrever a versão? Estou usando a data atual 16/11/2017, informa: Erro: A política deve conter uma sequência de versões válida
Timothy.Li
1
@ Timothy.Li você se lembrou de colocá-lo entre aspas? "2017-11-16",
Froggomad